我正在尝试在Python OpenCV中读取和显示图像。
执行以下代码:
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('dumb.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
字符串
导致以下错误:
cv2.error:C:\build\master_winpack-bindings-win64-vc14-static\opencv\modules\highgui\src\window.cpp:325:error:(-215)size.width>0 && size.height>0 in function cv::imshow
我该怎么解决这个问题?
- 注意 *:我已经具备了执行此操作所需的所有先决条件(Python 2.7、OpenCV 3.3、Matplotlib和NumPy)
9条答案
按热度按时间7z5jn7bk1#
如果您尝试使用matplotlib显示OpenCV图像,请使用以下代码。
字符串
rwqw0loc2#
有一个关于 Getting Started with Images 的教程。
字符串
使用图像的 * 绝对 * 路径,这样就不会有任何路径问题。
byqmnocz3#
我写了一个short post to learn image reading with OpenCV in Python。你可以看到下面的代码片段的描述。
字符串
2fjabf4q4#
要使用OpenCV读取图像,您必须使用下面的JavaScript。如果它不工作,则说明安装有问题。
字符串
你没有发布它给出的错误。
编辑:我不明白负面观点……为了什么?
j13ufse25#
此错误消息的原因是cv2.imread()无法在查找图像的位置找到图像。
字符串
pepwfjgg6#
用途:
字符串
它使用
cv2.COLOR_BGR2RGB
,因为它将使用BGR的OpenCV的默认设置转换为RGB格式。mepcadol7#
看起来你的代码很好。问题似乎是在参数中提供的图像的尺寸中。错误代码说:
size > 0 && width > 0
。这个条件没有正确满足。尺寸size
或width
小于零。你可能想检查任何其他图像并尝试使用它。nwsw7zdq8#
使用0而不是
cv2.IMREAD_GRAYSCALE
。我会硬编码文件的位置,而不是像这样引用它。例如,如果它在C驱动器上,使用
'C:\\Filename.jpg'
。vawmfj5a9#
试试这个:
字符串