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

2019年6月6日 星期四

s1041570 的 作業5

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

二.、環境
    Windows 10 + Visual Studio 2017 + OpenCV3.4

三、程式說明

    1. 讀入圖片後先轉成灰階
    2. Threshold 二極化
    3. 重複數次的Erode運算
    4. 再利用FindContours找出共有幾枚棋子

四、執行結果:

圖一運算後
圖二運算後

圖三運算後

輸出結果

2019年5月16日 星期四

s1041570 的 作業4

一、作業題目     

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

二、環境設置     


  • windows 7
  • visual studio 2017
  • opencv 3.4

三、作業說明

  1. imread讀取圖片
  2. cvtColor將圖片從BGR轉到HSV
  3. 將非膚色的區域換成白色;膚色的區域換成黑色

四、執行結果

原圖

偵測圖

2019年5月15日 星期三

1041570作業3

一、作業要求

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

二、使用環境

  • Windows 10
  • Visual Studio 2017
  • OpenCV 3.4

三、實作方法

  1. 先用OptimalDFTSize找到最適合處理的大小並padding
  2. 透過copyMakeBorder()擴展圖片尺寸
  3. 透過dft()進行傅立葉變換
  4. 透過split()分離為實部和虛部
  5. 透過phase()計算相位
  6. 透過magnitude()取得頻譜 
  7. 透過imshow()顯示相位圖和頻譜圖

四、結果

圖一、原圖

圖二、頻譜圖

圖三、相位圖

2019年4月2日 星期二

s1041570 的 作業2

一.作業要求

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

二.使用環境/語言

Windows7 
 Visual Studio 2017
C++
Opencv 3.4

三.實作方式

1,imread()讀入圖片
2.GaussianBlur()將圖片的邊緣模糊化,用來減少雜訊。
3.sobel()分別偵測垂直與水平的邊緣
4,convertScaleAbs()將步驟3得到的兩張圖轉成CV_8U

5.addWeighted()將步驟4得到的兩張圖各乘0.5並相加
6.threshold()固定閥值,把低於閥值的像素當成背景
7.imshow()顯示圖片、imwrite()儲存圖片

四、執行畫面

圖一、原圖

圖二、線條自畫像
圖三、存檔圖

2019年3月17日 星期日

s1041570的作業1

簡介:

從檔案讀取一張圖片後,選擇要灰階還是彩色,並輸入改變的量(-255~255),將修改後的圖片秀出並且存到新檔案output.jpg中

環境 : 

windows7+visual studio 2017 + opencv 3.4

實作結果: