作者aaron8920114 (大个)
看板NCKU_CSIE93
标题[请益] 用C++程式 做影像撷取的问题... (应该算吧)
时间Wed Oct 15 19:16:04 2008
小弟需要做一个用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
1F:推 boypower:哦哦大个来贴文了! 10/15 21:50
2F:→ boypower:你的问题不太明确ㄟ 是要问怎麽写还是你的code有错? 10/15 21:51
3F:→ aaron8920114:我要问 我接下来 该怎麽样写 才能把每个像素的值存 10/15 22:17
4F:→ aaron8920114:取下来 并做出判断.. 10/15 22:17
5F:→ aaron8920114:假设说 我要给予每个像素的门槛值为 0的+(-)30 10/15 22:18
6F:→ aaron8920114:超出范围为1 并记录下来 然後可以算出到底有多少点 10/15 22:19
7F:→ aaron8920114:(因为我後面还要判断 他对於整张图的比例 决定是否撷 10/15 22:20
8F:→ aaron8920114:取下来!! 10/15 22:20
9F:推 boypower:既然已经把值存在DiffData 就用for loop再扫一次 10/15 22:23
10F:→ boypower:然後用个变数当作counter来数有几个点超过门槛 10/15 22:23
11F:→ aaron8920114:我如果使用 abx()来把 Diffdata转成正数 10/15 22:25
12F:→ aaron8920114:会不会比较方便 判定门槛呢ㄋ!? 10/15 22:25
13F:→ boypower:不用刻意用abs 就if(xxx < -a || xxx > a) 酱吧 10/15 22:31
14F:推 foxkid:这位是? 10/16 00:12
15F:→ aaron8920114:ㄟ都 我是玩游戏认识 BOYPOWER的 我要跟他请益 10/16 00:53
16F:→ aaron8920114:他告诉我来贴在这边!! 10/16 00:53
17F:推 foxkid:欢迎:) 10/16 07:50
18F:推 boypower:板上高手如云~! 10/16 14:01
19F:推 ZayRowz:大家都是高手 靠你们了 10/16 22:18