Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python OpenCV错误:(-215:断言失败)_函数';cv::cvtColor';_Python_Opencv - Fatal编程技术网

Python OpenCV错误:(-215:断言失败)_函数';cv::cvtColor';

Python OpenCV错误:(-215:断言失败)_函数';cv::cvtColor';,python,opencv,Python,Opencv,我目前使用的是Windows10,使用的是Python3和cv2 我正在尝试运行以下代码: import cv2 import numpy as np img = cv2.imread('test.jpg', 1) hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) def cv_imread(file_path): cv_img = cv2.imdecode(np.fromfile(file_path, dtype=np.uint8), -1)

我目前使用的是Windows10,使用的是Python3和cv2

我正在尝试运行以下代码:

import cv2
import numpy as np

img = cv2.imread('test.jpg', 1) 
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
def cv_imread(file_path):
    cv_img = cv2.imdecode(np.fromfile(file_path, dtype=np.uint8), -1)
    return cv_img
file_path = './Test.jpg'
img = cv_imread(file_path)
print(img)
但我在运行它时会出现以下错误:

Traceback (most recent call last):

  File "<ipython-input-177-540d1ccc2ece>", line 6, in <module>
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

error: OpenCV(3.4.4) C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:181: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'
回溯(最近一次呼叫最后一次):
文件“”,第6行,在
hsv=cv2.CVT颜色(img,cv2.COLOR\U BGR2HSV)
错误:OpenCV(3.4.4)C:\projects\opencvpython\OpenCV\modules\imgproc\src\color.cpp:181:错误:(-215:断言失败)_函数“cv::cvtColor”中的src.empty()

请帮忙。提前非常感谢。

感谢@amanb。OpenCV imread在Windows上不处理非ascii字符。对于具有外语或非ascii字符的图像。请尝试使用以下代码:

import cv2
import numpy as np

img = cv2.imread('test.jpg', 1) 
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
def cv_imread(file_path):
    cv_img = cv2.imdecode(np.fromfile(file_path, dtype=np.uint8), -1)
    return cv_img
file_path = './Test.jpg'
img = cv_imread(file_path)
print(img)

请检查:1)图像是否存在于提供的路径中2)图像是否正确加载(
print(img)
)。路径是否正确。I print(img),它返回None。如果您得到的是
None
,这意味着图像没有正确加载。请检查图像路径并再次确认。我已经用我自己的测试图像进行了测试,
print(img)
应该会为图像返回一个像素数组。这很奇怪,我已经成功安装了opencv-python-4.0.0.21并导入了cv2,我不知道它为什么不能正确读取图像。你确定
test.jpg
与你的脚本在同一个目录下吗?同时检查图像。要使用您的函数,请记住导入numpy:
将numpy作为np导入