要求步骤:
1.读入彩色图像,并显示;
2.将彩色图像灰度化,并显示;
3将灰度图像,用Canny边缘算子得到图像边缘,并显示。
import cv2 from matplotlib import pyplot as plt img1=cv2.imread(r'C:\Users\hp\Pictures\Camera Roll\QQ.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:\Users\hp\Pictures\Camera Roll\QQ.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
结果: