How to get image brightness ?
4 views (last 30 days)
Show older comments
Hi everyone! I am new to MATLAB Image Processing and I need your help. I need to build a code that calculates this instantaneous apparent brightness m_inst, related to the straight line in figure. The exposure time of the frame that I have attached here is one second. Can anyone help me?
I have worked on a code like this to obtain the brightness of the pixels belonging to that straight line but I don't know if it is useful for the calculation of apparent brightness:
A=rgb2gray(imread('Img_0685.bmp'));
B=bwareafilt(imbinarize(A-medfilt2(A,[5,5])) ,1) ;
pixelValues=A(B)
figure
imshow(B)
0 Comments
Answers (2)
yanqi liu
on 14 Oct 2021
clc; clear all; close all;
A=rgb2gray(imread('https://ww2.mathworks.cn/matlabcentral/answers/uploaded_files/766496/Img_0685.bmp'));
B=bwareafilt(imbinarize(A-medfilt2(A,[5,5])) ,1) ;
res=mean2(double(A(B)))
figure
imshow(B)
0 Comments
yanqi liu
on 14 Oct 2021
clc; clear all; close all;
A=rgb2gray(imread('https://ww2.mathworks.cn/matlabcentral/answers/uploaded_files/766496/Img_0685.bmp'));
B=bwareafilt(imbinarize(A-medfilt2(A,[5,5])) ,1) ;
C=A.*uint8(B);
ci = unique(C(:));
ci_sum = 0;
for i = 1 : length(ci)
if ci(i) > 0
ci_num = length(find(C(:)==ci(i)));
ci_sum = ci_sum + ci_num;
end
end
n = length(find(C(:)>0));
csky = length(find(C(:)==0));
t = 1;
minist = 30 - 2.5*log10((ci_sum-n*csky)/t)
figure
imshow(C)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!