2019年4月9日 星期二

1051424 作業2


一、 題目
 撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp .jpg 圖像格式都可) ,利用 Sobel Operators 偵測圖像邊緣,並以邊緣偵測為基礎(如彩色圖像針可先將圖片 由 RGB 轉換至 HIS YUV, YCbCr 等色彩空間,只需對亮度 Channel I Y 處理,再 轉回 RGB 即可),設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到 的點,結合成線條方式呈現更佳!)
二、 環境
1.     Windows 10
2.     Python 3.7.1
3.     Opencv 3.4.5
三、 實作
1.    輸入當前路徑下指定圖片的名稱 (ex. Input.jpg)
2.    使用cv2.imread() 讀取圖片,其名為s1051424_img.jpg並使用cv2.imshow()顯示原圖
3.    使用cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 專為灰階圖並使用cv2.imshow()秀出此圖
4.         cv2.Sobel(image,cv2.CV_16S,1,0)cv2.Sobel(image,cv2.CV_16S,0,1)轉出圖片在x軸和y軸的16位元數據以防因有負數導致建立圖像时長度不够
5.         cv2.convertScaleAbs(sobelX)取絕對值轉回uint8形式顯示圖片
6.         使用cv2.imshow()秀出結果圖並使用cv2.imwrite() 存取改變後的圖片,命名為s1051424_output.jpg
四、 執行
1.      終端機到檔案所在路徑
2.      python s1051424_hw2.py
3.      輸入當前路徑下指定圖片的名稱 (ex. Input.jpg)
4.      結果
五、 結果

Origin

Grayscale

Edge Detection and Contour Drawing

沒有留言:

張貼留言