[英]Why isn't imread in openCV opening some of the images?
我得到的错误是
“回溯(最近一次调用最后):文件“C:\Users\harit\Desktop\red.py”,第 6 行,在 cv2.imshow('img',img) 错误:C:\projects\opencv-python\ opencv\modules\highgui\src\window.cpp:304: error: (-215) size.width>0 && size.height>0 in function cv::imshow"
相关代码是这样的:
import cv2
import numpy as np
img = cv2.imread('C:\Users\harit\Desktop\images\12.jpg')
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
尝试改变
img = cv2.imread('C:\Users\harit\Desktop\images\12.jpg')
至
img = cv2.imread(r'C:\Users\harit\Desktop\images\12.jpg')
反斜杠是转义字符,引号前的r告诉python“忽略”它们。
例如:
>>> s = 'C:\Users\harit\Desktop\images\12.jpg'
>>> print s
C:\Users\harit\Desktop\images
.jpg
这是错误的路径!...在字符串前面带有“ r”:
>>> s = r'C:\Users\harit\Desktop\images\12.jpg'
>>> print s
C:\Users\harit\Desktop\images\12.jpg
有关原始字符串的更多信息,请参见https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals
我想我有点理解这个问题。 也许我的解决方案错了。 当我第一次遇到这个问题时,我认为 open cv 只接受 png 图像而不是 jpg 然而,即使在将图像转换为 png 之后,它仍然没有解决 go 的问题。 后来,我尝试重命名图像的名称,新名称以字母而不是数字开头,并且有效。 因此,也许 python open cv 无法读取名称以数字开头的文件,就像它不能接受任何以数字开头的变量名称一样。 也许我完全错了,但是重命名图像文件使问题 go 消失了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.