exponenta event banner

mapresize

Изменение размера проецируемого растра

Описание

пример

[B,RB] = mapresize(A,RA,scale) возвращает растр B то есть scale умножить размер растра A. RA - растровый ссылочный объект, который указывает местоположение и объем данных в A. mapresize возвращает объект ссылки на растр RB который связан с возвращенным растром B. По умолчанию mapresize использует кубическую интерполяцию.

[B,RB] = mapresize(___,method) возвращает растр с измененными размерами, где method задает метод интерполяции.

[B,RB] = mapresize(___,'Antialiasing',TF) указывает, следует ли выполнять сглаживание при сжатии растра. Когда true, mapresize выполняет сглаживание. Значение по умолчанию зависит от указанного типа интерполяции. Для интерполяции ближайшего соседа значением по умолчанию является false. Для всех других методов интерполяции значением по умолчанию является true.

Примеры

свернуть все

Импорт образца проецируемого объекта ссылки на растровые ячейки и ячейки карты.

[Z,R] = readgeoraster('map_sample.tif');

Изменение размера растра с помощью mapresize. Удвоьте длину и ширину растра, указав масштаб как 2. Используйте интерполяцию ближайшего соседа, указав метод интерполяции как 'nearest'.

[Z2,R2] = mapresize(Z,R,2,'nearest');

Убедитесь, что размер растра изменен путем сравнения размера исходного растра с размером обновленного растра.

R.RasterSize
ans = 1×2

     2     2

R2.RasterSize
ans = 1×2

     4     4

Если растры маленькие, их можно сравнить напрямую.

Z
Z = 2×2

     1     2
     3     4

Z2
Z2 = 4×4

     1     1     2     2
     1     1     2     2
     3     3     4     4
     3     3     4     4

Считывание спроецированного набора растровых данных и сопоставление ячеек с объектом ссылки в рабочей области.

[boston,R] = readgeoraster('boston.tif');

Отображение растра с помощью mapshow.

mapshow(boston,R)

Измените размер спроецированного набора растровых данных. Для этого примера уменьшите растр до шестнадцатой части от исходного размера.

[resizedBoston,resizedR] = mapresize(boston,R,1/16);

Отображение растра с измененными размерами. Обратите внимание, что mapshow сохраняет исходные пределы карты на дисплее, так что на первый взгляд размер растра с измененным размером будет таким же, как и у оригинала. Более внимательный взгляд показывает, что размер пикселов в растре с измененным размером больше, чем размер пикселов в оригинале.

figure
mapshow(resizedBoston,resizedR)

Входные аргументы

свернуть все

Растр для изменения размера, заданный как числовой или логический массив. Если A имеет более двух измерений, mapresize изменяет размер только первых двух размеров.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Информация о местоположении и степени растра, указанная как объект ссылки растра карты. Чтобы преобразовать растровую матрицу в объект растровой ссылки карты, используйте команду refmatToMapRasterReference функция.

Объем изменения размера, указанный как числовой скаляр. Если scale находится в диапазоне [0 1], B меньше, чем A. Если scale больше 1, B больше, чем A.

Пример: 0.5

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Метод интерполяции, указанный как одно из следующих значений.

СтоимостьОписание
'nearest'Интерполяция ближайшего соседа
'bilinear'Билинейная интерполяция
'cubic'Кубическая интерполяция

Типы данных: char | string

Выходные аргументы

свернуть все

Размер растра, возвращаемого в виде числового или логического массива.

Информация о местоположении и степени растра, возвращаемая как объект ссылки растра карты.

Совет

  • Использовать mapresize с растровыми данными в координатах x и y. Для работы с географическими растровыми данными в координатах широты и долготы используйте georesize.

Представлен в R2019a