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

2019年6月6日 星期四

1051435-作業五

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

實作環境:

Windows 10 +Visual Studio 2017 + OpenCV 3.4

實作方法:

1) 使用imread()讀入灰階圖片
(2) 利用threshold將圖片做二值化
(3) 運用getStructuringElement()設定dilate的element,用RECT形狀將圖片做膨脹,再用ELLIPSE圓形做膨脹修正。
(4) 讀取img的像素,遇到顏色為黑色的話,將四周50pixel的值以灰色取代,並計算棋子數量+1

實作結果:


2019年5月16日 星期四

1051435-作業4

主題:

利用所學的顏色的知識,撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出。

實作環境:

Windows 10 +Visual Studio 2017 + OpenCV 3.4

實作方法:

1.讀取圖片後轉YCrCb
2.分割顏色空間併分割顏色通道
3.檢查圖片,符合的像素設為白色(255),其餘為黑色(0)

實作結果:



2019年5月11日 星期六

s1051435-作業3

一、作業題目:

請撰寫一個程式,讀取一張 256 色灰階圖像。 計算輸入圖的離散傅立葉轉換結果, 並
將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。

二、實作環境:

VisualStudio2017+OpenCV 3.4+Win10

三、執行方式:

1.讀取圖片轉灰階
2.使用getOptimalDFTSize()找到最佳的大小,將原圖的邊界擴展至此大小,並用padding以0補充之
3.創建planes[]儲存圖像實數和儲存圖像虛數
4.使用merge(planes,2,complexImg); 將planes[0]和planes[1]的實數與虛數部分全部儲存至complexImg當中
5.對complexImg做dft並使用split將complexImg的實數虛數部分分開
6. 將實數與虛數部分做arctan處理得到圖片的phase angle,然後做頻譜轉換,並重新編排將原點移至影像中央以向外做排列
7.使用idft逆轉換得到原圖

四、執行結果:






2019年3月31日 星期日

1051435的作業2

主題:

撰寫一個程式,讀取一張 256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可) ,利用 Sobel Operators 偵測圖像邊緣,並以邊緣偵測為基礎(如彩色圖像針可先將圖片 由 RGB 轉換至 HIS 或 YUV, YCbCr 等色彩空間,只需對亮度 Channel I 或 Y 處理,再 轉回 RGB 即可),設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到 的點,結合成線條方式呈現更佳!)

實作環境:

Windows 10 +Visual Studio 2017 + OpenCV 3.4

使用函式:

GaussianBlur();---去除雜訊
Sobel();---用來對x和y軸進行處理
convertScaleAbs();---轉成CV_8U
cvtColor();---將圖片轉成灰階

實行結果:

原圖


處理後

2019年3月17日 星期日

1051435的作業1

簡介:

撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值 v (255  v  255),並將圖像儲存至一個新圖像檔案中。

環境:

Windows 10 + Visual Studio 2017 + OpenCV 3.4

實作結果:

<圖1,開啟程式>

<圖2,在圖片輸入任意鍵,跳出輸入請求訊息>

<圖3:輸入像素點後,跳出改變後圖>

<圖4:在圖片輸入任意鍵,跳出輸入請求訊息>

<圖5:輸入超過範圍,顯示警告訊息>

<圖6:在圖片輸入`後,結束程式並保存新圖>