跑步练习2-4的问题,来自学习Opencv,O'Reilly

Problem in running exercice 2-4 from Learning Opencv, O'Reilly

本文关键字:Opencv Reilly 自学习 练习 问题      更新时间:2023-10-16

我正在学习Bradsky和Kaehler合著的《Learning oPENCV》一书。我在Ubuntu 10.10上,以前的例子工作得很好,但在2-4我有一个问题。

这是代码:

#include "cv.h"
#include "highgui.h"
void example2_4( IplImage* image )
{
    // Create some windows to show the input
    // and output images in.
    //
    cvNamedWindow( "Example2_4-in", CV_WINDOW_AUTOSIZE );
    cvNamedWindow( "Example2_4-out", CV_WINDOW_AUTOSIZE );
    // Create a window to show our input image
    //
    cvShowImage( "Example2_4-in", image );
    // Create an image to hold the smoothed output
    //
    IplImage* out = cvCreateImage(
        cvGetSize(image),
        IPL_DEPTH_8U,
        3
    );
    // Do the smoothing
    //
    cvSmooth( image, out, CV_GAUSSIAN, 5,5 );
    cvSmooth( out, out, CV_GAUSSIAN, 5, 5);
    // Show the smoothed image in the output window
    //
    cvShowImage( "Example2_4-out", out );
    // Be tidy
    //
    cvReleaseImage( &out );
    // Wait for the user to hit a key, then clean up the windows
    //
    cvWaitKey( 0 ); 
    cvDestroyWindow("Example2_4-in" );
    cvDestroyWindow("Example2_4-out" );
}
int main( int argc, char** argv )
{
  IplImage* img = cvLoadImage( argv[1] );
  cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE );
  cvShowImage("Example1", img );
  example2_4( img );
//  cvWaitKey(0);
  cvReleaseImage( &img );
  cvDestroyWindow("Example1");
}

这是错误:

alberto@zefiro:/tmp$ g++ pkg-config opencv --cflags --libsCh2_ex2_4.cpp alberto@zefiro:/tmp$ ./a。树。avi OpenCV错误:坏参数(数组应该是CvMat或IplImage)在cvGetSize,文件/build/buildd/opencv-2.1.0/src/cxcore/cxarray.cpp, 1233行终止在抛出'cv::Exception'实例后调用what():/build/buildd/opencv-2.1.0/src/cxcore/cxarray.cpp:1233: error: (-5)函数cvGetSize

中的数组应该是CvMat或IplImage

流产

会是什么呢?一些建议吗? ?我没有修改的例子,我刚刚下载了opencv与synaptic,所以我认为它是在最后的版本!

./a.out tree.avi

你正在传递一个视频文件,而示例期望一个图像。