opencv cv2.imshow显示图片一片黑色或者别的颜色,且无法调整窗口大小

原因一:没有在cv2.imshow()后面加上这两句

cv2.waitKey(0)  
cv2.destroyAllWindows()

cv2.namedWindow('窗口名',0)
cv2.imshow('窗口名',image)
cv2.waitKey(0)  
cv2.destroyAllWindows()

原因二:

可能是因为你的原图太大,,导致只显示了一部分,没有完全显示出来,,,,

这也是我刚刚遇到的问题,找遍了全网都没有答案

最后发现居然是自己的图片太大,导致只显示了我的图片的一个角落,而我的这个图片角落刚好是黑色,,,还以为我的opencv不兼容了,差点就卸载重装

解决方法:调节窗口大小

(1)固定窗口大小(如400x300)

在imshow前面加上

cv2.namedWindow('窗口名', 0)
cv2.resizeWindow('窗口名', 400, 300)

注意:窗口名要一致,有几个窗口就要加几次这两行代码

举例如下:

import cv2
img=cv2.imread(‘5.jpg’,0)
rows,cols=img.shape
ret2,mask2  = cv2.threshold(img,23, 255,cv2.THRESH_OTSU | 1)
ret2,mask3 = cv2.threshold(img,0,255,1+ cv2.THRESH_OTSU)

cv2.namedWindow(“img”, 0)
cv2.namedWindow(“mask3”, 0)
cv2.namedWindow(“result_img”, 0)

cv2.resizeWindow(“mask3”, 400, 480)
cv2.resizeWindow(“mask2”,  400, 480)
cv2.resizeWindow(“img”,  400, 480)

cv2.imshow(“img”, img)
cv2.imshow(“mask3”, mask3)
cv2.imshow(“mask2”, mask2)

cv2.waitKey(0)  
cv2.destroyAllWindows()

(2)先不固定窗口大小

在cv2.imshow前面加上

cv2.namedWindow('窗口名', 0)

 

cv2.namedWindow('窗口名',1)  

1表示由电脑自动显示尺寸,但是在大图片的时候,由于电脑屏幕有限,只会显示一部分

 

cv2.namedWindow('窗口名',0)  

0表示可以手动调节显示尺寸

 

 

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Evan Yi

老板行行好,打赏一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值