其他分享
首页 > 其他分享> > OpenCV给图像添加标尺

OpenCV给图像添加标尺

作者:互联网

我朋友给了我一些图片,想让我帮他加上图例。最开始我的思路是先对其中的一个有标尺的图像做阈值处理,清楚掉图像其它信息,只留下标尺。并以这个图像做模板,把它添加到其它没有标尺的图像中。我的操作如下:

import cv2

mask = cv2.imread('maskk.jpg')#读入掩码图像
image = cv2.imread('process/Z0-1 400-4.jpg')

image = cv2.add(image, mask)

cv2.imwrite('Z0-1 400-4.jpg',image) #保存图像

其中maskk掩码图像是通过画图软件,去掉标尺以外的图像信息,也可以使用语句生成掩码图像:mask[mask <220] = 0 (将maskk中像素值低于220的所有像素重新赋值为0,这个有点类似于阈值分割)。需要说明的一点是:

image = cv2.add(image, mask)

该语句将图像image与掩码图像像素值对应相加,因为标尺是白色,背景是黑色,这样相加后mask图像中的标尺会出现在image中,而图像中其它位置信息不会受到干扰。

在Python中还有一种图像叠加方式:image = image + mask。这种形式相加时如果对应像素值之和大于255则会出现溢出现象,如像素值之和为 260,最终得到的像素值为4,其运算过程为260 % 256 = 4。

 

     掩码图像           输入图像           输出图像_示例

标签:cv2,image,mask,标尺,OpenCV,添加,图像,掩码
来源: https://www.cnblogs.com/kcy11993/p/13273022.html