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

import cv2 as cv #读取图像,支持 bmp、jpg、png、tiff 等常用格式 img = cv.imread("玫瑰.jpg") # 路径得改,否则报错 #创建窗口并显示图像 cv.namedWindow("Image")# 给窗口命名 cv.imshow("Image",img)# 将图片展示在窗口中 cv.waitKey(0) #释放窗口 cv.destroyAllWindows()

【opencv error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘cv::imshow‘】错误信息
--------------------------------------------------------------------------- errorTraceback (most recent call last) in 4 #创建窗口并显示图像 5 cv.namedWindow("Image")# 给窗口命名 ----> 6 cv.imshow("Image",img)# 将图片展示在窗口中 7 cv.waitKey(0) 8 #释放窗口error: OpenCV(4.5.1) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-kh7iq4w7\opencv\modules\highgui\src\window.cpp:376: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

错误其实是图片名字中有中文,把图片名改成英文,并在程序中修改就行了。
import cv2 as cv #读取图像,支持 bmp、jpg、png、tiff 等常用格式 img = cv.imread("timg.jpg") # 路径得改,否则报错 #创建窗口并显示图像 cv.namedWindow("Image")# 给窗口命名 cv.imshow("Image",img)# 将图片展示在窗口中 cv.waitKey(0) #释放窗口 cv.destroyAllWindows()

程序运行是,会新建一个窗口,并将图片放到窗口中,窗口左上角是窗口名
opencv error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘cv::imshow‘
文章图片

需要两点注意的,
一是路径名如果有斜杠分隔符,则必须使用转义字符如 r’E:\Downloaded\pexels\The sea21471.jpeg’
二是路径中不能带中文。

    推荐阅读