灰度图像分割

时间:2014-08-22 12:28:16

标签: python opencv image-processing

我试图分割由现场测量产生的灰度图像,这就是为什么它不是传统的3通道图像。

我尝试过这段代码:

import cv2 #this is the openCV library
import numpy as np

# some code to generate img

ret,thresh = cv2.threshold(img ,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)

它吐出了这个错误:

cv2.error: ..\..\..\modules\imgproc\src\thresh.cpp:719: error: (-215) src.type() == CV_8UC1 in function cv::threshold

我不知道如何解决这个问题,因为使用似乎非常简单,所以任何想法都是受欢迎的。

2 个答案:

答案 0 :(得分:3)

错误是由CV_Assert( src.type() == CV_8UC1 );中的以下断言语句thresh.cpp引起的,这意味着您的输入图像不是CV_8UC1类型。

因此,请确保生成的输入图像img实际上是CV_8UC1(一个通道的8位图像)。

答案 1 :(得分:0)

所以问题确实是图像类型,因为它包含需要将其标准化为0~255的双值。

在我的情况下,1000是可能的最大值

img = cv2.convertScaleAbs(img / 1000.0 * 255)

这对我有用。