import cv2 as cv

import numpy as np

#读取图片

img=cv.imread(r'E:\Downloaded\pexels\The sea21471.jpeg',1)

#获取图片的长宽信息

sp=img.shape

length=sp[1]

heighth=sp[0]

print('加载的图片的宽度:{},高度:{}'.format(length,heighth))

#显示窗口和图片

cv.namedWindow('原图片')

cv.imshow('原图片',img)

#转换成灰度图片

img2=cv.cvtColor(img,cv.COLOR_BGR2GRAY)

cv.namedWindow('转换后')

cv.imshow('转换后',img2)

#图像二值化

cv.threshold(img,280,500,0,img)

cv.namedWindow('图像二值化')

cv.imshow('图像二值化',img2)

#设置窗口等待时间,0代表一直显示

cv.waitKey(0)

#手动释放内存

cv.destroyAllWindows()

百度后看到碰到类似问题的答案,是因为路径不对,也就是说找不到图片,所以报错,修改路径后成功显示图片,效果如下:

error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘cv::imshow‘_二值化