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

2022年6月6日 星期一

s1081523 作業7

 

 s1081523 作業7

作業說明:

 主題: 數學型態學影像處理應用 Morphological Image Processing

 

請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函式),計算出所附圖像(共三張)每張圖像中圍棋個數。

a.     請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋子數量的螢幕截圖。

b.     程式不一定可以算出正確棋子數量,越接近正確答案越好!

開發環境: 

·     Windows 10

·     Visual Studio 2019

·     OpenCV 4.5.5

·     Python 3.10

實作方法:

1.         先用imread()讀取圖片

2.         將圖片做二值化後黑白反轉(方便之後做辨識)

3.      設定kernel = kernel m*n進行erode,這邊經過手動測試找出最接近目測棋子數量的值,分別是:       第一張圖(IMG_5702.JPG)280*280大約最接近(22/24)

第二張圖(IMG_5702.JPG)200*200大約最接近(30/31)第三張圖(IMG_5702.JPG)200*200可全部辨識(31/31)

4.      將剛剛二值化過的圖片進行erode

5.     檢測輪廓,這裡使用contour,用findContours函數計算,每偵測到一個封閉圖形就將count+1,最後輸出算出的結果

6.    調整輸出視窗大小並且輸出圖片


執行結果:

IMG_5702.JPG:

原圖

 

 

二值化後反白:



經過erode: kernel設為280*280


 


 

IMG_5703:

原圖:



二值化後反白:



經過erode: kernel設為200*200





 

 

IMG_5704:

原圖:



二值化後反白:



經過erode: kernel設為200*200





 

2022年6月2日 星期四

 s1081523 作業6

作業說明:

 離散傅立葉轉換 DFT練習

 

Run-Length Based Image Compression練習

 

附件中為三張利用將晶片高度以色彩視覺化後的圖片。

請設計一個基於Run-Length的壓縮方法,對圖檔作無失真壓縮後儲存成新檔案。

 

部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)

開發環境: 

·     Windows 10

·     Visual Studio 2019

·     OpenCV 4.5.5

·     Python 3.10

 

實作方法:

1.      先用imread()讀取圖片

2.      然後將圖片的b,   g,    r轉換為一維陣列

3.      根據Run-Length壓所方法,進行編碼,分別算出b, g, r的壓縮率再做平均

4.      寫成txt檔匯出(我的電腦怪怪的,有303800筆資料它輸出到26萬多就會自己斷掉,導致後面list out of index),故我先不做寫出讀入檔案,而是以原本存好的list再做解壓縮。

5.      利用reshape把原圖的長寬值取出並重新輸出成圖片,並算出三張圖平均壓縮率。

 

執行結果:

一張含有 文字 的圖片

自動產生的描述

平均壓縮率是7.2757002973%

  s1081523 作業6

作業說明:

 離散傅立葉轉換 DFT練習

 

Run-Length Based Image Compression練習

 

附件中為三張利用將晶片高度以色彩視覺化後的圖片。

請設計一個基於Run-Length的壓縮方法,對圖檔作無失真壓縮後儲存成新檔案。

 

部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)

開發環境: 

·     Windows 10

·     Visual Studio 2019

·     OpenCV 4.5.5

·     Python 3.10

 

實作方法:

1.      先用imread()讀取圖片

2.      然後將圖片的b,   g,    r轉換為一維陣列

3.      根據Run-Length壓所方法,進行編碼,分別算出b, g, r的壓縮率再做平均

4.      寫成txt檔匯出(我的電腦怪怪的,有303800筆資料它輸出到26萬多就會自己斷掉,導致後面list out of index),故我先不做寫出讀入檔案,而是以原本存好的list再做解壓縮。

5.      利用reshape把原圖的長寬值取出並重新輸出成圖片,並算出三張圖平均壓縮率。

 

執行結果:


平均壓縮率是7.2757002973%

 




 

平均壓縮率是12.1327428197




平均壓縮率是6.94958132177



三張圖平均壓縮率是8.78600814626

 



 


2022年5月17日 星期二

s1081523 作業5

 s1081523 作業5

作業說明:

 離散傅立葉轉換 DFT練習

 

撰寫一個程式將所附圖像flower.jpg的黃色花瓣區域擷顯示出來。

開發環境: 

·     Windows 10

·     Visual Studio 2019

·     OpenCV 4.5.5

·     Python 3.10

 

實作方法:

1.      先用imread()將圖片以灰階讀取進來。

2.      然後將圖片轉換為hsv

3.      設定黃色的upper lower bound

4.      生成mask

5.      利用bitwiseAnd與原圖組合即可


執行結果:

原圖:


 


HSV:


 


 

 

Mask:



 

Result: