c - opencvResize() problem



我正在尝试使用基于ubuntu 1004构建的opencv2来启动一个简单的程序,该程序读取一个现有图像,从中创建另一个图像,并将原始图像的大小调整为2(宽度和高度(。下面是代码。在执行时,我看不到调整大小的图像窗口。

# include "stdio.h"
#include "opencv2/highgui/highgui_c.h"
#include <opencv2/imgproc/types_c.h>
int main( int argc, char** argv ) {
  IplImage* img = 0;
  IplImage* dst_img = 0;

  if( argc < 2 ) {
    printf( "Usage: Accepts one image as argumentn" );
    exit( EXIT_SUCCESS );
  }
  img = cvLoadImage( argv[1],1);
  if( !img ) {
    printf( "Error loading image file %sn", argv[1]);
    exit( EXIT_SUCCESS );
  }
  dst_img = cvCreateImage(cvSize(img->width*2,img->height*2),img->depth,img->nChannels);
  if( !dst_img ) {
    printf( "Error loading output image file n");
    exit( EXIT_SUCCESS );
  }

  cvResize(img,dst_img,CV_INTER_LINEAR); 
  cvNamedWindow( "Original Image", CV_WINDOW_AUTOSIZE );
  cvNamedWindow( "RescaledImage", CV_WINDOW_AUTOSIZE );
  cvMoveWindow( "Original Image", 720, 515 );
  cvMoveWindow( "RescaledImage", 1500,1200 );
  cvShowImage( "Original Image", img );
  cvShowImage( "RescaledImage", dst_img );
  cvWaitKey( 0 );
  cvReleaseImage( &img );
  cvReleaseImage( &dst_img );
  cvDestroyWindow( "Original Image" );
  cvDestroyWindow( "RescaledImage" );
  return EXIT_SUCCESS;
  }

我正在使用cvCreateImage((,&cvResize((是否正确?

如何在两个方向上将输入图像的大小调整为2?

有没有关于OpenCV的网站(博客、教程(、书籍上的任何指针,这些书有很多可以用来亲自研究OpenCV的示例代码?

cvMoveWindow( "RescaledImage", 1500,1200 ); 

我的错误。我以为这是窗口/图像的尺寸。但这是窗口在屏幕上的位置。将其更改为-

cvMoveWindow( "RescaledImage", 100,100 );

两扇窗户现在都好了!

相关内容

  • 没有找到相关文章

最新更新