/* 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) );
flag:值为0或保持默认设置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();
}