天天看點

使用opencv讀入并顯示一幅彩色圖像,灰階化并顯示,用canny算子得到圖像邊緣并顯示

要求步驟:

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      

結果:

使用opencv讀入并顯示一幅彩色圖像,灰階化并顯示,用canny算子得到圖像邊緣并顯示
使用opencv讀入并顯示一幅彩色圖像,灰階化并顯示,用canny算子得到圖像邊緣并顯示

繼續閱讀