学堂 学堂 学堂公众号手机端

【图像检测】基于计算机视觉实现教室人数统计附matlab代码

lewis 6年前 (2019-07-07) 阅读数 8 #技术
1 内容介绍

计算机视觉检测技术是检测技术中一个新兴的应用方向和备受关注的前沿课题,是计算机技术、模式识别、检测技术、数字图像处理、人工智能等多门学科的结晶。如今,计算机视觉检测技术正在向更智能化的方向发展,即不需要人为干预,即可利用图像处理、模式识别等方法,获取一定区域内的信息并自动分析,实现对场景内目标的识别、定位甚至跟踪,得出对图像内容含义以及客观场景的理解,最终给出检测结果。

2 部分代码

function im=LightCompensate(I)



[m0,n0,l]=size(I);

%figure,imshow(I)

thresholdco=0.05; %比例系数

thresholdnum=100; %像素个数的临界常数

histogram=zeros(1,256); %灰度级 数组

if m0*n0*thresholdco<thresholdnum

disp('输入图像太小,请换一张!');

return

end

gray=0;

index0=0;

for i=1:m0 %scan image

for j=1:n0

gray=round(I(i,j,1)*.299+I(i,j,2)*.587+I(i,j,3)*.114);

index0=gray+1;

histogram(1,index0)= histogram(1,index0)+1;

end

end

calnum=0;

total=m0*n0;

num=0;

%next获得满足系数thresholdco的临界灰度级

index1=0;

for i=1:256

if calnum/total<thresholdco

index1=256-i+1;

calnum=calnum+histogram(1,index1);

num=i;

else

break;

end

end

averagegray=0;

calnum=0;

k=256-num+1;

% 获得满足条件的像素总的灰度值

for i=256:-1:k

averagegray=averagegray+histogram(1,i)*i;

calnum=calnum+histogram(1,i);

end

averagegray=averagegray/calnum;

co=255.0/averagegray;

%进行光线补偿

for i=1:m0

for j=1:n0

I(i,j,1)=I(i,j,1)*co;

if I(i,j,1)>255

I(i,j,1)=255;

end

I(i,j,2)=I(i,j,2)*co;

if I(i,j,2)>255

I(i,j,2)=255;

end

I(i,j,3)=I(i,j,3)*co;

if I(i,j,3)>255

I(i,j,3)=255;

end

end

end

im=zeros(m0,n0,l);

im=I; %

3 运行结果

4 参考文献

[1]张宇洋. 基于计算机视觉检测技术的候梯人数检测系统[D]. 上海交通大学.

博主简介:擅长​​智能优化算法​​、​​神经网络预测​​、​​信号处理​​、​​元胞自动机​​、​​图像处理​​、​​路径规划​​、​​无人机​​、​​雷达通信​​、​​无线传感器​​等多种领域的Matlab仿真,相关matlab代码问题可私信交流。部分理论引用网络文献,若有侵权联系博主删除。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门