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

2019年6月6日 星期四

1051514 作業5

一、作業說明:

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

二、實作環境:
  • pycharm
  • opencv-python
  • windows 10


三、執行方法
  1. 將圖片讀入
  2. 用cv2.threshold()做二值化
  3. 用cv2.resize()更改圖片大小
  4. 用cv2.erode()對圖片進行腐蝕
  5. 用cv2.dilate()對圖片進行膨脹處裡
  6. 最後用cv2.findContours()進行偵測然後輸出結果

四、執行畫面:
有重疊到的效果比較差


沒重疊到的可以算出來




2019年5月14日 星期二

1051514 作業4

一、作業說明:

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

二、實作環境:
  • visual studio 2017
  • opencv 3.4
  • windows 10


三、執行方法
  1. 將原圖讀入
  2. 設定YCbCr的cb cr平均值還有YCbCr的膚色範圍
  3. 用cvCreatImage跟cvCopy建一個跟原圖一樣的圖片
  4. 之後取得影像的RGB值
  5. 把圖的值轉換成YCbCr
  6. 用cvSet2D把更改的值寫進原圖
  7. 然後進行皮膚的偵測
  8. 將符合皮膚範圍的填白色,不符合填黑色
  9. 輸出結果

四、執行畫面:





1051514 作業三

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

二、實作環境:
  • visual studio 2017
  • opencv 3.4
  • windows 10


三、執行方法
  1. 讀入一個灰度圖
  2. 利用copyMakeBorder對影像邊界拓展
  3. 傅裡葉轉換 dft
  4. 用Split分離實數虛數部分
  5. 利用magnitude() 計算幅度、phase()求出相位
  6. 之後將區塊重排使得原點在影像的中央
  7. normalize()將值進行標準化並輸出
  8. 用逆向轉換將圖片還原

四、執行畫面:





2019年3月31日 星期日

1051514 作業2

一、實作方法:

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

二、環境設置:
  • Windows 10 
  • Visual Studio 2017 
  • OpenCV 3.0.0
    

三、執行方式:
1. 用GaussianBlur()將圖片進行平滑化
2. 用Sobel()偵測圖像
3. 用convertScaleAbs()轉成CV_8U
4. 用addWeighted()結合垂直和水平
5. 用imwrite()存取完成後的圖片


四、執行畫面:



2019年3月19日 星期二

1051514 作業1

一、作業要求


        撰寫一個程式從檔案讀取一張圖像,將圖像的每一個點像素的值各加上一個整數值v (-128 128)來改變整張圖像的亮度,將修改後的圖像儲存至新影像檔案中。
 二、開發環境
  • Windows 10 
  • Visual Studio 2017 
  • OpenCV 3.0.0
三、實作方法
  1.  利用imread來讀取我所需要的相片,找不到或輸入錯誤則回傳錯誤訊息要求重新輸入,輸入正確即利用imshow顯示出所輸入之影像。
  2.  利用三個迴圈來更改亮度(兩個迴圈抓位子,一個迴圈加減值),輸入欲更改的亮度範圍(-128<X<128),若超過也是回傳錯誤訊息要求重新輸入。
  3. 每次更改完亮度會詢問是否改照片,若要更改則利用imwrite儲存新影像。