程序过程如下:
1、读取图像
2、显示原图
3、分离RGB3矩阵,用255减去每个矩阵的各点值,生成新的RGB矩阵
4、原图每个RGB值乘以预先设定的设定的FIX值
5、新RGB矩阵每个点值乘以1-FIX值
6、两图像内插融合
7、显示处理后图像
主要是3到6的步骤不是很了解如何操作
3到5的部分是不是需要利用for循环进行每点处理?还是有语句可以直接全矩阵处理?
既然是对每一个的操作都是一样的,就可以直接对图像的像素矩阵进行操作,效果和你用循环对每一个点操作是一样的。
例如:
I=imread('XXXX');
imshow(I);
% 第3步
I2 = 255-I;
I = FIX*I2;
I = (1-FIX)*I;
下面就是内插融合了,不知道你这个具体的意思是什么?是直接相加还是别的操作,就按照算法的原理来写融合的程序就行了。
如果不用上面的操作,也可以用循环,对每个像素的R,G,B值进行操作,效果是一样的。
参考知识1
%image为输出图像,jpg格式,所以:
image(:,:,1)=r;
image(:,:,2)=g;
image(:,:,3)=b;
imshow(image);或者imshow(cat(3,r,g,b));
即可使rgb图像单色通道matlab