Soru sorlabeled objeleri görüntüleme
lifeisnotbeautiful tarafından 5 yıl önce soruldu

labeled objeleri görüntülemek için kullandığım,

[L, num] = bwlabel(B);
for k = 1 : num
thisBlob(k) = ismember(L, k);
figure
imshow(thisBlob, []);

end

kodumu çalıştırdığımda ""thisBlob(k) = ismember(L, k); Subscripted assignment dimension mismatch"" hatası alıyorum, (B= binary image görüntüm)
bu hatayı nasıl düzeltebilirim "" ismember(L, k); "" değerini 2 boyutlu veri şekilde kaydetmek istiyorum. yardımcı olur musunuz?

3 Cevap
murkoc tarafından 5 yıl önce cevaplandı

Merhaba,
num anladığım kadarıyla sonuca gore değişiyor. Bunun yerine num u function olarak tanımlayın. Num(s) gibi. Girdi ve cikti boyutlarının farklı olmasından kaynaklı bir hata. Örneğin 3x3luk bi matrise 3x2lik bir tanımlama olabilir. Kodun ilgili kısmını paylaşabilirseniz daha rahat yorum yapılabilir.
 
 

lifeisnotbeautiful tarafından 5 yıl önce cevaplandı

merhaba belirttiğim kod resmimdeki belirnen objeleri tek tek ekrana getiriyor beniim yapmak istediğim ise şu şekilde aynı koda tek tek gelen binary görünteki objeleri orjinal resmim olan rgb resmim ile çarparak binary image tekli obje görüntülerim üzerine orjial resmimi bindirmek şu linkte daha iyi anlatabildiğimi düşünüyorum https://drive.google.com/file/d/1-vvToskbGgwbCylfe6v8l39m4Y3rGQoo/view?usp=sharing

murkoc tarafından 5 yıl önce cevaplandı

Birleştirmak istenen görüntü :
A = imread('imagepath');
B = binaryImage;
bu görüntüleri çarpmak için : 
C = A*B;
imshow(C);
komutunu kullandığınızda A ve B resimlerinin bindirilmiş görüntüsünü elde edersiniz.