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

2020年7月1日 星期三

1063330 影像處理作業6


一、作業要求:
    請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所      附圖像(共三張)每張圖像中圍棋個數。
a.請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖。 
b.程式不一定可以算出正確棋子數量,越接近正確答案越好
二、使用工具:
    Python3.7.4
    OpenCV 4.2.0
    Numpy 1.16.4
三、實作方法:
1.  使用imread()以灰階形式讀取圖片
2.  使用threshold()函式進行二值化。將threshold分別設為130120120
3.  使用getStructuringElement()函式,kerne分別設為(250250)(100, 100)
     (150, 150)
4.  使用erode()函式對二值化圖片進行侵蝕後,使用dilate()把圖片膨脹
5.  使用findContours()函式及drawContours()函式對棋子個數進行運算
6.  使用imshow()印出所有圖片
四、實作成果:

預測結果與實際結果:-4、-3、0

2020年6月2日 星期二

1063330 影像處理作業5


一、作業要求:
    撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
    (a)
說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper )與數量(20%,        50%)
    (b)
說明所設計去除雜訊的方法
二、使用工具:
    Python3.7.4
    OpenCV 4.2.0
    Numpy 1.16.4
三、實作方法:
 加入雜訊:
1.  使用imread()讀取圖片
2.  Salt & Pepper noise:使用函式np.random.choise()
3.  Gaussian noise:使用函式np.random.normal()
4.  設定saltpepper比例為1:1
5.  設定Gaussian noise要使用的參數(mean, var)
6.  Salt & PepperGaussian noise分別進行中值濾波及高斯濾波
 消除雜訊:
1.  中值濾波: 使用medianBlur()降噪,並設定size=5
2.  高斯濾波: 使用GaussianBlur()降噪,並設定size(5,5)
四、實作成果
原圖
Salt & Pepper noise
中值濾波
 高斯濾波
  
             









 Gaussian noise
中值濾波
高斯濾波

2020年5月17日 星期日

1063330 影像處理作業4


一、作業要求:
利用你所學的顏色的知識,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出
二、使用工具:
    Numpy 1.16.4
    Python3.7.4
    OpenCV 4.2.0

三、實作方法:
1.  使用imread()讀取圖片
2.  設定5%亮度補償,對RGB亮度進行校正
3.  使用cvtColor()將圖像從RGB屬性轉換成YCrCb屬性
4.  使用variables for skin rules資料設定膚色範圍
5.  用迴圈遍歷圖片,從YCrCb獲取值後,畫出偵測為皮膚之範圍
6.  判斷skin變數,可設定為塗黑皮膚範圍或反之
7.  使用plt依序顯示原圖及皮膚偵測後的圖
四、實作成果



2020年5月16日 星期六

1063330 影像處理作業 3

l   作業說明
請撰寫一個程式,讀取一張 256 色灰階圖像。計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256 色圖像方式呈現出。

l   使用環境
         numpy:1.16.4
         Python:3.7.4
         opencv:4.1.0

l   實作方法
         1.  利用imread讀入灰階影像
         2.  利用numpy中的函數對影像作快速傅立葉轉換(fft),輸出為複數
         3.  FFTDC分量移到頻譜中心,輸出為複數
         4.  利用log()取得頻譜
         5.  利用angle()取得相位圖
         6.  取絕對值:將複數變化成實數;取對數:將資料變化為較小範圍
         7.  使用imwriteplt儲存並印出

l   實作成果

原圖


頻譜圖

相位圖

2020年4月8日 星期三

1063330 影像處理作業2


一、作業說明:
撰寫一個程式,讀取作業所附2張測試圖片,(1)設計一個二值化方法將其轉變成黑白圖像後,(2)繪出QR code黑色模組的外框(可利用Sobel Operators偵測即可)

二、環境設置:
Python 3.7
opencv 4.2.0

三、實作方式:
1.imread用灰階模式讀取圖片
2.threshold:二值化
3.Canny:邊緣處理
四、執行結果:
Fig2_1

Fig2_2


2020年3月14日 星期六

1063330 影像處理 作業1

一、作業題目:

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

二、環境設置:

        Python 3.7
        opencv 4.2.0

三、實作方式:

  1.           讀取輸入的圖片
  2.        使用size取得長寬的像素數量
  3.        使用for迴圈遍歷每個像素
  4.        使用pil.putpixel改變其RGB值
  5.        pil.save輸出新圖片後儲存

四、執行結果: