首页 > 解决方案 > cv2 错误:(-215:断言失败)!_src.empty() in function 'cv::cvtColor'

问题描述

我正在尝试过滤图像中的红色,但出现错误 cv2.error: OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-ttbyx0jz\opencv \modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed 。我不知道如何解决这个问题。这是我的代码

import cv2
import numpy as np


path = "C:\\Users\\MERYEM\\OneDrive\\Masaüstü\\scan\\Img_Data\\Chosen\\frame3802.jpg"

image = cv2.imread(path)

hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
lower_red = np.array([178,179,0])
upper_red = np.array([255,255,255])

mask = cv2.inRange(hsv,lower_red, upper_red)

cv2.imshow('Original Image',image)
cv2.imshow('Detection', hsv)

cv2.waitKey(0)
cv2.destroyAllWindows()

我需要你的帮助,提前谢谢。顺便说一句,如果重要的话,我正在使用 PyCharm

标签: pythonnumpyopencvpycharmcv2

解决方案


再次检查图像地址或选择另一个图像进行测试。

还; OpenCV 的HSV范围是(0-180, 0-255, 0-255)

import cv2
import sys
import numpy as np


im = cv2.imread(sys.path[0]+'/back.png')

hsv = cv2.cvtColor(im, cv2.COLOR_BGR2HSV)
redL = np.array([180*350/360, 0, 0])
redU = np.array([180*360/360, 255, 255])
mask = cv2.inRange(hsv, redL, redU)


mask = cv2.cvtColor(mask, cv2.COLOR_GRAY2RGB)
cv2.imwrite(sys.path[0]+'/out.png',np.hstack((im, mask)))

图像和输出掩码的输出:

在此处输入图像描述


有关模块及其许可证的更多信息: OpenCVNumPy


推荐阅读