【发布时间】:2019-10-19 22:21:53
【问题描述】:
给定cv2.readimg()读入的图片如下:
cv2.imread(path)
然后调用cv2.equalizeHist 发生以下错误:
Traceback (most recent call last):
hist = cv2.equalizeHist(cv_image)
cv2.error: OpenCV(4.1.0) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/histogram.cpp:3345: error: (-215:Assertion failed) _src.type() == CV_8UC1 in function 'equalizeHist'
我已阅读并应用了this 问题和this 问题的答案。这是first 答案中应用的代码:
import cv2
removedNoise = cv2.medianBlur(img,3)
removedNoise1 = np.uint8(removedNoise)
hist = cv2.equalizeHist(cv_image)
这是为尝试second 答案而修改的相同代码:
from skimage import img_as_ubyte
cv_image = img_as_ubyte(removedNoise)
hist = cv2.equalizeHist(cv_image)
在这两种情况下,都会发生相同的原始错误。关于如何解决这个问题的建议将不胜感激。我在macos 上使用opencv 4.1.0。
【问题讨论】:
-
你能上传出现错误的图片吗?
-
你可以试试看这样的图片吗,
img = cv2.imread(path, 0); hist = cv2.equalizeHist(img) -
@SreeramTP 添加
,0参数似乎已修复它-请回答。 -
就可以了。我将添加说明