Измените размер Изображения с Функцией imresize

Этот пример показывает, как изменить размер изображения с помощью функции imresize.

Задайте значение увеличения

Считайте изображение в рабочую область.

I = imread('circuit.tif');

Измените размер изображения, с помощью функции imresize. В этом примере вы задаете фактор увеличения. Чтобы увеличить изображение, задайте фактор увеличения, больше, чем 1.

J = imresize(I,1.25);

Отобразите оригинальное изображение рядом с увеличенной версией.

figure
imshowpair(I,J,'montage')
axis off

Задайте размер выходного изображения

Измените размер изображения снова, на этот раз задав желаемый размер выходного изображения, а не значение увеличения. Передайте imresize вектор, который содержит количество строк и столбцов в выходном изображении. Если заданный размер не произведет то же соотношение сторон как входное изображение, выходное изображение будет искажено. Если вы указываете один из элементов в векторе как NaN, imresize вычисляет значение для той размерности, чтобы сохранить соотношение сторон изображения. Чтобы выполнить изменение размеров, требуемое для обработки мультиразрешения, используйте impyramid.

K = imresize(I,[100 150]);
figure, imshow(K)

Задайте метод интерполяции

Измените размер изображения снова, на этот раз задав метод интерполяции. Когда вы увеличиваете изображение, выходное изображение содержит больше пикселей, чем оригинальное изображение. imresize использует интерполяцию, чтобы определить значения этих пикселей, вычисляя взвешенное среднее некоторого набора пикселей около пиксельного местоположения. imresize основывает коэффициенты на расстоянии, которое каждый пиксель от точки. По умолчанию imresize использует бикубическую интерполяцию, но можно задать другие методы интерполяции или ядра интерполяции. Смотрите страницу с описанием imresize для полного списка. Можно также задать собственное ядро интерполяции. Эта билинейная интерполяция использования в качестве примера.

L = imresize(I,1.5,'bilinear');
figure, imshow(L)

Предотвратите искажение при уменьшении изображения

Измените размер изображения снова, на этот раз уменьшив изображение. Когда вы уменьшаете размер изображения, вы теряете некоторые исходные пиксели, потому что существует меньше пикселей в выходном изображении. Это может ввести артефакты, такие как искажение. Искажение, которое происходит в результате сокращения размера обычно, появляется как ступенчатые шаблоны (особенно в высококонтрастных изображениях), или как муар (волновой эффект) шаблоны в выходном изображении. По умолчанию использование imresize, сглаживающееся, чтобы ограничить влияние искажения на выходном изображении для всей интерполяции, вводит кроме самого близкого соседа. Чтобы выключить сглаживание, задайте 'Сглаживающийся' параметр и установите значение ко лжи. Даже со сглаживанием включенного, изменение размеров может ввести артефакты, потому что информация всегда теряется, когда вы уменьшаете размер изображения.

M = imresize(I,.75,'Antialiasing',false);
figure, imshow(M)