發表文章

目前顯示的是有「112hw5」標籤的文章

s1093306 作業5

圖片
  一.作業說明 :   利用你所學的 顏色(Color)的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚 區域並將其標示出。(請用附件中的三張照片做測試) Write a program that detect skin color from an image. 二.開發環境 :  作業系統:    Windows10 編譯器:     Visual Studio 2019 程式語言:    C++ OpenCV版本:   4.7.0  三.程式說明 : 1.讀圖:     用cv2.imread()讀取圖片 2. 將圖像轉換為HSV和 YCrCb 色彩空間 :    分別 用cv2.cvtColor將RGB圖片轉成HSV 和 YCrCb 3.將兩個的色彩空間設在膚色可被偵測的像素區間然後建立黑白遮罩: 使用 inRange()限制偵測範圍。 限定HSV的範圍: 0<H<50,41 <S<255,0 <V<255( 色相(H), 飽和度(S) , 明度(V) ) 限定 YCrCb 的範圍:   55 <Y<240,55 <Cr<240,5 5 <Cb<240( Y(亮度), Cb(藍色色度), Cr(紅色色度) 4. 用bitwise_and() 將HSV和YcrCb 色彩空間篩選結果合 成mask。 5. 對遮罩進行處理,以去除小的雜訊以及填補空洞。 使用 getStructuringElement() 用來建立結構元素先分析固定區域內的像素以 提取特定的圖像結構 。 使用 erode()、dilate() 函式對遮罩執行腐蝕和擴張操作來 去除小雜訊 。 6.用 setTo()將mask 設定像素值 為綠色。 7. 用 addWeighted()將原圖和mask合成呈現。 四.結果圖 : (一) (二) (三)

s1081410 作業5

圖片
 膚色偵測 Skin Color Detection 利用你所學的 顏色(Color)的知識與技術,撰寫一個程式來偵測一張輸入照片中的皮膚 區域並將其標示出。(請用附件中的三張照片做測試)                                                  首先轉換HSV色彩 接成定義上界下界                                                       接著使用inRange 定義mask 並且做高斯模糊處理後使用Canny偵測 使用                                                                                                            ...