Soru sorError using hatası alıyorum
matlabmaker tarafından 4 yıl önce soruldu
I = imread('Matlab.jpg');
figure, imshow(I);
YCbCr = rgb2ycbcr(I);
figure, imshow(YCbCr);
Y = YCbCr(:,:,1);
Cb = YCbCr(:,:,2);
Cr = YCbCr(:,:,3);
figure, imshow(Y);
figure, imshow(Cb);
figure, imshow(Cr);
bw = im2bw(Y,.8);
figure, imshow(bw)
bw = imcomplement(bw);
figure, imshow(bw);
bw = bwareaopen(bw,50);
figure, imshow(bw);
R = I(:,:,1);
G = I(:,:,2);
B = I(:,:,3);
R(~bw) = 0;
G(~bw) = 0;
B(~bw) = 0;
RGB = cat(3,R,G,B);
figure, imshow(RGB);
[B,L] = bwboundaries(bw,'noholes');
stats = regionprops(L,'All');

bw2 = zeros(size(I,1),size(I,2));
RGB2 = I;
RGB3 = I;
for k = 1:length(B)
boundary = B{k};
delta_sq = diff(boundary).^2;
perimeter = stats(k).Perimeter;
area = stats(k).Area;
metric = 4*pi*area/perimeter^2;
bbox = stats(k).BoundingBox;
eccentricity = stats(k).Eccentricity;
MajorAxisLength = stats(k).MajorAxisLength;
MinorAxisLength = stats(k).MinorAxisLength;
d = MajorAxisLength/MinorAxisLength;
position = [boundary(1,2),boundary(1,1)];

RGB2 = insertText(RGB2,position,num2str(metric),'FontSize',20,'BoxOpacity',0.8,'TextColor','white');

if metric >0.9
bw2(L==k) = 1;
RGB3 = insertObjectAnnotation(RGB3,'rectangle',bbox,'lingkaran','FontSize',20,'LineWidth',4);
end
end

hold on

R = I(:,:,1);
G = I(:,:,2);
B = I(:,:,3);

R(~bw2) = 0;
G(~bw2) = 0;
B(~bw2) = 0;
RGB = cat(3,R,G,B);

figure, imshow(RGB);
figure, imshow(RGB2);
figure, imshow(RGB3);

 

aldığıgım hata
ldığım hata\\\’da bu sekilde Error using > Not enough input arguments.   yardımcı olabilir misiniz nerede hata yapıyorum.

6 Cevap
ekremt Yönetici tarafından 4 yıl önce cevaplandı

Merhaba,
Kodunuz çalışıyor çıktı olarak 9 farklı figür ekrana geliyor. Ancak belirttiğiniz gibi hatanın nerede hangi satırda olduğunu göstermiyor.
Büyük ihtimalle aşağıda belirttiğim kısımda bir hatanız var.
 

if metric >0.9
bw2(L==k) = 1;
RGB3 = insertObjectAnnotation(RGB3,'rectangle',bbox,'lingkaran','FontSize',20,'LineWidth',4);
end

Burada ve operatörü için iki tane & kullanmanız (&& şeklinde) daha uygun olacaktır.
Ayrıca metric veya gt ifadelerinden bir tanesini input olarak kodunuz görmemekte. Bunu bir daha kontrol eder misiniz ?

sayginer Yönetici tarafından 4 yıl önce cevaplandı

Çalıştığınız görselleri kullanamadığımız için kodunuzu çalıştırmamız mümkün değil. Ancak aldığınız hataya bakarak bir yerlerdeb boş matris geliyor olabilir. Verdiği hata kodunda hatanın alındığı satırı da söylüyor olmanı, o satırı da kontrol etmenizi tavsiye ediyorum.

Caglar Yönetici tarafından 4 yıl önce cevaplandı

">" aslında ">" anlamına geliyor sanırım. Siteye yapıştırırken bozulmuş olmalı. 

matlabmaker tarafından 4 yıl önce cevaplandı

Görsel olarakta 9 figure kadar calışıyor devamı gelmiyor isterseniz görselide yükleyebilirim

matlabmaker tarafından 4 yıl önce cevaplandı

Sorunu çözdüm cok tesekkür ederim

Caglar Yönetici tarafından 4 yıl önce cevaplandı

Nasıl çözdünüz?