首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Opencv Opencv程序

Opencv Opencv程序
EN

Stack Overflow用户
提问于 2016-12-26 16:15:02
回答 2查看 1.1K关注 0票数 2

我现在正在用python尝试opencv。这个错误是什么意思?

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

发布于 2017-02-02 04:08:05

您可以在OpenCV documentation中看到,阈值函数仅允许单通道图像。

如果你的图像是彩色的,它就不能工作。如果它是灰度的,但您正在使用imread加载它,那么OpenCV可能会将其加载为3通道。您可以添加标志以使用CV_8UC1将其加载为单通道(假设它是8位无符号的,这对于灰度图像更为常见)。例如: img_df =cv2.imread(“图像/路径”,cv2.CV_8UC1)

票数 2
EN

Stack Overflow用户

发布于 2019-09-09 22:57:52

你必须先将图像转换为灰度,然后才能将图像的阈值转换为两个以上的维度,即(高度,宽度,颜色通道)灰度图像只有两个维度(高度,宽度),这可能会有所帮助

代码语言:javascript
复制
    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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41328335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档