<BUG>【OpenCV】图像显示不全

问题描述:

        在使用 OpenCV 读取并展示图片文件时,有时会出现图片显示不全的情况。

        例如:有如下原图

         在经过以下代码后:

import cv2

img = imread('img.jpg')

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

展示窗口中显示的图像如下: 

         显然,这并不是我们想要的效果,我们展示图像的目的就是为了能观察图像,而图像的显示不全与我们的意愿背道而驰。同时,我们也发现,展示窗口的尺寸很大,而且无法更改,这也是我们所不希望的。     


解决方案:

        在显示图像前,增加 namedWindow 指令:

import cv2

img = imread('img.jpg')

cv2.namedWindow('img', cv2.WINDOW_NORMAL)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

       结果:

        

        注意:namedWindow 指令中的窗口名字必须与展示图像所用的窗口名字相等,否则则会在展示窗口外另显示一个空窗口,且展示窗口图像依然显示不全。另外,cv2.WINDOW_NORMAL参数等价于 cv2.WINDOW_FREERATIO 与 cv2.WINDOW_KEEPRATIO,这些参数使得图像能够适应窗口完全展示且支持窗口大小的调整。文章来源地址https://uudwc.com/A/2Yxm8

原文地址:https://blog.csdn.net/weixin_45410711/article/details/128768563

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年07月24日 14:27
环境配置 | win10上配置Docker,创建容器并运行【图文详解】
下一篇 2023年07月24日 14:33