matlab图像缩放下的分辨率加强

matlab图像分辨率加强

  1. 图像分辨率增强
    图像缩放的缩小并不改变原始图像分辨率的操作叫做图像分辨率的增强(英文也叫resolution intensity)是数字图像处理中的一个小技巧。本博文将展示一个有趣的图像缩放下分辨率加强的例子。本博文将先粘贴出效果图,再给出其matlab代码实现。
  2. 图像分辨率增强效果图图像分辨率加强效果图
  3. matlab代码实现
% 清理屏幕,清理变量,关闭所有窗口
clc; clear; close all
A = imread('rose.jpg');
imshow(A)
m=zeros(5,1);
n=zeros(5,1);
[m(1),n(1),k]=size(A);
for i=2:5
    m(i)=ceil(m(i-1)/2); %向上取整
    n(i)=ceil(n(i-1)/2);
end
B = zeros(m(1),n(1)*5+40,3)+255;
B = uint8(B);
B(:,1:n(1),:) = A;
%源程序错误,直觉告诉我对比B的写法,将C = zeros(m,sum(n(1:5))+40,3)+255;中的m换为m(1)
C = zeros(m(1),sum(n(1:5))+40,3)+255;
C = uint8(C);
C(1:m(1),1:n(1),:)=A;
for i = 2:5
    TempA = A(1:2^(i-1):end,1:2^(i-1):end,:);
    B1 = imresize(TempA,2^(i-1));
    B1(m(1)+1:end,:,:)=[];
    B1(:,n(1)+1:end,:)=[];
    B(:,(n(1)+10)*(i-1)+1:(i-1)*10+n(1)*i,:)=B1;
    C(1:m(i),10*(i-1)+1+sum(n(1:i-1)):10*(i-1)+sum(n(1:i)),:)=TempA;
end
figure,imshow(B)
axis off
figure,imshow(C)
axis off

猜你喜欢

转载自blog.csdn.net/jp_zhou256/article/details/82919483