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

2022年6月7日 星期二

s1061551 作業7

 

題目:

請撰寫一個程式,利用數學型態學影像處理運算(erode(), dilate()等函

),計算出所附圖像(共三張)每張圖像中圍棋個數。

環境:

1.    Windows 10

2.    Python3.9

3.    OpenCV 4.5.5

方法:

1.    讀取圖片

2.    將圖像轉換為灰階圖片

3.    將圖像二質化

4.    使用cv2.getStructuringElement()來取得kernel

5.    Erode二質化的圖像

6.    擴張 erode過後的圖像

7.    利用cv2.findContours() 來得到一共有多少輪廓

8.    使用cv2.drawContours()將輪廓畫在圖像上

9.    儲存圖像

原圖:


偵測:


Erode:


Dilate:


原圖:


偵測:


Eorde:


Dilate:


原圖:


偵測:


Erode:


Dilate:

偵測棋子數量:























2022年5月25日 星期三

s1061551 作業6

作業說明:

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

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


環境:

python 3.8

windows 10

opencv 4.5.5


實作過程:


因此,我先算出一共有多少種顏色,並將顏色的ID和RGB值對應,
Bin檔的部分將圖片的高低存入,然後是一共有多少種顏色,每個顏色的ID和RGB值互相呼應。
EX:存入4個數字16 255 0 34,將他理解成RGB值255 0 34對應的編號都是16。
之後再比照附圖的每一列的run length值。

實作結果
















2022年5月13日 星期五

s1061551 作業5

1.   作業說明:

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

 

2.   作業環境:

Windows 10

Python 3.9

OpenCV 4.5.5

 

3.   實作環境:

(1)    imread讀取所要求的圖片

(2)    使用cvtColor( )RGB圖像轉換至HSV

(3)    運用numpy函式抓取HSV黃色部分的範圍

(4)    使用inRange( )得到HSV黃色的上下界

(5)    最後利用bitwise_and( )將花瓣白色部分還原成原本黃色的樣子

4.   執行結果:

原圖:


結果:



2022年4月12日 星期二

s1061551作業4

 

1.   作業問題:

請撰寫一個程式,讀取一張256灰階圖像。

(1)   計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度以灰階256色圖像方式呈現出。

(2)   對該圖像利用Gaussian Low-Pass filter處理,輸出平滑後的圖像。

2.   開發環境:

Windows 11

Visual Studio 2019

OpenCV4.5.5

3.   實作方法

1.      利用imread讀取所要使用的圖片。

2.      利用spilt()將轉換過後的實部以及虛部分開。

3.      經計算之後,利用phase()產出相位圖,magnitude()產出頻譜。

4.      定義filter並保留其低頻的部分,將其值處理過後再回傳低頻部分。

5.      經過逆傅立葉轉換後生成平滑後的圖像。

 

原圖

 


                頻譜

                相位
  Blur                                                                                                                                     

                                                                   

2022年3月24日 星期四

s1061551 作業 3

作業說明:

撰寫一個程式,以灰階模式讀取一張圖像 imread(path, IMREAD_GRAYSCALE) (a)利用 Sobel Operators 偵測並輸出邊緣成分圖 (b)設計一個類似素描線條的自畫像圖案。

作業環境:

Windows10OpenCV4.5.5Visual Studio 2019C++

實作方法:

1.     輸入完整的圖片名稱、檔名以及其路徑。

2.     使用Sobel算子來提取圖像的邊緣,其過程包含:

(1)  將圖像做高斯模糊

(2)  將圖像轉成灰階

(3)  利用Sobel計算圖像的XY梯度

(4)  利用得到的梯度,調整圖像的灰度值,並提取圖像邊緣

3.     素描的部分,則是利用了

(1)  圖像灰度化

(2)  濾波

(3)  邊緣檢測

(4)  二質化

實作結果:

原圖:



灰階:





使用Sobel後:




素描:












2022年2月24日 星期四

s1061551 作業1

 

作業說明:

使用者將圖片的位置以及其所要更動的量輸入進去,並且將圖像中美一點的像素之值加上剛輸入的數值。如果讀取的圖像為灰階,則對該圖像的所有像素的灰階值進行更動,若是該圖像為彩色RGB圖像,則只更改其R值的部分。

 

開發環境:

Windows 11

Visual Studio 2019

OpenCV 4.5.5

 

程式說明

.1將所要讀取的圖片名稱以及所需要更改的值輸入

2.利用imread讀取圖片,若是失敗則output出錯誤訊息

3.另用判斷式來判斷該圖片為彩色或是灰階

4.利用迴圈來改變其值,若是灰階則將其全部更改,RGB則更動其R

5.顯示出最終結果

 

執行結果