作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个程序,打印出从网络摄像头捕获的两帧(相隔 30 帧)之间的范数,但 cvNorm 始终返回 0。我做错了什么?代码如下:
int main( int argc, char **argv )
{
CvCapture *capture = 0;
IplImage *frame = 0;
int key = 0;
/* initialize camera */
capture = cvCaptureFromCAM( 0 );
/* always check */
if ( !capture ) {
fprintf( stderr, "Cannot open initialize webcam!\n" );
return 1;
}
/* create a window for the video */
cvNamedWindow( "result", CV_WINDOW_AUTOSIZE );
IplImage *image;
IplImage pastImage;
for(int i = 0; key != 'q'; i++ ) {
image = cvQueryFrame(capture);
这里是检查发生的地方:
if(!(i %30)){
if(i){
cout<<cvNorm(&pastImage,image)<<endl;
}
memcpy(&pastImage,image, sizeof(IplImage));
}
frame = image;
/* always check */
if( !frame ) break;
/* display current frame */
cvShowImage( "result", frame );
/* exit if user press 'q' */
key = cvWaitKey( 1 );
}
/* free memory */
cvDestroyWindow( "result" );
cvReleaseCapture( &capture );
return 0;
}
最佳答案
memcpy 图像对象不会复制图像。它复制图像元数据。元数据指向实际图像像素。 OpenCV中应该有图像复制功能。叫那个。
这是关于该主题的教程:http://nashruddin.com/opencv-examples-for-operation-on-images.html/4
关于c++ - 比较网络摄像头帧时,cvNorm() 总是返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9157777/
我知道调用函数时使用的 norm_type 的默认值为 4,但这对应于什么?选项为 NORM_INF、NORM_L1 和 NORM_L2。以下哪一个是 4?当我在做的时候,其他人的值(value)是什
我正在尝试编写一个程序,打印出从网络摄像头捕获的两帧(相隔 30 帧)之间的范数,但 cvNorm 始终返回 0。我做错了什么?代码如下: int main( int argc, char **arg
我是一名优秀的程序员,十分优秀!