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.
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 ?
Ç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.
">" aslında ">" anlamına geliyor sanırım. Siteye yapıştırırken bozulmuş olmalı.
Görsel olarakta 9 figure kadar calışıyor devamı gelmiyor isterseniz görselide yükleyebilirim