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

2022年6月9日 星期四

s1071516作業7

 一、 作業說明

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

二、 開發環境:


1. Windows 11
2. vscode
3. Python 3.9
4. OpenCV - 4.5.5


三、實作

1.在程式碼內輸入X:0~2 即可選擇讀取哪張照片。

2.以灰階模式將圖片讀入

3.利用threshold對圖片進行二值化。

4.在用dilate進行膨脹 然後用morphologyEx做opening

5.cv2.findContours找出邊界和畫出邊界。

6.最後,利用resize將圖片縮小並輸出。

四、成果




5702output:

5703output:

5704output:

















2022年6月2日 星期四

s1071516作業6

  一、作業說明                                    

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

二、開發環境:

Windows 11

vscode

Python 3.9

OpenCV - 4.5.5

三、實作方法

1.     利用input來取得檔案的名字並讀取.bmp

2.     之後處理每個通道的數值,利用run length 運算儲存後,並將寫成.encode

3.     在讀入先前encode的檔案根據Header的資訊並還原圖輸出成_decode.bmp

4 .    利用getsize計算出檔案大小,進而計算出壓縮率

5.     3張圖都輸入處理完後,計算平均壓縮率

四、執行結果:



先輸入檔案名稱

輸入要檔名要存成壓縮後的檔案

輸入encode的檔名要decode的檔案

輸入要還原的檔名

輸入encode檔名,計算壓縮率


壓縮後的檔案和解壓縮的檔案:









2022年3月10日 星期四

s1071516 作業2

 

作業說明

撰寫一個程式將一張圖像的(a)整張圖像,(b)中心內切圓區域,旋轉一個角度(逆時針旋 轉 0 度至 359 度):利用一個滑動條(trackbar)控制旋轉角度。

開發環境

  • Windows 10
  • Visual Studio 2017
  • OpenCV 4.5.5

程式說明


輸入1或2選擇如何旋轉圖片

a.利用getRotationMatrix2D和warpAffine旋轉和計算旋轉後的圖片

b. 
1.先把圖分成中心圓+中心圓以外
2.同樣利用getRotationMatrix2D和warpAffine只旋轉中心圓
3.再將旋轉過後的中心圓和中心圓以外的合併起來


執行結果


2022年2月23日 星期三

s1071516 作業1

 作業說明

撰寫一個程式讀取ㄧ張圖片,將圖像中每一個點像素的值各加上一個數值。如果輸入 圖像是灰階圖像,改變每個像素的灰階值;如果輸入圖像是全彩圖像(RGB),則只改變 每個像素的 R 值。 注意修改後像素值溢位 Overflow 問題(像素值介於 0 與 255 之間)。

開發環境

  • Windows 10
  • Visual Studio 2017
  • OpenCV 4.5.5

程式說明

  1. 輸入要讀的圖片名字和要加的值
  2. imread讀取圖片
  3. 使用function判斷是否為灰階圖
  4. 若是灰階圖則RGB都接上輸入的值
  5. 彩圖則指加R值
  6. 若加完後的值超過255則視為255,小於0則視為0
  7. imshow秀出圖片

執行結果