matlab中两个彩色图像的直方图匹配

Glo*_*ove 15 matlab image-processing histogram

谁知道如何在两个彩色图像上进行RGB直方图匹配?

例如,这是要重新映射的图像:

要重新映射的图像

这是一个目标图像

目标图像

然后RGB重新映射的图像看起来像这样

重新映射图像

这里是我做过什么,到目前为止,在这个代码,我花了两个彩色图像im1im2

我拿了im1那个必须重新映射的那个然后把它分解成了

它的颜色然后我采取im1的每种颜色,并用于histeq匹配他们的直方图

每种颜色im2.

我不知道如何从我匹配的颜色重建重新映射的图像,任何帮助请那将是很好的??:

im1 = imread('Atlas-Mer.png');
im2 = imread('techno-trs.png');

Red1 = im1(:, :, 1);
Green1 = im1(:, :, 2);
Blue1 = im1(:, :, 3);
.
.
.
Red2 = im2(:, :, 1);
Green2 = im2(:, :, 2);
Blue2 = im2(:, :, 3);

red2n = histeq(Red2,HnRed1);
green2n = histeq(Green2,HnGreen1);
blue2n = histeq(Blue2,HnBlue1);
Run Code Online (Sandbox Code Playgroud)

Bee*_*Bee 5

好吧,自原始问题发布以来已经过了几个月,但我认为每个人都可以使用另一种方法来建议:下面的代码将三个颜色通道放入一个RGB图像中:

rgb_out = cat(3, red2n, green2n, blue2n);


Oli*_*rth 4

你可以这样做:

im2(:, :, 1) = red2n;
Run Code Online (Sandbox Code Playgroud)

ETC。