[請益] 用C++程式 做影像擷取的問題... (應該算吧)

看板NCKU_CSIE93作者 (大個)時間15年前 (2008/10/15 19:16), 編輯推噓6(6013)
留言19則, 4人參與, 最新討論串1/1
小弟需要做一個用C++控制 WEBCAM 來擷取影像 之後判斷影像是否有變更並儲存的程式 目前做到將 RGB 格式的影像 轉為 YCrCb 並取出Y值做兩張圖的相減 //RGB轉Y void CCamera_OpenDlg::RGB2YUV(BYTE *lpRGB, BYTE *lpY, int width, int height) { int i, j; for(i=0; i<width; i++) { for(j=0; j<height; j++) { lpY[i*height+j] = 16+ 0.257*lpRGB[0]+0.504*lpRGB[1]+0.098*lpRGB[2]; lpRGB += 3; } } } //前後兩張圖的相減 void CCamera_OpenDlg::subtraction(BYTE *lpPreY, BYTE *lpNowY, int width, int height) { int i, j, ; for(i=0; i<width; i++) { for(j=0; j<height; j++) { DiffData[i*height+j] = (int)lpNowY[i*height+j] - lpPreY[i*height+j]; } } } 現在的問題是 需要在每個像素內設定一個門檻值 來判定 每一個像素是否有變化! 然後要統計有多少個像素有變化 再判斷這些有變化的像素 佔整張圖比例 有沒有超過我們要再設定的第二到門檻值 小弟 第一次再PTT上發文 所以不太會編排 請見諒! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.35.169

10/15 21:50, , 1F
哦哦大個來貼文了!
10/15 21:50, 1F

10/15 21:51, , 2F
你的問題不太明確ㄟ 是要問怎麼寫還是你的code有錯?
10/15 21:51, 2F

10/15 22:17, , 3F
我要問 我接下來 該怎麼樣寫 才能把每個像素的值存
10/15 22:17, 3F

10/15 22:17, , 4F
取下來 並做出判斷..
10/15 22:17, 4F

10/15 22:18, , 5F
假設說 我要給予每個像素的門檻值為 0的+(-)30
10/15 22:18, 5F

10/15 22:19, , 6F
超出範圍為1 並記錄下來 然後可以算出到底有多少點
10/15 22:19, 6F

10/15 22:20, , 7F
(因為我後面還要判斷 他對於整張圖的比例 決定是否擷
10/15 22:20, 7F

10/15 22:20, , 8F
取下來!!
10/15 22:20, 8F

10/15 22:23, , 9F
既然已經把值存在DiffData 就用for loop再掃一次
10/15 22:23, 9F

10/15 22:23, , 10F
然後用個變數當作counter來數有幾個點超過門檻
10/15 22:23, 10F

10/15 22:25, , 11F
我如果使用 abx()來把 Diffdata轉成正數
10/15 22:25, 11F

10/15 22:25, , 12F
會不會比較方便 判定門檻呢ㄋ!?
10/15 22:25, 12F

10/15 22:31, , 13F
不用刻意用abs 就if(xxx < -a || xxx > a) 醬吧
10/15 22:31, 13F

10/16 00:12, , 14F
這位是?
10/16 00:12, 14F

10/16 00:53, , 15F
ㄟ都 我是玩遊戲認識 BOYPOWER的 我要跟他請益
10/16 00:53, 15F

10/16 00:53, , 16F
他告訴我來貼在這邊!!
10/16 00:53, 16F

10/16 07:50, , 17F
歡迎:)
10/16 07:50, 17F

10/16 14:01, , 18F
板上高手如雲~!
10/16 14:01, 18F

10/16 22:18, , 19F
大家都是高手 靠你們了
10/16 22:18, 19F
文章代碼(AID): #18zT3rGp (NCKU_CSIE93)