finding the co-ordinates

12 views (last 30 days)
kash
kash on 25 Apr 2012
I have a matrix as
S=[0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 0 0 0 0
0 0 0 1 1 1 1 0 0 0 0
0 0 0 1 1 1 1 0 0 0 0
0 0 0 1 1 1 1 0 0 0 0
0 0 0 1 1 1 1 0 0 0 0]
in this i want to find the position of ones so that i can draw the bounding box over ones please help how to processs

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 25 Apr 2012
st = regionprops(S, 'BoundingBox' )
eg:
z = randi(15,size(S))
ij = ceil(st.BoundingBox);
out = z(ij(2) + (0:ij(4)-1),ij(1) + (0:ij(3)-1))
added after the Kash's comment
Img = imread('Q8vjJ.png');
BW = im2bw(Img,graythresh(Img));
BW(:,1) = false;
BW2 = cumsum(BW,2) & fliplr(cumsum(BW(:,end:-1:1),2));
BW2 = cumsum(BW2) & flipud(cumsum(BW2(end:-1:1,:)));
st = regionprops(SBW2, 'BoundingBox' );
imcrop(Img,st.BoundingBox + [-1 -1 1 1]);
  3 Comments
kash
kash on 25 Apr 2012
Andrei i get error
Error using ==> ceil
Too many input arguments.
for my image
http://imgur.com/Q8vjJ
please help
kash
kash on 25 Apr 2012
I need just a bounding box over the white regions (i.e) the text,but the image is cropped .i dont want to crop the image just a bounding box over it

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!