要求步骤: 1.读入彩色图像,并显示; 2.将彩色图像灰度化,并显示; 3将灰度图像,用Canny边缘算子得到图像边缘,并显示。
代码语言:javascript复制import cv2
from matplotlib import pyplot as plt
img1=cv2.imread(r'C:UsershpPicturesCamera RollQQ.jpg') #原图为彩色图,可将第二个参数变为0,为灰度图
cv2.namedWindow("img",cv2.WINDOW_NORMAL)#命名窗口,并且大小可调节
cv2.resizeWindow("img", 400, 480) #设置窗口大小
cv2.imshow("img",img1)
cv2.waitKey(0) #该函数等待任何键盘事件指定的毫秒。如果您在这段时间内按下任何键,程序将继续运行。如果0被传递,它将无限期地等待一次敲击键。
cv2.destroyAllWindows()
img2=cv2.imread(r'C:UsershpPicturesCamera RollQQ.jpg') #原图为彩色图,可将第二个参数变为0,为灰度图
edges = cv2.Canny(img2,100,200)
plt.subplot(121),plt.imshow(img2,cmap = 'gray')
plt.title('yuan tu'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(edges,cmap = 'gray')
plt.title('Canny bianyuanjiance'), plt.xticks([]), plt.yticks([])
plt.show()
#群970353786
结果: