2015-06-21 317 views
1

我想分割我的圖像使用下面的代碼。使用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); 

這是我的輸入圖像 - enter image description here

我想把它分成2連接成品的配件,一個實際的結構和其他7181。相反我越來越6 components.The第一雙組份是 - enter image description here enter image description here

那麼,爲什麼會出現這種情況在所有我測試的圖片每當有苯環它被分離到另一個COMPONE? nt。我怎樣才能把它分成兩個部分 - 結構和'7191'?

回答

1

您分析連接白色像素的面積在你的形象,所以你得到:

  • 白色背景(1)
  • 苯環的內部區域(1)
  • 兩個O S(2)
  • 8(2)
內部區域的內部區

這些共有六個對象。

在處理之前顛倒你的形象,你會得到所有的線條和字母。

+0

非常感謝。我還有一個問題,我有什麼辦法可以加入所有債券並刪除字母? – Noober

+1

@Noober - 是的,你在這裏問這個問題:http://stackoverflow.com/questions/30934611/line-detection-in-image/30942695#30942695 - 有三個很好的答案,爲你和你找到線路沒有接受任何一個。 – rayryeng