Edge detection of a thermal image

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

Antworten (2)

Image Analyst
Image Analyst am 28 Mai 2015

0 Stimmen

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.

Community Treasure Hunt

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

Start Hunting!

Translated by