我现在正在用python尝试opencv。这个错误是什么意思?
OpenCV Error: Assertion failed (m.dims >= 2) in Mat, file /build/opencv-ISmtkH/opencv-2.4.9.1+dfsg/modules/core/src/matrix.cpp, line 269
Traceback (most recent call last):
File "sabun5.py", line 16, in <module>
img_m = cv2.threshold(img_df, 50, 255, cv2.THRESH_BINARY)[1]
cv2.error: /build/opencv-ISmtkH/opencv-2.4.9.1+dfsg/modules/core/src/matrix.cpp:269: error: (-215) m.dims >= 2 in function Mat发布于 2017-02-02 04:08:05
您可以在OpenCV documentation中看到,阈值函数仅允许单通道图像。
如果你的图像是彩色的,它就不能工作。如果它是灰度的,但您正在使用imread加载它,那么OpenCV可能会将其加载为3通道。您可以添加标志以使用CV_8UC1将其加载为单通道(假设它是8位无符号的,这对于灰度图像更为常见)。例如: img_df =cv2.imread(“图像/路径”,cv2.CV_8UC1)
发布于 2019-09-09 22:57:52
你必须先将图像转换为灰度,然后才能将图像的阈值转换为两个以上的维度,即(高度,宽度,颜色通道)灰度图像只有两个维度(高度,宽度),这可能会有所帮助
import cv2
img = cv.imread('x.png',0)
# where 0 converts the image in grayscale or gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_m = cv2.threshold(img, 50, 255, cv2.THRESH_BINARY)[1]
cv2.waitKey(0)https://stackoverflow.com/questions/41328335
复制相似问题