如何用VC++获取摄像头中某一祯某一点的像素的RGB值 第一次处理图形图像方面的东西希望高手给点指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用Opencv可以容易实现。1、截取一帧2、获取该帧的数据部分,就是一个二维数组啊3、按照你所要的像素点的坐标,转换成为二维数组的下标就好了,但是要注意好图像数据是倒置的 那再问一个问题我写了个程序希望可以隔4秒获得某一帧的RGB值但窗口显示不出改变后的图像而且同一点的RGB值也不会随着摄像头的晃动改变为什么呢?void delay(){ clock_t start_time; start_time = clock(); while((clock() - start_time) < 4.0 * CLOCKS_PER_SEC) { }}int main(){ CvCapture* capture = cvCaptureFromCAM(0); IplImage *pImg=0; if(!cvGrabFrame(capture)){ // capture a frame printf("Could not grab a frame\n\7"); exit(0); } int ok; scanf("%d",&ok); for(;0<1;){ pImg=cvRetrieveFrame(capture); printf("%d %d\n",pImg->width,pImg->height); cvNamedWindow("Image",1); cvShowImage("Image",pImg); int i,j; scanf("%d %d",&i,&j); printf("%d %d %d\n", ((uchar *)(pImg->imageData + i*pImg->widthStep))[j*pImg->nChannels + 0], ((uchar *)(pImg->imageData + i*pImg->widthStep))[j*pImg->nChannels + 1], ((uchar *)(pImg->imageData + i*pImg->widthStep))[j*pImg->nChannels + 2]); delay(); } cvWaitKey(0); cvReleaseImage(&pImg); cvDestroyWindow("Image"); cvReleaseCapture(&capture); return 0;} C#异步多线程服务器 关于数字电视里面的EMMG与MUX的问题,急急急! 创建控件时如何使它不显示边框 VC如何保护外部进程不被结束 本人第一次做监控,监控行业中操作云台时,是什么个原理,协议是用在哪一个层上?我这样理解是否正确? 初学者提问!!! 100分的问题!!!!!!!!!!!!!!!!!! mfc中word与excel库文件中调用函数重定义 vs2010 调用 vc6.0 DLL,内存访问异常 SetOutPut总是说我串口没有打开 sscanf怎么提取\t分隔的数据 刚刚看书出现的一个问题,谢谢
1、截取一帧
2、获取该帧的数据部分,就是一个二维数组啊
3、按照你所要的像素点的坐标,转换成为二维数组的下标就好了,但是要注意好图像数据是倒置的
我写了个程序希望可以隔4秒获得某一帧的RGB值
但窗口显示不出改变后的图像
而且同一点的RGB值也不会随着摄像头的晃动改变
为什么呢?
void delay()
{
clock_t start_time;
start_time = clock();
while((clock() - start_time) < 4.0 * CLOCKS_PER_SEC)
{
}}int main()
{
CvCapture* capture = cvCaptureFromCAM(0);
IplImage *pImg=0;
if(!cvGrabFrame(capture)){ // capture a frame
printf("Could not grab a frame\n\7");
exit(0);
}
int ok; scanf("%d",&ok); for(;0<1;){ pImg=cvRetrieveFrame(capture);
printf("%d %d\n",pImg->width,pImg->height);
cvNamedWindow("Image",1);
cvShowImage("Image",pImg);
int i,j;
scanf("%d %d",&i,&j);
printf("%d %d %d\n",
((uchar *)(pImg->imageData + i*pImg->widthStep))[j*pImg->nChannels + 0],
((uchar *)(pImg->imageData + i*pImg->widthStep))[j*pImg->nChannels + 1],
((uchar *)(pImg->imageData + i*pImg->widthStep))[j*pImg->nChannels + 2]);
delay(); }
cvWaitKey(0);
cvReleaseImage(&pImg);
cvDestroyWindow("Image");
cvReleaseCapture(&capture);
return 0;
}