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

2021年6月9日 星期三

s1071221 影像處理作業 7

 

一、作業說明:

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

二、使用環境:

作業系統 : windows10
編譯軟體: Visual Studio Code
使用語言: python 3.9.2/opencv 4.1.2/numpy-1.20.1
 
三、方法:

1.將圖片轉成灰階圖

2.利用GaussianBlur()降低圖片雜訊

3.利用morphologyEX()去除棋子反光

4.使用erode()對影像進行侵蝕

5. threshould()轉成二值化

5.利用Sobel()偵測物件之邊緣

6.利用findContours()找出所有物件之輪廓,並計算出物件數量

7.contourArear()計算邊緣連起來之面積


四、執行結果:

1.








2.







3.






2021年6月7日 星期一

s1071221 影像處理作業 6

 

一、作業說明:

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

二、使用環境:

作業系統 : windows10
編譯軟體: Visual Studio Code
使用語言: python 3.9.2/opencv 4.1.2/numpy-1.20.1
 
三、方法:

壓縮

1.   split()切分成r,g,b通道

2.  flatten()r,g,b轉成1維陣列

3.  使用RLE方式對BGR做壓縮

4.  將壓縮好的資料以{heightwidth{數量1,字元1}{數量2,字元2}...}的方式儲存。

解壓縮

1.  讀取heightwidthBGR資料

2.  np.array()list轉換成uint8存入array

3.  reshape()array轉成(height, width, channel)

4.  merge()r,g,b合併成圖片


四、執行結果:



原圖:       





解壓縮率100%-(8535968/14665254*100%)=42%




原圖:







解壓縮還原:




解壓縮率100%(14234312/14665254*100%)=4%



原圖:








解壓縮還原:





解壓縮率 100%-(8153360/14665254*100%)=45%


平均壓縮率:(42% + 4% + 45%)/3 = 30%


s1071221 影像處理作業 8

 一、作業說明:

請寫一個程式將附圖二值化後輸出黑白圖像。目的是將文字與背景分離。

二、使用環境:

作業系統 : windows10
編譯軟體: Visual Studio Code
使用語言: python 3.9.2/opencv 4.1.2/numpy-1.20.1
 
三、方法:

1. convert img to grayscale

 2. adaptive threshold on gray image

 四、執行結果: