我正在尝试使用基于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 );
两扇窗户现在都好了!