第一次尝试写博客,写的不好,多多见谅!
今天,看到一篇文章,可以使用傅立叶的方式来实现缩放,自己在图像处理基本是白痴,因此,花些时间来学习缩放的算法。下面我将按照线性代数的原理来实现图像的放大缩小。
ImageS 源图像, ImageSx 源图像的宽度, ImageSy 源图像的高度
ImageD 目标图像, ImageDx 目标图像的宽度, ImageDy 目标图像的高度
x_scale 图像宽放大/缩小倍数
y_scale 图像高放大/缩小倍数
ImageD(x,y) = ImageS (int(x/x_scale ), int(y/y)scale))
%缩放函数
function [ ImageD ] = ImageResize(ImageS ,x_scale,y_scale )
%UNTITLED6 此处显示有关此函数的摘要
% 此处显示详细说明
[ImageSx ImageSy g] = size(ImageS);
ImageS = im2double(ImageS);
ImageDx = ImageSx*x_scale;
ImageDy = ImageSy*y_scale;
ImageD = ones(ImageDx,ImageDy,g);
for i = 1: ImageDx
for j = 1: ImageDy
ImageD(i,j,:) = ImageS(round(i/x_scale),round