如果能鼠标拖动改变窗口大小在调试程序时候会方便很多啊~
opencv 画图可以 直接
cv::imshow("camera", frame);
会创建一个命名为“camera”的窗口。 但是默认的创建窗口的namedWindow参数为WINDOW_AUTOSIZE。窗口大小会自动调整以适应所显示的图像,但是不能更改大小。
创建窗口时候改变下参数就可以鼠标随意拖动窗口改变大小啦~
cv::namedWindow("camera", CV_WINDOW_NORMAL);
cv::imshow("camera", frame);
还有其他的参数下下文:
-------------
void namedWindow(const string& winname,int flags=WINDOW_AUTOSIZE );
第一个参数,const string&型的name,即填被用作窗口的标识符的窗口名称。
第二个参数,int 类型的flags ,窗口的标识,可以填如下的值:
WINDOW_NORMAL设置了这个值,用户便可以改变窗口的大小(没有限制)
INDOW_AUTOSIZE如果设置了这个值,窗口大小会自动调整以适应所显示的图像,并且不能手动改变窗口大小.
WINDOW_OPENGL 如果设置了这个值的话,窗口创建的时候便会支持OpenGL
还有 Qt backend supports additional flags:
默认的flags==CV_WINDOW_AUTOSIZE| CV_WINDOW_KEEPRATIO| CV_GUI_EXPANDED
- CV_WINDOW_NORMAL or CV_WINDOW_AUTOSIZE:CV_WINDOW_NORMAL enables you to resize the window, whereasCV_WINDOW_AUTOSIZE adjusts automatically the window size to fit the displayed image (seeimshow() ), and you cannot change the window size manually. 可以改变窗口大小 vs 自适应不能改变窗口大小。
- CV_WINDOW_FREERATIO or CV_WINDOW_KEEPRATIO:CV_WINDOW_FREERATIO adjusts the image with no respect to its ratio, whereasCV_WINDOW_KEEPRATIO keeps the image ratio. 调整图像不管比例 vs 保持原图比例。
- CV_GUI_NORMAL or CV_GUI_EXPANDED:CV_GUI_NORMAL is the old way to draw the window without statusbar and toolbar, whereasCV_GUI_EXPANDED is a new enhanced GUI. 无状态栏和工具栏的普通版GUI 和 增强版GUI