顯示具有 [1051336 標籤的文章。 顯示所有文章
顯示具有 [1051336 標籤的文章。 顯示所有文章

2020年6月30日 星期二

1051336 影像處理作業 6

一、題目說明:
    數學型態學影像處理應用 Morphological Image Processing
請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附 圖像(共三張)每張圖像中圍棋個數。
a. 請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖。
b. 程式不一定可以算出正確棋子數量,越接近正確答案越好!

二、程式開發環境:
Programming Language:Python 3.8
Packages:opencv-python 4.2.0.34、numpy 1.18.4、matplotlib 3.2.2
Code Editor:Visual Studio Code

三、實作方法:
1. Use cv2.threshold 進行二質化
2. Use cv2.morphologyEx、cv2.MORPH_CLOSE 閉運算,進而消除雜訊
3. Use cv2.erode 進行侵蝕處理
4. Use cv2.dilate 進行膨脹處理,kernel設定為圓形
5. Use cv2.findContours進行偵測輪廓,即可計算圍棋之個數

四、結果:








2020年6月3日 星期三

1051336 影像處理作業 5

Image noise processing 
一、 題目說明:撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
(a) 說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper 等)與數量(20%, 50%等)
(b) 說明所設計去除雜訊的方法 。

二、 使用環境:
         Python -> 3.8.2
         Opencv -> 4.2.0

         Editor -> VS Code

三、 實作方法:
          1.cv2.imread來進行照片讀取的動作。
              image = cv2.imread("onion.jpg")
           2.randon.normal產生gaussian_noise的常態分佈亂數
              np.random.normal(0, 20, 3)
           3.讀取圖片高跟寬後加上高斯噪音
              image[row, col, 0] = clamp(+ s[0])
image[row, col, 1] = clamp(+ s[1])
image[row, col, 2] = clamp(+ s[2])
           4.利用高斯filter濾波->cv2.bilateralFilter
           5.之後利用mid value 和average value 的 filter過濾->cv2.medianBlur+cv2.blur
           6.將原圖加上胡椒噪音
           7.利用mid value filter過濾,有殘留白點
           8.再利用均值filter過濾,將去除白點

四、 實作結果:
          
       
       
      
     
     

2020年4月4日 星期六

1051336 影像處理作業2

主題: 二值化與邊緣偵測 Thresholding and Edge Detection

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

二、使用環境:1. 編輯器:VScode
                              2. 程式語言:Python3.8
                              3. 套件:opencv-python 1.18.2 、scikit-image 1.14.0

三、實作方法:先利用cv2.imread('pic', 0) 函式來使用灰階模式讀取圖片,再使用threshold函式把圖像轉為二值化黑白圖像,最後再使用sobel函式來做邊緣偵測。

四、成果:順序為1. 原圖 2. 二值化後的圖 3. 二值化後做邊緣偵測的圖