/* resize/move window */ CVAPI(void) cvResizeWindow( const char* name, int width, int height ); CVAPI(void) cvMoveWindow( const char* name, int x, int y );
cvResizeWindow():用来调整窗口的大小
width/height:以像素为单位,指定窗口中可以显示的部分
cvMoveWindow():将窗口移动到其左上角为x,y的位置
void Wind(void) { cvNamedWindow("src"); IplImage *src=cvLoadImage("lena.jpg"); if (src == NULL) exit(0); cvShowImage("src", src); cvWaitKey(0); cvMoveWindow("src", 100, 100); cvResizeWindow("src", 300, 100); cvShowImage("src", src); cvWaitKey(0); cvReleaseImage(&src); cvDestroyWindow("src"); }
#####################################################
/* create window */ CVAPI(int) cvNamedWindow( const char* name, int flags CV_DEFAULT(CV_WINDOW_AUTOSIZE) );
如果使用CV_WINDOW_AUTOSIZE,则根据图像大小调整窗口大小;
如果使用0,则可以配合使用cvResizeWindow()函数手动调整窗口大小。
程序:将窗口大小设置为300x300,并移动到指定位置显示
void thresh(void) { IplImage *img=cvLoadImage("3.jpg", CV_LOAD_IMAGE_GRAYSCALE); IplImage *dst=cvCreateImage(cvGetSize(img), img->depth, img->nChannels); if (NULL == img || NULL == dst) { cout<<"error "<<endl; cin.get(); exit(0); } cvThreshold(img, dst, 100, 255, CV_THRESH_BINARY); cvNamedWindow("img", 0); cvNamedWindow("dst", 0); cvResizeWindow("img", 300, 300); cvResizeWindow("dst", 300, 300); cvMoveWindow("img", 300, 300); cvMoveWindow("dst", 700, 400); cvShowImage("img", img); cvShowImage("dst", dst); cvWaitKey(0); cvReleaseImage(&img); cvReleaseImage(&dst); cvDestroyAllWindows(); }