要求步驟:
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
結果:
