opencv-python中的cv2.namedWindow()有什么用?

如图的四行代码,我看网上的教程表示要先用cv2.namedWindow()创建一个窗口,然后在调用cv2.imshow()显示图片,可是我并没有调用创建窗口这个函数,照样能显示出图片来,我又发现这个函数调不调完全没有区别,可是这样的话又为什么会有这个函数呢?我一共就90财富拿出50,渴望大佬前来救援至于粘贴的,我宁可财富烂掉也不会给你们的

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:保持比例。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-16
读取并显示图像
在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")有什么用?
为什么加不加结果都是一样的?

第2个回答  2018-01-27

用法: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。

第3个回答  2019-02-27
使用cv2.imshow()的时候,如果图片太大,会显示不全并且无法调整,因此在cv2.imshow()的前面加上这样的一个语句:cv2.namedWindow('image', 0),得到的图像框就可以自己调整大小,按住四个角会出来小箭头可以拉伸调整。本回答被提问者采纳
第4个回答  2019-03-06
你这个是简单的图像显示用不到namedWindow函数,但是如果需要在显示窗口之前就用到窗口名时,比如滑动条的使用,要指定滑动条依附到某个窗口上,就需要nameWindow函数先创建窗口,显示地规定窗口名称了。
相似回答