opencv-python中的cv2.namedWindow()有什么用?
opencv-python中的cv2.namedWindow(),其作用如下:
使用cv2.imshow()的时候,如果图片太大,会显示不全并且无法调整。
因此在cv2.imshow()的前面加上这样的一个语句:cv2.namedWindow('image', 0),得到的图像框就可以自行调整大小,可以拉伸进行自由调整。
扩展资料:
用法:cv2.namedWindow('窗口标题',默认参数)
默认参数:
cv2.WINDOW_AUTOSIZE+cv2.WINDOW_KEEPRATIO+cv2.WINDOW_GUI_EXPANDED)
参数:
(1)cv2.WINDOW_NORMAL:窗口大小可改变。
(2)cv2.WINDOW_AUTOSIZE:窗口大小不可改变。
(3)cv2.WINDOW_FREERATIO:自适应比例。
(4)cv2.WINDOW_KEEPRATIO:保持比例。
在Python中不需要声明变量,所以也就不需要C++中的cv::Mat xxxxx了。只需这样:
[python] view plain copy
img = cv2.imread("D:\cat.jpg")
OpenCV目前支持读取bmp、jpg、png、tiff等常用格式。更详细的请参考OpenCV的参考文档。
接着创建一个窗口
[python] view plain copy
cv2.namedWindow("Image")
然后在窗口中显示图像
[python] view plain copy
cv2.imshow("Image", img)
最后还要添上一句:
[python] view plain copy
cv2.waitKey (0)
如果不添最后一句,在IDLE中执行窗口直接无响应。在命令行中执行的话,则是一闪而过。
完整的程序为:
[python] view plain copy
import cv2
img = cv2.imread("D:\\cat.jpg")
cv2.namedWindow("Image")
cv2.imshow("Image", img)
cv2.waitKey (0)
cv2.destroyAllWindows()
最后释放窗口是个好习惯!
我的问题是,
cv2.namedWindow("Image")有什么用?
为什么加不加结果都是一样的?
用法:cv2.namedWindow('窗口标题',默认参数)
默认参数:cv2.WINDOW_AUTOSIZE+cv2.WINDOW_KEEPRATIO+cv2.WINDOW_GUI_EXPANDED)
参数:
cv2.WINDOW_NORMAL 窗口大小可改变
cv2.WINDOW_AUTOSIZE 窗口大小不可改变
cv2.WINDOW_FREERATIO 自适应比例
cv2.WINDOW_KEEPRATIO 保持比例饿
cv2.WINDOW_GUI_NORMAL
cv2.WINDOW_GUI_EXPANDED
用法:cv2.imshow('窗口标题', image),如果前面没有cv2.namedWindow,就自动先执行一个cv2.namedWindow。