0
我知道在MATLAB中的imresize
將使用一個比例調整圖像I1
到I2
。有沒有辦法知道原始圖像中的像素與調整大小的圖像之間的關聯?例如,是否存在一些映射?調整圖像大小並知道以前的和調整大小的點
最重要的是,請考慮性能。
我知道在MATLAB中的imresize
將使用一個比例調整圖像I1
到I2
。有沒有辦法知道原始圖像中的像素與調整大小的圖像之間的關聯?例如,是否存在一些映射?調整圖像大小並知道以前的和調整大小的點
最重要的是,請考慮性能。
最簡單的方法就是通過比例因子乘以(或除以找到以前的座標):
% read image and generate several coordinates to plot on
im = imread('lena.jpg');
[x,y] = meshgrid(100:100:450);
x = x(:); y = y(:);
% scale of resizing
scale = 0.4;
% plot original image
subplot(131);
imshow(im);
hold on;
plot(x,y,'xr','LineWidth',2,'MarkerSize',15);
title(sprintf('Original, size = [%d,%d]',size(im,1),size(im,2)));
% resize to obtain smaller image
imSmall = imresize(im,scale);
subplot(132);
imshow(imSmall);
hold on;
% plot scaled coordinates
plot(x.*scale,y.*scale,'xr','LineWidth',2,'MarkerSize',15);
title(sprintf('Small, size = [%d,%d]',size(imSmall,1),size(imSmall,2)));
% resize to obtain larger image
imBig = imresize(im,1/scale);
subplot(133);
imshow(imBig);
hold on;
% plot scaled coordinates
plot(x./scale,y./scale,'xr','LineWidth',2,'MarkerSize',15);
title(sprintf('Big, size = [%d,%d]',size(imBig,1),size(imBig,2)));