问题描述:
在使用 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()
结果:
文章来源:https://www.toymoban.com/news/detail-619906.html
注意:namedWindow 指令中的窗口名字必须与展示图像所用的窗口名字相等,否则则会在展示窗口外另显示一个空窗口,且展示窗口图像依然显示不全。另外,cv2.WINDOW_NORMAL参数等价于 cv2.WINDOW_FREERATIO 与 cv2.WINDOW_KEEPRATIO,这些参数使得图像能够适应窗口完全展示且支持窗口大小的调整。文章来源地址https://www.toymoban.com/news/detail-619906.html
到了这里,关于<BUG>【OpenCV】图像显示不全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!