• 首页

  • 官方

  • 主题

  • 关注

  • 联系

数字图像处理:图像的几何变换与彩色处理

数字图像处理:空间域图像处理

直接跳转到代码


前言:

  1. 在第一部分实验中,我均采用两种方法实现,分别是
    第一种方法通过二维矩阵加减平移
    第二种方法通过空间变换矩阵平移
  2. 参考代码多为灰度图实现,对于三通道应用有问题,因此,我在编写代码时特意使用彩色图片,并且代码均为三通道写法。
注:别忘了图片的路径改成自己的

一、实验目的

理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用;熟悉图像几何变换的MATLAB操作和基本功能;掌握彩色图像处理的基本技术

二、实验内容

1.读入图像并对图像文件分别进行平移、垂直镜像变换、水平镜像变换、缩放和旋转操作
2.实验如下操作:
(1) 改变图像缩放比例
(2) 改变图像的旋转角度,
3. 读入一幅彩色图像,进行如下图像处理:
(1) 在RGB彩色空间中对图像进行模糊和锐化处理
(2) 在HSI彩色空间中,对H分量图像进行模糊和锐化处理,转换回RGB格式并观察效果
(3) 在HSI彩色空间中,对S分量图像进行模糊和锐化处理,转换回RGB格式并观察效果
(4) 在HSI彩色空间中,对I分量图像进行模糊和锐化处理,转换回RGB格式并观察效果

实验结果图如下:

1. 第一部分实验结果: 平移、垂直镜像变换、水平镜像变换、缩放和旋转

image

2. 第二部分实验结果:改变图像缩放比例、旋转角度

image

3. 第三部分实验结果:在较小图片中效果不明显,经过放大后效果明显

image

image

代码如下:

%1.1
pic=imread('pic.png');                    %读入图片'pic.png'
figure('name','实验结果1.1');
num=5;% 定义num行图片
subplot(num,3,1);
imshow(pic);
title('原图');
subplot(num,3,4);
imshow(pic);
title('原图');
subplot(num,3,7);
imshow(pic);
title('原图');
subplot(num,3,10);
imshow(pic);
title('原图');
subplot(num,3,13);
imshow(pic);
title('原图');

% 第一种方法通过二维矩阵加减平移
[R, C, V] = size(pic);                      % 获取图像大小
res = zeros(R, C, V);                       % 构造结果矩阵。每个像素点默认初始化为0(黑色)
delX = 50;                                  % 平移量X
delY = 50;                                  % 平移量Y
tras = [1 0 delX; 0 1 delY; 0 0 1];         % 平移的变换矩阵 
r = zeros([R,C]);
g = zeros([R,C]);
b = zeros([R,C]);
temp1 = pic(:, :, 1);
temp2 = pic(:, :, 2);
temp3 = pic(:, :, 3);
for i = 1 : R
    for j = 1 : C
        x = i+delX;
        y = j+delY;
        % 变换后的位置判断是否越界
        if (x <= R) & (y <= C) & (x >= 1) & (y >= 1)
            r(x,y) = temp1(i,j);
            g(x,y) = temp2(i,j);
            b(x,y) = temp3(i,j);
        end
    end
end;
res(:, :, 1) = r;
res(:, :, 2) = g;
res(:, :, 3) = b;
subplot(num,3,2);
imshow(uint8(res)); % 显示图像
title('方法1平移后图像');

% 第二种方法通过空间变换矩阵平移

delX = 50;                                  % 平移量X
delY = 50;                                  % 平移量Y
xform=maketform('affine', [1 0 0; 0 1 0; delX delY 1]);%实现图像的平移
res=imtransform(pic,xform,'XData',[1 size(pic,2)],'YData',[1 size(pic,1)]);%进行图像平移
subplot(num,3,3);
imshow(res); % 显示图像
title('方法2平移后图像');

%1.2
% 第一种方法通过二维矩阵加减镜像
for i = 1 : R
    for j = 1 : C
        % 垂直镜像
         r(R-i+1,j) = temp1(i,j);
         g(R-i+1,j) = temp2(i,j);
         b(R-i+1,j) = temp3(i,j);
    end
end;
res(:, :, 1) = r;
res(:, :, 2) = g;
res(:, :, 3) = b;
subplot(num,3,5);
imshow(uint8(res)); % 显示图像
title('方法1垂直镜像后图像');
for i = 1 : R
    for j = 1 : C
        % 左右镜像
        r(i,C-j+1) = temp1(i,j);
        g(i,C-j+1) = temp2(i,j);
        b(i,C-j+1) = temp3(i,j);
    end
end;
res(:, :, 1) = r;
res(:, :, 2) = g;
res(:, :, 3) = b;
subplot(num,3,6);
imshow(uint8(res)); % 显示图像
title('方法1水平镜像后图像');

% 第二种方法通过空间变换矩阵镜像
%垂直镜像变换 
tform2 = maketform('affine', [1 0 0; 0 -1 0; 0 C 1]);
RES=imtransform(pic, tform2, 'nearest');
subplot(num,3,8);
imshow(RES); % 显示图像
title('方法2垂直镜像后图像');
%水平镜像变换
tform = maketform('affine',[-1 0 0;0 1 0; R 0 1]);
RES=imtransform(pic, tform, 'nearest');   %将二维空间变换应用于图像
subplot(num,3,9);
imshow(RES); % 显示图像
title('方法2水平镜像后图像');

%1.3
% 第一种方法通过二维矩阵加减缩放
delX=1 %横向缩放比例
delY=0.5 %纵向缩放比例
res = zeros(R*delY, C*delX, V);                       % 构造结果矩阵。每个像素点默认初始化为0(黑色)
r = zeros([R*delY, C*delX]);
g = zeros([R*delY, C*delX]);
b = zeros([R*delY, C*delX]);
for i = 1 : R*delY
    for j = 1 : C*delX
         x = floor(i / delY);
         y = floor(j / delX);
         u = (i / delY) - x;
         v = (j / delX) - y;
         if (x <= R) && (y <= C) && (x >= 1) && (y >= 1)
            r(i,j) = temp1(floor(x), floor(y)) * (1-u) * (1-v) + temp1(floor(x), ceil(y)) * (1-u) * v + temp1(ceil(x), floor(y)) * u * (1-v) + temp1(ceil(x), ceil(y)) * u * v;
            g(i,j) = temp2(floor(x), floor(y)) * (1-u) * (1-v) + temp2(floor(x), ceil(y)) * (1-u) * v + temp2(ceil(x), floor(y)) * u * (1-v) + temp2(ceil(x), ceil(y)) * u * v;
            b(i,j) = temp3(floor(x), floor(y)) * (1-u) * (1-v) + temp3(floor(x), ceil(y)) * (1-u) * v + temp3(ceil(x), floor(y)) * u * (1-v) + temp3(ceil(x), ceil(y)) * u * v;
         end
    end
end;
res(:, :, 1) = r;
res(:, :, 2) = g;
res(:, :, 3) = b;
subplot(num,3,11);
imshow(uint8(res)); % 显示图像
title('方法1纵向缩放1/2后图像');

% 第二种方法通过空间变换矩阵缩放
xform = maketform('affine', [0.5 0 0;0 1 0;0 0 1]);%[横向缩放比例 0 0;0 纵向缩放比例 0;0 0 1]
RES=imtransform(pic, xform);
subplot(num,3,12);
imshow(RES); % 显示图像
title('方法2横向缩放1/2后图像');

%1.4
% 第一种方法通过二维矩阵加减旋转
angle=30;
theta=(angle / 180) * pi;
rotation_matrix=[cos(theta) -sin(theta) 0; sin(theta) cos(theta) 0; 0 0 1]; 
up_left=[1 1 1]*rotation_matrix;
up_right=[1 C 1]*rotation_matrix;
down_left=[R 1 1]*rotation_matrix;
down_right=[R C 1]*rotation_matrix;
height=round(max([abs(up_left(1)-down_right(1))+0.5 abs(up_right(1)-down_left(1))+0.5]));     %变换后图像的高度
width=round(max([abs(up_left(2)-down_right(2))+0.5 abs(up_right(2)-down_left(2))+0.5]));      %变换后图像的宽度
res = zeros([height,width,V]);
r = zeros([height,width]);
g = zeros([height,width]);
b = zeros([height,width]);
delta_y=abs(min([up_left(1) up_right(1) down_left(1) down_right(1)]));
delta_x=abs(min([up_left(2) up_right(2) down_left(2) down_right(2)])); 
for i=1-delta_y:height-delta_y
    for j=1-delta_x:width-delta_x
        point = [i j 1]/rotation_matrix;
        m = point(1);
        n = point(2);
        u=m-floor(m); 
        v=n-floor(n); 
        if (m <= R) && (n <= C) && (m >= 1) && (n >= 1)
            r(i+delta_y,j+delta_x) = temp1(floor(m), floor(n)) * (1-u) * (1-v) + temp1(floor(m), ceil(n)) * (1-u) * v + temp1(ceil(m), floor(n)) * u * (1-v) + temp1(ceil(m), ceil(n)) * u * v;
            g(i+delta_y,j+delta_x) = temp2(floor(m), floor(n)) * (1-u) * (1-v) + temp2(floor(m), ceil(n)) * (1-u) * v + temp2(ceil(m), floor(n)) * u * (1-v) + temp2(ceil(m), ceil(n)) * u * v;
            b(i+delta_y,j+delta_x) = temp3(floor(m), floor(n)) * (1-u) * (1-v) + temp3(floor(m), ceil(n)) * (1-u) * v + temp3(ceil(m), floor(n)) * u * (1-v) + temp3(ceil(m), ceil(n)) * u * v;
        end
    end                                                 
end
res(:, :, 1) = r;
res(:, :, 2) = g;
res(:, :, 3) = b;
subplot(num,3,14);
imshow(uint8(res)); % 显示图像
title('方法1旋转30度后图像');


% 第二种方法通过空间变换矩阵旋转
xform = maketform('affine',[cosd(-angle) -sind(-angle) 0; sind(-angle) cosd(-angle) 0; 0 0 1]);%创建旋转参数结构体
RES=imtransform(pic, xform);
subplot(num,3,15);
imshow(RES); % 显示图像
title('方法2旋转30度后图像');
第二部分代码:改变图像缩放比例、旋转角度
%2
pic=imread('pic.png');                    %读入图片'pic.png'
figure('name','实验结果2');
num=2;% 定义num行图片
subplot(num,4,1);
imshow(pic);
title('原图');
subplot(num,4,5);
imshow(pic);
title('原图');

% 第二种方法通过空间变换矩阵缩放
xform = maketform('affine', [0.5 0 0;0 1 0;0 0 1]);%[横向缩放比例 0 0;0 纵向缩放比例 0;0 0 1]
RES=imtransform(pic, xform);
subplot(num,4,2);
imshow(RES); % 显示图像
title('方法2横向缩放1/2后图像');
xform = maketform('affine', [1 0 0;0 0.5 0;0 0 1]);%[横向缩放比例 0 0;0 纵向缩放比例 0;0 0 1]
RES=imtransform(pic, xform);
subplot(num,4,3);
imshow(RES); % 显示图像
title('方法2纵向缩放1/2后图像');
xform = maketform('affine', [2 0 0;0 0.5 0;0 0 1]);%[横向缩放比例 0 0;0 纵向缩放比例 0;0 0 1]
RES=imtransform(pic, xform);
subplot(num,4,4);
imshow(RES); % 显示图像
title('方法2横向缩放2,纵向缩放1/2后图像');

% 第二种方法通过空间变换矩阵旋转
angle=30;
xform = maketform('affine',[cosd(-angle) -sind(-angle) 0; sind(-angle) cosd(-angle) 0; 0 0 1]);%创建旋转参数结构体
RES=imtransform(pic, xform);
subplot(num,4,6);
imshow(RES); % 显示图像
title('方法2旋转30度后图像');
angle=60;
xform = maketform('affine',[cosd(-angle) -sind(-angle) 0; sind(-angle) cosd(-angle) 0; 0 0 1]);%创建旋转参数结构体
RES=imtransform(pic, xform);
subplot(num,4,7);
imshow(RES); % 显示图像
title('方法2旋转60度后图像');
angle=90;
xform = maketform('affine',[cosd(-angle) -sind(-angle) 0; sind(-angle) cosd(-angle) 0; 0 0 1]);%创建旋转参数结构体
RES=imtransform(pic, xform);
subplot(num,4,8);
imshow(RES); % 显示图像
title('方法2旋转90度后图像');

第三部分代码:

%3
pic=imread('pic.png');                    %读入图片'pic.png'
figure('name','实验结果3');
number=4;% 定义number行图片
subplot(number,3,1);
imshow(pic);
title('RGB原图');
subplot(number,3,4);
imshow(pic);
title('HSI原图');
subplot(number,3,7);
imshow(pic);
title('HSI原图');
subplot(number,3,10);
imshow(pic);
title('HSI原图');

% RGB模糊处理
r=pic(:,:,1);
g=pic(:,:,2);
b=pic(:,:,3);
 
m=fspecial('average');
r_filtered=imfilter(r,m);
g_filtered=imfilter(g,m);
b_filtered=imfilter(b,m);
 
pic_filtered=cat(3,r_filtered,g_filtered,b_filtered);
subplot(number,3,2);
imshow(pic_filtered);
title('RGB模糊处理');

% RGB锐化处理
lapMatrix=[1 1 1;1 -8 1;1 1 1];
i_tmp=imfilter(pic_filtered,lapMatrix,'replicate');
i_sharped=imsubtract(pic,i_tmp);
subplot(number,3,3);
imshow(i_sharped);
title('RGB锐化处理');
 

%HSI

% 抽取图像分量
pic = im2double(pic);
r = pic(:, :, 1);
g = pic(:, :, 2);
b = pic(:, :, 3);
% 执行转换方程
num = 0.5*((r - g) + (r - b));
den = sqrt((r - g).^2 + (r - b).*(g - b));
theta = acos(num./(den + eps)); %防止除数为0
H = theta;
H(b > g) = 2*pi - H(b > g);
H = H/(2*pi);
num = min(min(r, g), b);
den = r + g + b;
den(den == 0) = eps; %防止除数为0
S = 1 - 3.* num./den;
H(S == 0) = 0;
I = (r + g + b)/3;
% 将3个分量联合成为一个HSI图像
hsi = cat(3, H, S, I);
% HSI,对H分量图像进行模糊处理
m = fspecial('average', [8, 8]); 
H = imfilter(H, m);


% Implement the conversion equations. 
R = zeros(size(hsi, 1), size(hsi, 2)); 
G = zeros(size(hsi, 1), size(hsi, 2)); 
B = zeros(size(hsi, 1), size(hsi, 2)); 
% RG sector (0 <= H < 2*pi/3). 
idx = find( (0 <= H) & (H < 2*pi/3)); 
B(idx) = I(idx) .* (1 - S(idx)); 
R(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx)) ./ cos(pi/3 - H(idx))); 
G(idx) = 3*I(idx) - (R(idx) + B(idx)); 
% BG sector (2*pi/3 <= H < 4*pi/3). 
idx = find( (2*pi/3 <= H) & (H < 4*pi/3) ); 
R(idx) = I(idx) .* (1 - S(idx)); 
G(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 2*pi/3) ./ cos(pi - H(idx))); 
B(idx) = 3*I(idx) - (R(idx) + G(idx)); 
% BR sector. 
idx = find( (4*pi/3 <= H) & (H <= 2*pi)); 
G(idx) = I(idx) .* (1 - S(idx)); 
B(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 4*pi/3) ./cos(5*pi/3 - H(idx))); 
R(idx) = 3*I(idx) - (G(idx) + B(idx)); 
rgb = cat(3, R, G, B); 
rgb = max(min(rgb, 1), 0);

subplot(number,3,5);
imshow(rgb);
title('H分量模糊后');


%锐化
lapMatrix=[1 1 1;1 -8 1;1 1 1];    
i_tmp=imfilter(H,lapMatrix,'replicate'); 
H_sharped=imsubtract(H,i_tmp); 

hsi = cat(3,H_sharped,S,I); 
% Implement the conversion equations. 
R = zeros(size(hsi, 1), size(hsi, 2)); 
G = zeros(size(hsi, 1), size(hsi, 2)); 
B = zeros(size(hsi, 1), size(hsi, 2)); 
% RG sector (0 <= H < 2*pi/3). 
idx = find( (0 <= H) & (H < 2*pi/3)); 
B(idx) = I(idx) .* (1 - S(idx)); 
R(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx)) ./ cos(pi/3 - H(idx))); 
G(idx) = 3*I(idx) - (R(idx) + B(idx)); 
% BG sector (2*pi/3 <= H < 4*pi/3). 
idx = find( (2*pi/3 <= H) & (H < 4*pi/3) ); 
R(idx) = I(idx) .* (1 - S(idx)); 
G(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 2*pi/3) ./ cos(pi - H(idx))); 
B(idx) = 3*I(idx) - (R(idx) + G(idx)); 
% BR sector. 
idx = find( (4*pi/3 <= H) & (H <= 2*pi)); 
G(idx) = I(idx) .* (1 - S(idx)); 
B(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 4*pi/3) ./cos(5*pi/3 - H(idx))); 
R(idx) = 3*I(idx) - (G(idx) + B(idx)); 
rgb = cat(3, R, G, B); 
rgb = max(min(rgb, 1), 0);
subplot(number,3,6);
imshow(rgb);
title('H分量锐化后');

%S分量模糊
m=fspecial('average',[8,8]); 
s_filtered=imfilter(S,m);
hsi = cat(3,H,s_filtered,I); 
% Implement the conversion equations. 
R = zeros(size(hsi, 1), size(hsi, 2)); 
G = zeros(size(hsi, 1), size(hsi, 2)); 
B = zeros(size(hsi, 1), size(hsi, 2)); 
% RG sector (0 <= H < 2*pi/3). 
idx = find( (0 <= H) & (H < 2*pi/3)); 
B(idx) = I(idx) .* (1 - S(idx)); 
R(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx)) ./ cos(pi/3 - H(idx))); 
G(idx) = 3*I(idx) - (R(idx) + B(idx)); 
% BG sector (2*pi/3 <= H < 4*pi/3). 
idx = find( (2*pi/3 <= H) & (H < 4*pi/3) ); 
R(idx) = I(idx) .* (1 - S(idx)); 
G(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 2*pi/3) ./ cos(pi - H(idx))); 
B(idx) = 3*I(idx) - (R(idx) + G(idx)); 
% BR sector. 
idx = find( (4*pi/3 <= H) & (H <= 2*pi)); 
G(idx) = I(idx) .* (1 - S(idx)); 
B(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 4*pi/3) ./cos(5*pi/3 - H(idx))); 
R(idx) = 3*I(idx) - (G(idx) + B(idx)); 
rgb = cat(3, R, G, B); 
rgb = max(min(rgb, 1), 0);
subplot(number,3,8);
imshow(rgb);
title('S分量模糊后');

%S分量锐化
lapMatrix=[1 1 1;1 -8 1;1 1 1];    
i_tmp=imfilter(S,lapMatrix,'replicate'); 
s_sharped=imsubtract(S,i_tmp); 
hsi = cat(3,H,s_sharped,I); 
 
% Implement the conversion equations. 
R = zeros(size(hsi, 1), size(hsi, 2)); 
G = zeros(size(hsi, 1), size(hsi, 2)); 
B = zeros(size(hsi, 1), size(hsi, 2)); 
% RG sector (0 <= H < 2*pi/3). 
idx = find( (0 <= H) & (H < 2*pi/3)); 
B(idx) = I(idx) .* (1 - S(idx)); 
R(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx)) ./ cos(pi/3 - H(idx))); 
G(idx) = 3*I(idx) - (R(idx) + B(idx)); 
% BG sector (2*pi/3 <= H < 4*pi/3). 
idx = find( (2*pi/3 <= H) & (H < 4*pi/3) ); 
R(idx) = I(idx) .* (1 - S(idx)); 
G(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 2*pi/3) ./ cos(pi - H(idx))); 
B(idx) = 3*I(idx) - (R(idx) + G(idx)); 
% BR sector. 
idx = find( (4*pi/3 <= H) & (H <= 2*pi)); 
G(idx) = I(idx) .* (1 - S(idx)); 
B(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 4*pi/3) ./cos(5*pi/3 - H(idx))); 
R(idx) = 3*I(idx) - (G(idx) + B(idx)); 
rgb = cat(3, R, G, B); 
rgb = max(min(rgb, 1), 0);
subplot(number,3,9);
imshow(rgb);
title('S分量锐化后');

%I分量模糊
m=fspecial('average',[8,8]); 
i_filtered=imfilter(I,m);
hsi = cat(3,H,S,i_filtered); 
% Implement the conversion equations. 
R = zeros(size(hsi, 1), size(hsi, 2)); 
G = zeros(size(hsi, 1), size(hsi, 2)); 
B = zeros(size(hsi, 1), size(hsi, 2)); 
% RG sector (0 <= H < 2*pi/3). 
idx = find( (0 <= H) & (H < 2*pi/3)); 
B(idx) = I(idx) .* (1 - S(idx)); 
R(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx)) ./ cos(pi/3 - H(idx))); 
G(idx) = 3*I(idx) - (R(idx) + B(idx)); 
% BG sector (2*pi/3 <= H < 4*pi/3). 
idx = find( (2*pi/3 <= H) & (H < 4*pi/3) ); 
R(idx) = I(idx) .* (1 - S(idx)); 
G(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 2*pi/3) ./ cos(pi - H(idx))); 
B(idx) = 3*I(idx) - (R(idx) + G(idx)); 
% BR sector. 
idx = find( (4*pi/3 <= H) & (H <= 2*pi)); 
G(idx) = I(idx) .* (1 - S(idx)); 
B(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 4*pi/3) ./cos(5*pi/3 - H(idx))); 
R(idx) = 3*I(idx) - (G(idx) + B(idx)); 
rgb = cat(3, R, G, B); 
rgb = max(min(rgb, 1), 0);
subplot(number,3,11);
imshow(rgb);
title('I分量模糊后');

%I分量锐化
lapMatrix=[1 1 1;1 -8 1;1 1 1];    
i_tmp=imfilter(I,lapMatrix,'replicate'); 
i_sharped=imsubtract(I,i_tmp); 
hsi = cat(3,H,S,i_sharped); 
 
% Implement the conversion equations. 
R = zeros(size(hsi, 1), size(hsi, 2)); 
G = zeros(size(hsi, 1), size(hsi, 2)); 
B = zeros(size(hsi, 1), size(hsi, 2)); 
% RG sector (0 <= H < 2*pi/3). 
idx = find( (0 <= H) & (H < 2*pi/3)); 
B(idx) = I(idx) .* (1 - S(idx)); 
R(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx)) ./ cos(pi/3 - H(idx))); 
G(idx) = 3*I(idx) - (R(idx) + B(idx)); 
% BG sector (2*pi/3 <= H < 4*pi/3). 
idx = find( (2*pi/3 <= H) & (H < 4*pi/3) ); 
R(idx) = I(idx) .* (1 - S(idx)); 
G(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 2*pi/3) ./ cos(pi - H(idx))); 
B(idx) = 3*I(idx) - (R(idx) + G(idx)); 
% BR sector. 
idx = find( (4*pi/3 <= H) & (H <= 2*pi)); 
G(idx) = I(idx) .* (1 - S(idx)); 
B(idx) = I(idx) .* (1 + S(idx) .* cos(H(idx) - 4*pi/3) ./cos(5*pi/3 - H(idx))); 
R(idx) = 3*I(idx) - (G(idx) + B(idx)); 
rgb = cat(3, R, G, B); 
rgb = max(min(rgb, 1), 0);
subplot(number,3,12);
imshow(rgb);
title('I分量锐化后');
imwrite(rgb, 'I分量锐化后.jpg');

posted @ 2021-12-26 23:35  戈小戈  阅读(117)  评论(0编辑  收藏  举报