Display changing lines using Computer Vision Toolbox. PLEASE HELP!

1 view (last 30 days)
I am writing a program using the Computer Vision Toolbox. My program detects two objects by thresholding and then using Blob analysis to place bounding boxes around the objects. I would like to insert a line between the bounding boxes and eventually find the distances between the objects. However, the bounding boxes are only present when the objects are in the video and therefore the lines will not always be present. I have tried this:
if not(isempty(BBox))
if (size(BBox,1)> 2)
pts = [BBox(1,1) BBox(1,2) BBox(2,1) BBox(2,2)];
Imr = step(hshapeins, Imr, pts);
step(hAllObjects, Imr);
If anyone has any idea how to do this please comment!!! Thanks.

Accepted Answer

Witek Jachimczyk
Witek Jachimczyk on 31 Jul 2012
This would connect upper left corners of the bounding boxes. What you are doing makes sense. What is the exact problem that you are running into?
I see some issues in the code above:
  • you are assuming two objects, yet, this line: if (size(BBox,1)> 2) requires more than two objects; I think that you meant to write: if (size(BBox,1) >= 2)
  • I assume that you have hshapeins configured to draw lines; if that's correct then your code should work
  1 Comment
Samuel Thomas
Samuel Thomas on 3 Aug 2012
Thank you very much!! I can't believe I missed that.
I have another question. I am now trying to display the distance of my changing line. I've gotten a number to display but it isn't changing. I computed the value myself and it doesn't match up. This is what my code looks like:
if not(isempty(BBox))
if (size(BBox,1) >= 2)
d = sqrt(double(((BBox(2,1)+BBox(2,3)+20)- (BBox(1,1)+BBox(1,3)+130))^2+((BBox(2,2)+BBox(2,4)-100)-(BBox(1,2)+BBox(1,4)+110))^2));
d = int8(d);
Imr = step(DistanceDisplay, Imr, d);
step(hAllObjects, Imr);
If you could help me that would be great!

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!

Translated by