Direct Sun Detector code

10 Ansichten (letzte 30 Tage)
Sameh Salman
Sameh Salman am 29 Mär. 2020
Kommentiert: Image Analyst am 30 Mär. 2020
Dear All;
I have camera fixed in my office which capture image every 5 minute and the captured image sent to MATLAB, what is the best code to detect sun rays that passes through window?
if there is sun rays in office display ('direct sun') else display ('no direct sun')

Akzeptierte Antwort

Image Analyst
Image Analyst am 29 Mär. 2020
Bearbeitet: Image Analyst am 29 Mär. 2020
I'd take an image with the sun in view and then find out how bright it is and it's size. Then threshold the image and look for items roughly that bright and that size.
grayImage = rgb2gray(rgbImage);
binaryImage = grayImage > someValue; % someValue is some value that the sun is ALWAYS brighter than.
[labeledImage, numBlobs] = bwlabel(binaryImage);
props = regionprops(binaryImage, 'Area');
allAreas = [props.Area]
sunBlobs = allAreas >= minAreaForSun & allAreas <= maxAreaForSun;
if sum(sunBlobs) >= 1
% There is a sun in the image.
fprintf('Direct Sun at %s\n', datestr(now));
else
% There is no sun in the image.
fprintf('No Direct Sun at %s\n', datestr(now));
end
Attach photos of "with sun" and "without sun" if you need more help.
  7 Kommentare
Sameh Salman
Sameh Salman am 29 Mär. 2020
if the window is selected as the area of interest your code effectivly well be working for direct sun detection....
thank you very much for your support
Image Analyst
Image Analyst am 30 Mär. 2020

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by