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

2019年6月5日 星期三

1051511 作業5

一、作業要求:

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

二、使用的環境:
  • Windows10
  • Python3.6
  • Opencv-3.4
  • Pyqt 5
  • Matplotlib-3.0.1

三、特殊程式片段說明:
      cv2.cvtcolor()----->將彩圖轉成灰階
      cv2.threshold()---->將圖二質化,且用cv2.THRESH.BINARY.INV 將黑白顏色調換
      cv2.getStructuringElement()---->定義kernel樣式和大小
      cv2.erode()和cv2.dilate()----->來腐蝕和膨脹圖片
      cv2.findContours()---->用來計算有幾個黑色旗子
.
四、執行方式:
    以Load按鈕選取想要轉換的圖片,並選取上方的radiobox點選狀態(原圖or計算chess,透過plot呈現, 以plot中
     的save按鈕進行存檔。

五、執行方式:
  •  初始介面
         
  • Load彩圖



















    • IMG_5702結果
            
    • IMG_5703結果
          
    • IMG_5704結果
          
    • 計算結果分別為18、30、31
            
    • save 圖片
      










     

    2019年5月14日 星期二

    1051511 作業4

    一、作業要求:

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

    二、使用的環境:
    • Windows10
    • Python3.6
    • Opencv-3.4
    • Pyqt 5
    • Matplotlib-3.0.1

    三、特殊程式片段說明:

          在皮膚檢測當中,現在大致有兩種方法分別為將圖片轉換為HSV和YCrCb的形式進行檢測。
            
           HSV的部分:
    •  使用cv2.cvtColor()-->轉換為HSV
    •  使用cv2.inRange()--->指定可以通過為皮膚的範圍
          YCrCb的部分:
    •  使用cv2.cvtColor()--->轉換為YCrCb
    •  使用cv2.inRange()--->指定可以通過為皮膚的範圍
        接著使用cv2.bitwise_and()--->將HSV和YCrCb以AND結合
        並使用cv2.morphololgyEx()--->閉運算使物體輪廓變得光滑
    .
    四、執行方式:
         以Load按鈕選取想要轉換的圖片,並選取上方的radiobox點選狀態(原圖or只有皮膚),透過plot呈現, 以plot中
         的save按鈕進行存檔。


    五、執行方式:
    • 初始介面
                 
    • Load彩圖
            

          
    • 點選"Only Skin"
           
    • save 圖片
           
             
         

    2019年5月7日 星期二

    1051511的作業3

    一、作業要求:

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

    二、使用的環境:
    • Windows10
    • Python3.6
    • Opencv-3.4
    • Pyqt 5
    • Matplotlib-3.0.1

    三、特殊程式片段說明:
          由於以傅立葉轉換成兩種圖頻譜圖與相位角圖。
            
            Spectrogram的部分:
    •  使用cv2.dft()--->DFT傅立葉轉換
    •  使用np.fft.fftshift()--->使用fftshift函数進行移頻操作
    •  使用cv2.magnitude()--->得到頻譜圖
            Phase的部分:
    •  使用cv2.dft()--->DFT傅立葉轉換
    •  使用np.fft.fftshift()--->使用fftshift函数進行移頻操作
    •  使用cv2.phase()--->得到相位圖
    四、執行方式:
         以Load按鈕選取想要轉換的圖片,並選取上方的radiobox選擇想要轉換的方式(頻譜or相位譜),透過plot呈
          現, 以plot中的save按鈕進行存檔。

    五、執行方式:
    • 初始介面
            
    • Load 256色灰階圖
            

           
    • 選擇Spectrogram,以plot顯示頻譜圖
           
    • 選擇Phase,以plot顯示頻譜圖
           
    • 分別save圖片
           

             
     
         

    2019年4月1日 星期一

    1051511的作業2

    一、作業要求:

    邊緣偵測與製作線條自畫像 Edge Detection Contour Drawing撰寫一個程式,讀取一張256 色灰階圖像或 RGB 全彩圖像(.bmp .jpg 圖像格式都可,利用Sobel Operators 偵測圖像邊緣,並以邊緣偵測為基礎(如彩色圖像針可先將圖片  RGB 轉換至HIS  YUV, YCbCr 等色彩空間,只需對亮度 Channel IY處理,再轉回 RGB 即可),設計一個類似素描線條自畫像程式。(如果可以分析邊緣偵測所得到的點,結合成線條方式呈現更佳!)
    二、使用的環境:
    • Windows10
    • Python3.6
    • Opencv-3.4
    • Pyqt 5
    三、特殊程式片段說明:
        
        我給於使用者兩種方式來寫邊緣偵測分別是Sobel以及Scharr,讓使用者觀看哪種邊緣偵測是他們所需要的

        Sobel的部分:
    • 使用cv2.GaussianBlur()--->以減少雜訊
    • 使用Sobel()--->分別水平及垂直的運算
    • 使用convertScaleAbs()--->將圖片轉成CV_8U的型態
    • 使用addWeighted()--->垂直軸水平軸的圖片分配權重,並結合在一起
      Scharr的部分:
    • 使用cv2.GaussianBlur()--->以減少雜訊
    • 使用Scharr()--->分別水平及垂直的運算]
    • 使用convertScaleAbs()--->將圖片轉成CV_8U的型態
    • 使用addWeighted()--->垂直軸水平軸的圖片分配權重,並結合在一起

        兩者的差別主要在於運算用的核不同,在測試的情況下Scharr效果較好

    四、執行方式:

          以Load鍵選取想要調整的圖片,並選取上方的radiobox選擇想要的邊緣偵測方式,再按下Save進行存檔。

    五、執行結果:

    • 初始介面          


    • Load 圖片(彩圖)


    • 選擇Sobel

    • 選擇Scharr

    • 分別save圖片



    • Load 圖片(灰階圖)


    • 選擇Sobel


    • 選擇Scharr


    • 分別save圖片




    2019年3月15日 星期五

    1051511 作業一

    一、實作方法:
    建立一個slider以滑動的方式,調整亮度,以g(x,y)=a*f(x,y)+b的方式做圖片亮度調整

    二、執行環境:
    python3、opencv、windows、PyQt5

    三、執行方式:
    以Load鍵選取想要調整的圖片,並建立一個slider以滑動的方式調整亮度,調整到自己想要的'亮度,在按下Save進行存檔。



    四、執行畫面

    • 初始介面
          
    • Load 圖片(彩圖)
           
           
    • 以slider調整亮度(亮度高)
         
    • 以slider調整亮度(亮度低)
             
    • Save圖片(彩圖)
             
             
    • Load 圖片(灰階圖)
             
         
    • 以slider調整亮度(亮度高)
             
    • 以slider調整亮度(亮度低)
          
    • Save圖片(灰階圖)