正在创建二进制映像


clear all;
clc;
imag = imread('286502.png');
image_binary = im2bw(imag,0.85);   %converte image to binary
image_binary = not(image_binary);
figure(1);clf
imagesc(image_binary);colormap(gray)

我用这个代码生成一个椭圆的二进制图像,里面是白色,外面是黑色。但是,我面临的问题是,每当输入椭圆的前景和背景是亮的或暗的时,二进制图像就会变成全黑或全白。

如果你想保持图像的灰度性质,你可以删除行im2bw命令,因为这会将灰度值平坦化为二进制(0-1或白/黑(。

如果你只想显示一个灰色的二进制图像,你可以尝试自定义颜色图

colormap([0 0 0;0.5 0.5 0.5]);

im2bw(imag,0.85)阈值为固定值,这对某些图像有效,但对其他图像无效。我建议您使用Otsu等方法进行二值化,该方法为每个图像单独确定最佳阈值。

image_binary = imbinarize(imag);

相关内容

  • 没有找到相关文章

最新更新