微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python CV2无法将图像转换为灰度

如何解决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 举报,一经查实,本站将立刻删除。