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

2019年6月6日 星期四

s1051404的作業5

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


2. 環境:
VS2015
opencv 2.4.13


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


4. 圖示:
A 圖一 找到24個棋子
B 圖二 找到28個棋子
C 圖三 找到31個棋子






2019年5月16日 星期四

s1051404的作業4

1. 作業題目:
利用 你所學的顏色的知識, 撰寫一個程式來偵測一張輸入照片中的皮膚區域並將其標示出 。2. 環境:
VS2015
opencv 2.4.13

3. 作業解說:
(1) 使用imread()讀入彩色圖片
(2) 運用YCrCb轉換圖片以利用inrange來找膚色範圍內的圖像
(3) 除了膚色範圍以外,一樣利用inrange尋找沙地及樹顏色範圍的圖像
(4) 利用for loop讓原圖片做比對,將膚色範圍以外的值以黑色代替
(5) 再利用for loop將inrange找出來的沙灘及樹木對比原圖並去除

4. 圖示:

AC
BD

A為尋找沙灘及樹木
B為人的膚色偵測
C為原圖比對膚色偵測後的結果
D為去除沙灘樹木的結果






2019年5月10日 星期五

s1051404的作業3

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

2. 環境:
VS2015
opencv 2.4.13

3. 作業解說:
(1) 先使用imread(GRAYSCALE)讀取灰階圖像: Mat src = imread("1.jpg", CV_LOAD_IMAGE_GRAYSCALE);
(2) 使用getOptimalDFTSize()找到最佳的大小,將原圖的邊界擴展至此大小,並用padding以0補充之
(3) 創建planes[],planes[0]儲存圖像實數(目前為圖像本身)、planes[1]儲存圖像虛數(目前為0)
(4) 使用merge(planes,2,complexImg); 將planes[0]和planes[1]的實數與虛數部分皆儲存至complexImg當中
(5) 對complexImg做dft
(6) 使用split將complexImg的實數虛數部分再次分開
(7) 將實數與虛數部分做arctan處理得到圖片的phase angle
(8) 做頻譜轉換,並重新編排將原點移至影像中央以向外做排列
(9) 使用idft得到原圖




2019年4月3日 星期三

1051404 作業二

1. 作業題目:
撰寫一個程式,讀取一張256 色灰階圖像或 RGB 全彩圖像(.bmp 或.jpg 圖像格式都可) ,利用Sobel Operators 偵測圖像邊緣,並以邊緣偵測為基礎(如彩色圖像針可先將圖片 由 RGB 轉換至HIS 或 YUV, YCbCr 等色彩空間,只需對亮度 Channel I 或 Y 處理,再 轉回 RGB 即可),設計一個類似素描線條自畫像程式。

2. 環境:
VS2015
opencv 2.4.13

3. 作業解說:
(1) 先使用imread(GRAYSCALE)讀取灰階圖像:
      Mat src = imread("1.jpg", CV_LOAD_IMAGE_GRAYSCALE);
(2) 利用Sobel這個function分別讀取兩次 (X軸,Y軸方向各一次) 去分析出圖片的edge
(3) 使用模糊,GaussianBlur()這個function來消除edge以外的一些圖片雜訊
(4) 使用addWeighted()將兩個(X軸,Y軸)分析出edge的圖像組合在一起
(5) 最後我使用threshold(),以值80做為界線,將圖片的顏色區分為0和255。

2019年3月19日 星期二

1051404 HW1圖像亮度調整

1.  題目:
撰寫一個程式從檔案讀取一張圖像, 將圖像的每一個點像素的值各加上一個整數值(-255 to 255), 並將圖像儲存至一個新圖像檔案中。

2.  環境:
Visual 2015
openCV 2.4.13

3.  作業解說:
這次作業我使用兩種方式實作:
(1) Image.at<uchar>(height, width)調整每一個像素的亮度 ,溢出的值超過255以255代替,低於0以0代替。
(2) Image.convertTo()這個function內建處理像素溢出的問題,以及對比度的調整。
最後以imwrite()儲存修改後的結果。

4.  圖示:
以cin的方式讓user決定調整的亮度。
 Image.at/灰階圖片(亮度+100)↓

 Image.at/灰階圖片(亮度-100)↓

convertTo/彩色圖片(亮度+100)↓

以imwrite()輸出圖片↓