Как увеличить масштаб в matlab

REDMOND

Иллюстрированный самоучитель по MatLab

Для изменения масштаба двумерных графиков используются команды класса zoom:

  • zoom – переключает состояние режима интерактивного изменения масштаба для текущего графика;
  • zoom (FACTOR) устанавливает масштаб в соответствии с коэффициентом FACTOR;
  • zoom on – включает режим интерактивного изменения масштаба для текущего графика;
  • zoom off – выключает режим интерактивного изменения масштаба для текущего графика;
  • zoom out – обеспечивает полный просмотр, т. е. устанавливает стандартный масштаб графика;
  • zoom xon или zoom yon – включает режим изменения масштаба только по оси х или по оси у;
  • zoom reset – запоминает текущий масштаб в качестве масштаба по умолчанию для данного графика;
  • zoom(FIG,OPTION) – применяется к графику, заданному дескриптором FIG, при этом OPTION может быть любым из перечисленных выше аргументов.

Команда zoom позволяет управлять масштабированием графика с помощью мыши. Для этого надо подвести курсор мыши к интересующей вас области рисунка. Если команда zoom включена (on), то нажатие левой кнопки увеличивает масштаб вдвое, а правой – уменьшает вдвое. При нажатой левой кнопке мыши можно выделить пунктирным черным прямоугольником нужный участок графика – при отпускании кнопки он появится в увеличенном виде и в том масштабе, который соответствует выделяющему прямоугольнику.

Рассмотрим работу команды zoom на следующем примере:

Рисунок 6.44 показывает график функции данного примера в режиме выделения его участка с помощью мыши.

После прекращения манипуляций левой кнопкой мыши график примет вид, показанный на рис. 6.44. Теперь в полный размер графического окна будет развернуто изображение, попавшее в выделяющий прямоугольник.

Рис. 6.43. Выделение части графика мышью при использовании команды zoom

Команда zoom, таким образом, выполняет функцию "лупы", позволяющей наблюдать в увеличенном виде отдельные фрагменты сложных графиков. Однако следует учитывать, что для наблюдения фрагментов графиков при высоком увеличении они должны быть заданы большим количеством точек. Иначе вид отдельных фрагментов и тем более особых точек (в нашем случае это точка при х вблизи нуля) будет существенно отличаться от истинного.

Как увеличить масштаб страницы в Matlab?

Как увеличить масштаб?
сделали форму с выводом графика и построением нормали и касательной в заданой точке,которую.

Как увеличить масштаб сайта
Есть сайт, надо чтобы он открывался с масштабом примерно 150 в браузерах, но так чтобы это был 100%.

Как увеличить масштаб части 3D графика
Здравствуйте всем! у меня график в трехмерном пространстве я хотел увеличить только часть.

Как увеличить масштаб рабочей области
А как увелиличить масштаб рабочей области в matlab 2014? ну там где пишем код программы. Текст.

REDMOND

Русские Блоги

Масштабирование изображения в Matlab — интерполяция ближайшего соседа и билинейная интерполяция

оглавление

1. Интерполяция и масштабирование изображения

Во-первых, приведите пример, чтобы проиллюстрировать процесс интерполяции, сначала посмотрите на функцию интерполяции Matlab interp() Бар:

Сначала рисуем шероховатую поверхность, а потом по-разному вставляем несколько точек, получившееся изображение будет следующим:

Видно, что разные эффекты интерполяции различаются. Рисунок 1 очень грубый и имеет несколько точек рисования. Рисунок 2 — интерполяция ближайшего соседа, которая дает эффект, аналогичный «шагу». Изогнутая поверхность раньше выглядела более гладкой. Аналогично изображению, изображение, полученное с помощью интерполяции ближайшего соседа, эквивалентно увеличению пикселей, в то время как использование билинейной интерполяции и сферической интерполяции эквивалентно более плавному переходу между пикселями изображения.

Во-вторых, интерполяция ближайшего соседа

1. Принцип

Интерполяция ближайшего соседа, значение пиксельной точки, ближайшей к целевой точке, используется в качестве значения интерполяции

Как показано на рисунке, изображение src MxN увеличивается до изображения dst PxQ. Нам нужно создать новый массив PXQ и случайным образом выбрать точку A (i, j) среди пикселей. , Предполагая, что мы используем изображение в градациях серого, каким должно быть значение в градациях серого в точке A?
Сначала мы сопоставляем координаты точки P с исходным изображением (я не знаю, не подходит ли отображение 😂), предполагая, что это точка B, тогда мы можем вычислить B по аналогии с аналогичными свойствами аналогичных треугольников. Координаты точки (x, y): (x, y) = (M/P*i, N/Q*j)
Поскольку индекс массива может быть только целым числом, x и y необходимо преобразовать в целые числа. При использовании интерполяции ближайшего соседа мы можем округлить в большую сторону:

Итак, у нас есть метод вычисления значения серого для каждого пикселя нового изображения, и новое изображение может быть построено в цикле. (Для изображений типа rgb мы можем использовать матричные операции для одновременной интерполяции трех компонентов rgb)

2. Реализация кода

Нечего сказать, давайте посмотрим на эффект кода

Исходное изображение представляет собой цветное изображение размером 256×256:

После использования интерполяции ближайшего соседа оно становится цветным изображением 768×768 (рекомендуется щелкнуть, чтобы увеличить и наблюдать):

Три, билинейная интерполяция

1. Принцип

При билинейной интерполяции учитывается не только ближайший пиксель, но и взвешенное значение четырех окружающих пикселей.

Как показано на рисунке, предположим, что все ABCD — это смежные пиксели, а (x, y) попадают в середину.
Влияние расстояния учитывается при интерполяции: чем дальше от пикселя, тем меньше вес, например точка A на рисунке, учитывая, что ABCD представляет собой квадрат со стороной 1, вы можете (1-dx) (1-dy) представляет собой вес серого значения точки A (для подробного доказательства, пожалуйста, обратитесь к блогу большого парня), где dx и dy представляют собой расстояние в направлениях x и y соответственно
Предполагая, что уровни серого в ABCD равны a, b, c и d соответственно, мы можем получить уровень серого в (x, y) как:
i n t e n s i t y = ( 1 − d x ) ( 1 − d y ) a + ( 1 − d x ) d y b + d x ( 1 − d y ) c + d x d y d ) intensity = (1-dx)(1-dy)a + (1-dx)dy b + dx(1-dy) c + dxdy d) i n t e n s i t y = ( 1 − d x ) ( 1 − d y ) a + ( 1 − d x ) d y b + d x ( 1 − d y ) c + d x d y d )
В Matlab координаты ABCD могут быть получены с помощью смелой функции округления,Обратите внимание, что в Matlab массив изображений начинается с 1, он должен быть округлен, а массив находится за пределами

Пусть A (x1, y1), B (x1, y2), C (x2, y1), D (x2, y2)

2. Реализация кода

Исходное изображение имеет цвет 256×256, с использованием билинейной интерполяции:

В результате получится изображение 768×768 (рекомендуется щелкнуть, чтобы увеличить и посмотреть):

Обратите внимание на разницу между двумя методами интерполяции

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

Я обнаружил, что обработка цифровых изображений по-прежнему очень интересна ( ̄︶ ̄) ↗

REDMOND

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *