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()

错误信息

---------------------------------------------------------------------------
error                                     Traceback (most recent call last)
<ipython-input-12-e4e99d31bd8f> in <module>
      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‘_第1张图片

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

你可能感兴趣的:(工具使用)