错误 - 未定义的功能' imbinarize'对于类型' double'的输入参数在matlab中

时间:2016-12-14 12:15:41

标签: matlab image-processing

当我使用熵计算阈值并使用imbinarize(img,T)将灰度图像转换为二进制图像时,它显示错误。如何处理这个错误

1 个答案:

答案 0 :(得分:1)

imbinarize使用256 bin图像直方图来计算Otsu的阈值,因此它需要一个'uint'图像。

从错误中我们可以推断出您的图片是double,因此只需将其转换为uint

img = im2uint8(img)

然后在im

之上运行imbinarize
im_binarized = imbinarize(img,T)

修改

此外,您的问题可能是您没有安装图像处理工具箱。

您可以在没有工具箱的情况下对图像进行阈值处理,只需执行以下操作:

im_binarized = im > T;   % where T is your threshold