昨天跟大家分享了马赛克和毛玻璃效果,今天想跟大家聊一聊图片融合和边缘检测。今天在csdn读了几篇open cv的文章,感觉好多知识点讲的都不是太明白。有时间就其中的几个点在跟大家讨论吧。
图片融合
图片融合就是将两张大小一样的图片各个像素点融合在一起,效果很杂乱,个人感觉有点类似于ps中的图层重叠。公式如下: new_picture = Img_0* A + Img_1*(1-A)
具体的代码实现:
Img_1 = cv2.imread("test.jpg")
Img_0 = cv2.imread("flower_1.jpg")
cv2.imshow("flower1",Img_0)
Imginfo = Img_0.shape
height = Imginfo[0]
width = Imginfo[1]
resH = int(height)
resW = int(width)
img0RES = Img_0[0:resH,0:resW]
img1RES = Img_1[0:resH,0:resW]
dst_1 = np.zeros((resH,resW,3),np.uint8)
dst_1= cv2.addWeighted(img0RES,0.5,img1RES,0.5,0)
cv2.imshow("dst",dst_1)
cv2.imshow("img",Img_1)
cv2.waitKey(0)
个人感觉雾蒙蒙,蛮好看的(偷笑ing)
边缘检测
小编使用的是open cv中的canny函数来实现的,代码也比较简单,当然也可以遍历每个像素点,设置阈值来实现。
1.将图片转换为灰度图片 2、装载图片,设置门限阈值
gray = cv2.cvtColor(Img,cv2.COLOR_BGR2GRAY)
imgGS = cv2.GaussianBlur(gray,(3,3),0)
dat = cv2.Canny(Img,50,50)
假期马上就要结束了,感觉这个寒假除了长肉,没什么收获 [苦涩] !从47飙到了52,嘤嘤嘤,,,,,
返校减肥吧