画像に対してヒストグラム均等化を実行した後、グレースケール GIF 画像のカラーマップを変更する方法を理解するのに少し苦労しています。このプロセスは、JPEG などのカラーマップが関連付けられていない画像圧縮タイプでは完全に単純であり、グレースケール JPEG 画像で動作するようになりました。
clear
clc
[I,map] = imread('moon.gif');
h = zeros(256,1); %array value holds number of pixels with same value
hmap = zeros(256,1);
P = zeros(256,1); %probability that pixel intensity will appear in image
Pmap = zeros(256,1);
s = zeros(256,1); %calculated CDF using P
smap = zeros(256,1);
M = size(I,1);
N = size(I,2);
I = double(I);
Inew = double(zeros(M,N));
mapnew = zeros(256,3);
for x = 1:M;
for y = 1:N;
for l = 1:256;
%count pixel intensities and probability
end
end
end
for j = 2:256
for i = 2:j
%calculate CDF of P
end
end
s(1) = P(1);
smap(1) = Pmap(1);
for x = 1:M;
for y = 1:N;
for l = 1:256;
%calculates adjusted CDF and sets it to new image
end
end
end
mapnew = mapnew/256;
Inew = uint8(Inew);
I = uint8(I);
subplot(1,2,1), imshow(Inew,map); %comparing the difference between original map
subplot(1,2,2), imshow(Inew,mapnew); %to'enhanced' colormap, but both turn out poorly
実際の画像の均等化に関してはすべて問題ありませんが、カラーマップについて何を変更すればよいかわかりません。画像で行ったのと同じ操作をカラーマップで実行しようとしましたが、サイコロはありませんでした。
担当者が少ないために画像を投稿できないことを申し訳ありませんが、リクエストに応じてできる限りの情報を提供しようとします.
どんな助けでも大歓迎です。