使用 MATLAB 进行图像分割处理
Segmentation image processing using MATLAB
我正在尝试使用以下代码分割我的图像。
image=imread('mob.jpg');
image = im2bw(image);
L = bwlabel(image,8);% Calculating connected components
mx=max(max(L))
[r,c] = find(L==1);
rc = [r c];
[sx sy]=size(rc);
n1=zeros(imx,imy);
for i=1:sx
x1=rc(i,1);
y1=rc(i,2);
n1(x1,y1)=255;
end
imshow(image);
figure,
imshow(n1);
这是我的输入图像-
我想把它分成 2 个连接的组件——一个是实际结构,另一个是 7181
。相反,我得到的是 6
components.The 前两个组件是-
那么为什么会发生这种情况?在我测试的所有图片中,只要有一个苯环,它就会被分离成另一个 component.How 我可以将它分成两个部分 - 结构和“7191”吗?
您正在分析图像中连接的 白色 像素的区域,因此您得到:
- 白色背景(1)
- 苯环内区(1)
- 两个
O
的内部区域 (2)
8
的内部区域 (2)
总共有六个对象。
在处理之前反转你的图像,你会得到所有的线条和字母。
我正在尝试使用以下代码分割我的图像。
image=imread('mob.jpg');
image = im2bw(image);
L = bwlabel(image,8);% Calculating connected components
mx=max(max(L))
[r,c] = find(L==1);
rc = [r c];
[sx sy]=size(rc);
n1=zeros(imx,imy);
for i=1:sx
x1=rc(i,1);
y1=rc(i,2);
n1(x1,y1)=255;
end
imshow(image);
figure,
imshow(n1);
这是我的输入图像-
我想把它分成 2 个连接的组件——一个是实际结构,另一个是 7181
。相反,我得到的是 6
components.The 前两个组件是-
那么为什么会发生这种情况?在我测试的所有图片中,只要有一个苯环,它就会被分离成另一个 component.How 我可以将它分成两个部分 - 结构和“7191”吗?
您正在分析图像中连接的 白色 像素的区域,因此您得到:
- 白色背景(1)
- 苯环内区(1)
- 两个
O
的内部区域 (2) 8
的内部区域 (2)
总共有六个对象。
在处理之前反转你的图像,你会得到所有的线条和字母。