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 (将#修改为@)