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

2019年6月5日 星期三

s1051540 的作業 5

1 題目

請撰寫一個程式,利用數學型態學影像處理運算,計算出所附圖像(共三張)每張圖像中
圍棋個數。
a. 請在部落格呈現經由數學型態學影像處理運算後的圖像,同時要呈現你程式輸出棋
子數量的螢幕截圖。
b. 程式不一定可以算出正確棋子數量,越接近正確答案越好!

2 開發環境
 

opencv 3.4   visual studio 2017    c++  window10

3架構

   1.先用threshold把圖像二質化
   2.用morphologyEx做MORPH_CLOSE把圖像先膨脹後侵蝕
   3.再用erode把圖像侵蝕成最佳數量
   4.用findContours尋找棋子數
   5.輸出圖像和棋子數

4輸出結果


   
第一張圖

第二張圖

第三張圖

三張圖的棋子數

誤差:
第一張:差2顆
第二張:差4顆
第三章:差0顆


2019年5月15日 星期三

s1051540作業四

1題目:

   Skin Color Detection

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

2 開發平台:

    opencv3.0 ,visual stdio 2017 , window10, c++


3 做法:

   1 讀取一圖片

   2 寫一個叫RGBtoYCbCr的function來找到圖片各個像素點的rgb

   3 用cvSet2D把圖片的顏色轉換成找出的(y,cr,cv)

   4 設置膚色的平均cr,cv值並且設置一膚色差距範圍

   5 把膚色範圍內的像素轉換成白色,其他則變為黑色

   6 輸出影像

4 顯示結果:


   
原始圖檔

轉換成rgb影像

把膚色轉換白色,其他轉成黑色輸出

2019年5月12日 星期日

s1051540 作業三

題目:

離散傅立葉轉換 DFT練習

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

開發平台:

open cv 3.0  visual stido 2017 window10


做法:

1讀取一灰階圖像

2設一陣列存實部虛部

3dft做傅立葉轉換

4split分離通道

5phase求出相位

6做系列運算

7最後將區塊重排,讓原點在影像的中央


輸出結果:

原圖

相位


頻譜


2019年4月3日 星期三

1051540 作業2

一、作業題目:

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

二、環境:

windows10      visual stdio 2017      c++      opencv 3.4.1

三、作業流程:

1.讀取相片並改成灰階相片

2.使用GaussianBlurb讓相片平滑減少雜訊

3.用sobel 找到x軸與y軸的階梯度

4.addWeighted把兩個階梯度相加使照片水平與吹直部分邊緣化

5. 輸出結果


、實例



原圖


灰階與平滑化


x軸與y軸梯度相加使其邊緣化