原因一:没有在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表示可以手动调节显示尺寸