Reference to non-existent field 'BoundingBox'. can you help me? why?

2 visualizaciones (últimos 30 días)
a=imread('image201504160001.jpg');
>> figure,imshow(a);
>> title('Original Image');
>> %Convert the Image to binary
>> b=im2bw(a);
>> %Fill the holes
>> c=imfill(b,'hole');
>> %Label the connected components
>> [Label,Total]=bwlabel(c,8);
>> figure,imshow(c);title('Labelled Image');
>> %Rectangle containing the region
>> Sdata=regionprops(Label,'BoundingBox');
>> %crop all the car
>> for i=1:Total
img=imcrop(a,sdata(i).BoundingBox);
Name=strcat('Object Number:',num2str(i));
figure,imshow(Img); title(Name);
end
  2 comentarios
Guillaume
Guillaume el 16 de Abr. de 2015
In the above code, the case of the S in sdata changes between the two lines referencing it (one is Sdata, the other is sdata). Is it a genuine error or a copying error? It would generate a different error message though, so I'm not sure why you're getting this error.
vu chung
vu chung el 21 de Abr. de 2015
thanks for your answer! i understand, it was run but wrong. i have one image include two car but it count 26 car. it donot know position car to count 1 1 point white on image it count is one can you help me,please thanks.

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 21 de Abr. de 2015
Please address Guillaume's suggestion that you mistyped the name. Sdata is a different variable than sdata because MATLAB is case sensitive. Capital or lower case "s" - it makes a huge difference!!! You must use the same case letters throughout your program , otherwise it will think you have two different variables: sdata and Sdata. Sdata came out of regionprops() so it will have a BoundingBox field, while sdata was not defined so it certainly won't have ANY fields at all, much less one called BoundingBox.
  2 comentarios
vu chung
vu chung el 21 de Abr. de 2015
thanks your answer yes, i repaired sdata but it count wrong in image have two car count result many car How to result right two car Thanks
Image Analyst
Image Analyst el 21 de Abr. de 2015
Your segmentation algorithm is wrong. I don't know what you're doing, but you say it's wrong. Looks like you might be able to find the background color or texture (with stdfilt() or rangefilt()) and then invert it and fill holes, but I don't know.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Computer Vision with Simulink en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by