如何解决Python CV2无法将图像转换为灰度
所以我已经编写了一个模块来检测特定图像的特征。突然,没有更改图像格式或来源,也没有更改任何内容,它开始向我返回以下异常:
gray = np.float32(cv2.cvtColor(self.image,cv2.COLOR_BGR2GRAY))
cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-pz4stnv8\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion Failed) !_src.empty() in function 'cv::cvtColor'
该模块的代码如下:
import sys
import cv2
import numpy as np
class UnkNown_algorythm_error(Exception):
def __init__(self):
pass
class Corner_detector():
def __init__(self,image,detectortype="Harris",corners=[]):
self.corners = corners
self.image = image
self.detectortype = detectortype
def update(self,image=None):
try:
if image.type() != None:
self.image = image
except:
self.image = image
gray = np.float32(cv2.cvtColor(self.image,cv2.COLOR_BGR2GRAY))
if self.detectortype == "Harris":
self.corners = cv2.cornerHarris(gray,3,1)
elif self.detectortype == "Shi-Tomasi":
self.corners = cv2.goodFeaturesToTrack(gray,1)
else:
raise UnkNown_algoryth_error
return self.corners
def updateanddisplay(self):
dst = self.update(image=self.image)
self.image[dst>0.01*dst.max()] = [0,255]
return self.image
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。