Matlab实现图像帧的累加

%以R、G、B三通道1000张图像分别帧累加为例
I_R=cell(1,1000); 
I_G=cell(1,1000); 
I_B=cell(1,1000); 
for i=1:1000
    imgR=imread(['E:\experiment\BPNN_edge\moreFrameImg\allPic\_img\img_R\',int2str(i),'.JPG']); 
    %imgR是一个公共变量会不停的被下一张图片信息覆盖最后是最后一张图片的信息
   imgG=imread(['E:\experiment\BPNN_edge\moreFrameImg\allPic\_img\img_G\',int2str(i),'.JPG']);              
    imgB=imread(['E:\experiment\BPNN_edge\moreFrameImg\allPic\_img\img_B\',int2str(i),'.JPG']); 
    I_R{i}=imgR; %I_R{i}.....就是每一张图片的信息
    I_G{i}=imgG;
    I_B{i}=imgB;
end

%1000次累加
I_R1000=zeros(size(I_R{1}));
I_G1000=zeros(size(I_G{1}));
I_B1000=zeros(size(I_B{1}));
for i=1:1000
I_R1000=I_R1000+double(I_R{i});
I_G1000=I_G1000+double(I_G{i});
I_B1000=I_B1000+double(I_B{i});
end
 
%通过求平均使灰阶控制在0-255
I_R1000_Ave=I_R1000/1000;
I_G1000_Ave=I_G1000/1000;
I_B1000_Ave=I_B1000/1000;

I_R1000_Ave=uint8(I_R1000_Ave);
I_G1000_Ave=uint8(I_G1000_Ave);
I_B1000_Ave=uint8(I_B1000_Ave);

imwrite(I_R1000_Ave,strcat('E:\experiment\BPNN_edge\moreFrameImg\allPic\frameAccImg\1000Img_Ave\','I_R1000_Ave','.jpg'),'jpg');
imwrite(I_G1000_Ave,strcat('E:\experiment\BPNN_edge\moreFrameImg\allPic\frameAccImg\1000Img_Ave\','I_G1000_Ave','.jpg'),'jpg');
imwrite(I_B1000_Ave,strcat('E:\experiment\BPNN_edge\moreFrameImg\allPic\frameAccImg\1000Img_Ave\','I_B1000_Ave','.jpg'),'jpg');

imshow(I_R1000_Ave);
title('R通道1000次累加平均');

figure;
imshow(I_G1000_Ave);
title('G通道1000次累加平均');

figure;
imshow(I_B1000_Ave);
title('B通道1000次累加平均');
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值