Перейти к содержанию
    

Коллеги, а может ли матлаб работать с пиксельной графикой?

Например включить несколько пикселей не в узлах координатной сетки, а между ними?

В хелпе не нашлось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Немного поясню свою хотелку. Есть матрица D размером 30х64, заполненная значениями яркости для 1920 точек.

Вывожу эти значения на график так:

mm = 30;
nn = 64;

for j=1:mm
     for i=1:nn
         plot(j,i,'.','MarkerEdgeColor',[D(j,i) D(j,i) D(j,i)]);
         hold on;
     end
end
hold off;

Вот результат печати

image.thumb.png.b54d999934a97bfcaa89a4ba4d1a501c.png

Точка от точки выводится на расстоянии, а хотелось бы получить непрерывную картинку.

Похоже plot() с такой задачей не справится, может есть другое решение?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо Александр! Как то я эту функцию сразу не понял.

Всё получилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Функция imagesc необычно располагает шкалу Y, сверху вниз. Условие 

If y(1) > y(2), then the image is flipped up-down.

не срабатывает.

Это можно изменить?

image.thumb.png.39bf4fb7bc17910b729e00f6c072af39.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если важна только картинка, можно просто значения по Y взять с противоположным знаком, в верху будет -300 внизу 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Та это будет нечто вроде демонстрационки, не красиво.

Для себя сошло бы и так как есть.

Я уже и axis пробовал, не работает. Неужели никак?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

М файл imagesc открыть, посмотреть, может что-то там можно подправить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 11.07.2023 в 09:33, _sda сказал:

Функция imagesc необычно располагает шкалу Y, сверху вниз. Условие 

If y(1) > y(2), then the image is flipped up-down.

не срабатывает.

Это можно изменить?

Можно, см. ф-ю yticklabels

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 11.07.2023 в 10:44, vervs сказал:

Если важна только картинка, можно просто значения по Y взять с противоположным знаком, в верху будет -300 внизу 0.

Кстати, попробовал этот вариант, перед выводом сделал D = -D; Ничего не изменилось. Хитрая функция... От знака только цвет меняется.

В 11.07.2023 в 11:02, jcxz сказал:

Интерполяция.

Где?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 11.07.2023 в 11:37, Самурай сказал:

Можно, см. ф-ю yticklabels

Похоже что тут немного сложнее. Даже если я изменю направление шкалы Y на обратное (пока не нашёл как это сделать), то картинка так и останется привязанной к первоначальной шкале. 

В 11.07.2023 в 12:03, jcxz сказал:

На графике.

Не, нету.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 11.07.2023 в 12:06, jcxz сказал:

Ну так надо приделать. не?

А зачем? Чтобы уменьшить шаг сетки? Не, я решил что функция plot() здесь совсем не к месту, не умеет она работать с пикселями. 

Красивая картинка рисуется imagesc(), меня этот рисунок вполне устраивает, но есть свои заморочки.

Даже если поменять порядок следования отсчётов - картинка практически не меняется

D(:,1:mm) = D(:,mm:-1:1);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...