顯示具有 s1071415 標籤的文章。 顯示所有文章
顯示具有 s1071415 標籤的文章。 顯示所有文章

2021年5月16日 星期日

s1071415 影像處理作業4

作業說明 :

    利用你所學的Color顏色的知識與技術,撰寫一個城市來偵測一張輸入照片中的皮膚區域並將其標示出。

開發環境 :

    Window10

    Visual Studio Code

    Opencv-python 4.5.1.48

實作方式 :

    1.將圖片讀入並轉呈HSV

    2.將範圍 0  <= H <=15

                  15 <= S <= 170

       的值轉為255 其餘轉為0 並將此做為mask

    3.以bitwise_and將原圖與mask疊加顯示出膚色區塊

結果展示 :

原圖


HSV結果

最後結果


2021年5月1日 星期六

s1071415 影像處理作業3

作業說明:

    請撰寫一個程式,讀取一張256色灰階圖像。

(1) 計算輸入圖的離散傅立葉轉換結果,
     並將頻譜大小與相位角度各以灰階
256色圖像方式呈現出。

(2) 對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。

開發環境:

    Window 10

    Visual Studio Code

    opencv-python 4.5.1.48

實作方式

    STEP-1:將讀入的圖片轉成灰階

    STEP-2:以np.fft.fft2()快速傅立葉變換演算法得到頻率分布

                 由於fft2預設中心點在左上角因此以np.fft.fftshift()轉移到中間位置

    STEP-3:以np.angle()取得角度數值

    STEP-4:將fft2數值取絕對值得到magnitude_spectrum

    STEP-5:執行cv2.GaussianBlur()取得範圍5*5的高斯模糊圖像

效果呈現



2021年3月28日 星期日

s1071415 影像處理作業2

作業說明:

    撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp .jpg 圖像格式都可,如全彩圖像可先將圖片由 RGB 轉換至灰階影像),利用 Sobel Operators 圖像邊緣為基礎,設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到的點,結合成線條方式呈現更佳!)

開發環境:

    Window 10、Visual Studio Code、opencv-python 4.5.1.48

實作方式

    STEP-0:準備好一隻可愛的Ina

    STEP-1:將讀入的圖片轉成灰階

    STEP-2:將灰階圖以高斯模糊進行處理去除雜訊

    STEP-3:以canny邊緣偵測的方式繪畫出圖片的邊緣

    STEP-4:將圖片反白方便檢查效果

效果呈現

原圖:


灰階:

模糊處理過後:

經過canny邊緣偵測繪畫出圖像邊緣

最後將圖片進行反白方便觀看



感謝觀看

2021年3月7日 星期日

s1071415 影像處理作業1

作業說明:

圖像亮度調整。撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v (-255  v  255),並將圖像儲存至一個新圖像檔案中。

開發環境:

Window 10、Visual Studio Code、opencv-python 4.5.1.48

實作方式

1.以tkinter中的filedialog.askopenfilename()讀取圖片傳入imread中

2.將圖片轉成HSV格式並依據輸入想要調整的亮度值調整亮度

3.以v>255=255,v<0=0的方式處理溢位問題

4.將圖片轉回BGR格式

5.以np.hstack並排輸出原圖像與變更後圖像以方便對比

效果呈現

輸入+100 :



輸入-100 :