两幅图像进行融合 变换方法是NSCT 层级是一层 其中一幅是黑白图像 另外一幅是彩色图像 现将彩色图像的I分量和黑白图像进行加权平均 使用matlab
代码如下:
% 读取黑白图像和彩色图像
bw_img = imread('bw_image.jpg');
color_img = imread('color_image.jpg');
% 将彩色图像转换为YCbCr颜色空间
YCbCr_img = rgb2ycbcr(color_img);
% 获取I分量(亮度分量)和权重
I = double(YCbCr_img(:,:,1));
weight = 0.5;
% 进行NSCT变换
X = nsctdec(bw_img, 1);
% 将I分量和黑白图像进行加权平均
X.coeff{1} = (1-weight)*X.coeff{1} + weight*I;
% 进行NSCT反变换,得到融合后的图像
merged_img = nsctrec(X);
% 显示结果
imshow(merged_img);
注:需先安装NSCT工具箱。
原文地址: https://www.cveoy.top/t/topic/biYn 著作权归作者所有。请勿转载和采集!