求大神帮忙,已知一副彩色图像,先求出RGB各灰度值,然后各灰度值各加一定的数值,怎么合成一副彩色图像。
如果有matlab其它方法可以实现将一副彩色图像的各灰度值加一定的数值,再合成一副图像也可以。
clear;
clc;
f=imread('fruit.jpg');
[m,n,p]=size(f); %对于二维数组来说,它的size是指它的行数和列数;三维数组是指它的各个维的维度,可以理解为m行,n列和p层,即一共有m*n*p个元素
a=zeros(1,256); %a为一个1行,256列的全0矩阵
b=zeros(1,256);
c=zeros(1,256);
for i=1:m %从行开始
for j=1:n %每一行的列
a(f(i,j,1)+1)=a(f(i,j,1)+1)+1; %f(i,j,1)是红色通道的值,这个值有0-255的取值,a数组正好是容量256的数组,数组的下标范围是1开始的,所以要加1
end
end
for i=1:m
for j=1:n
b(f(i,j,2)+1)=b(f(i,j,2)+1)+1;%G通道
end
end
for i=1:m
for j=1:n
c(f(i,j,3)+1)=c(f(i,j,3)+1)+1;%B通道
end
end
%各灰度分量加20;
for k=1:256
a(k)=a(k)+20;
b(k)=b(k)+20;
c(k)=c(k)+20;
end
怎么合成?