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

2022年6月9日 星期四

s1083343 hw7


 

s1083343 HW7

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

 

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

 

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

 

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

 

 

開發環境:

Windows10

Vscode

Python3.9.6

Opencv-Python_4.5.5.62

 

程式想法:

 

一開始先用IMREAD_GRAYSTYLE讀取成灰階圖片

 

由於圖片太大, 我將他resize成能看見所有棋子適當的大小

 

再來定義kernel5X5的卷積

 

接著針對圖片使用erode()函式減少影像噪音,細化影像

 

再用dilate()函式膨脹, 然後使用HoughCircles()函式計算圓的數量

 

接著最後使circle()函式進行圓的畫圈

 

結果圖:




 

2022年6月2日 星期四

s1083343 hw6

 

s1083343 hw6

 

Run-Length Based Image Compression練習

 

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

請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)

 

開發環境:

Windows10

Vscode

Python3.9.6

Opencv-Python_4.5.5.62

 

程式說明:

一開始讀入圖片後,先將圖片B,G,R值用split()分開,再來使用flatten()將各通道變成一維陣列,接著針對每一個通道進行RLE壓縮,舉例:如果資料是1,1,1,1,1,2,2,3,那就將他變成5,1,2,2,1,3壓縮完之後,將圖片的長 RGB的長度 還有RGB的值存入npz檔案中,再來用getsize()取得圖片大小,然後得到圖片壓縮率和平均壓縮率。

結果截圖: