问题遇到的现象和发生背景
在讲解Sobel算子的原理时讲到找出边界的时候最终获得边界的二值图像,用灰度处理后不就造成有多数地方不是0么?
问题相关代码,请勿粘贴截图
import cv2
import numpy as np
erzhi=cv2.imread("abba.png")
Gerzhi = cv2.cvtColor(erzhi, cv2.COLOR_BGR2GRAY) #此处的“cv2.COLOR_BGR2GRAY”不是表示以灰度图像读取么?
ax=cv2.Sobel(Gerzhi,cv2.CV_64F,1,0)
ay=cv2.Sobel(Gerzhi,cv2.CV_64F,0,1)
ax=cv2.convertScaleAbs(ax)
ay=cv2.convertScaleAbs(ay)
erzhi1=cv2.addWeighted(ax,0.5,ay,0.5,0)
cv2.imshow("EZ",erzhi)
cv2.imshow("EZax",ax)
cv2.imshow("EZay",ay)
cv2.imshow("EZ1",erzhi1)
cv2.waitKey()
cv2.destroyAllWindows()
运行结果及报错内容
原图和边界图