implementação MATLAB da melhoria de imagem cinza pseudo-color

realce pseudo-cor

Pseudo-color benefícios do realce : a capacidade de distinguir as pessoas na imagem em escala de cinza é relativamente baixo, ea capacidade de distinguir as cores é muito forte, cor pseudo reforçada de forma mais eficaz extrair informação gráfica, melhorar a legibilidade dos detalhes da imagem original, alvo mais fácil reconhecimento.

   realce pseudo-cor é vário imagem em escala de cinzento gradação em uma função de mapeamento não linear de cadeia linear ou numa cor diferente sobre, para obter deste modo uma imagem a cores. O principal método de dividir método tem uma densidade, de uma cor escala cinza transformar no realce pseudo-cor domínio da frequência e três.
   O que se segue é, principalmente, cerca de tons de cinzento - transformação de cores , para se obter R, G, B três componentes de cor de acordo com a função de mapeamento, em seguida, os três componentes de cor RGB cor imagem sintetizada. regras específicas de conversão são como se segue :( em que L é uma escala de cinzentos, I (i, j) é um valor de cinzento corresponde a uma certa pixel, R, G, B componente de cor correspondendo a)

faixa de valor de cinza R G B
0-G / 4 0 4I (i, j) eu
G / 4-G / 2 0 eu -4I (i, j) + 2L
0-G / 4 4I (i, j) -2L eu 0
0-G / 4 eu -4I (i, j) + 4L 0

alcançar resultados

Aqui Insert Picture Descrição

Código de referência

im=imread('D:\Fig0419(b).tif');
figure('name','灰度级-彩色变换法');
subplot(1,2,1);
imshow(im);
%将灰度值先转换为double类型便于后续处理
im=double(im);
[M,N]=size(im);
%初始化R,G,B,RGB
R=ones(M,N);
G=ones(M,N);
B=ones(M,N);
RGB=ones(M,N,3);
%灰度值范围
L=256;
for i=1:M
    for j=1:N
        if im(i,j)<=L/4
            R(i,j)=0;
            G(i,j)=4*im(i,j);
            B(i,j)=L;
        else
            if im(i,j)<=L/2
                R(i,j)=0;
                G(i,j)=L;
                B(i,j)=-4*im(i,j)+2*L;
            else
                if im(i,j)<=3*L/4
                    R(i,j)=4*im(i,j)-2*L;
                    G(i,j)=L;
                    B(i,j)=0;
                else
                    R(i,j)=L;
                    G(i,j)=-4*im(i,j)+4*L;
                    B(i,j)=0;
                end
            end
        end
    end
end
%合成伪彩色图像
for i=1:M
    for j=1:N
        RGB(i,j,1)=R(i,j);
        RGB(i,j,2)=G(i,j);
        RGB(i,j,3)=B(i,j);
    end
end
%把大于255的数全部转化为255,而小于255的部分则保持原样不变。
RGB=uint8(RGB);
subplot(1,2,2);
imshow(RGB);
Publicado 18 artigos originais · ganhou elogios 40 · vê 50000 +

Acho que você gosta

Origin blog.csdn.net/seawaysyyy/article/details/105228690
Recomendado
Clasificación