Edge detection of a thermal image

Hello,
How can I determine and mark the edges of an image as in the picture.
Thanks.

Answers (2)

I'm going to assume by edges you mean the bounding box of that rectangular-shaped thing. You can get a binary image of the scene by thresholding. Then use sum() to get horizontal and vertical profiles and find the firs and last non-zero pixel.
binaryImage = grayImage > 0; % Or whatever value works.
xProfile = sum(binaryImage, 1);
yProfile = sum(binaryImage, 2);
leftColumn = find(xProfile, 1, 'first');
rightColumn = find(xProfile, 1, 'last');
topRow = find(yProfile, 1, 'first');
bottomRow = find(yProfile, 1, 'last');
Now you have the bounding box, or "edges" of the rectuangular shape in the middle of your image.

Asked:

on 28 May 2015

Answered:

on 28 May 2015

Community Treasure Hunt

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

Start Hunting!