геораспределенная репликация mysql-galera

Мне кажется, что артефакты вызваны интерполяцией Matlab для перевода пикселей изображения в пиксели экрана.

Было бы неплохо иметь возможность изменить метод интерполяции, используемый Matlab при отображении изображения , но это не представляется возможным (изменение 'renderer' не помогает). Таким образом, вы можете вручную интерполировать изображение в соответствии с размером экрана, а затем отобразить это интерполированное изображение, для которого один пиксель изображения теперь соответствует одному пикселю экрана. Таким образом, Matlab не нужно интерполировать.

Для выполнения интерполяции я использовал функцию imresize . Я нахожу, что все доступные методы интерполяции дают более или менее одинаковые результаты, кроме 'box', что еще хуже, чем автоматическая интерполяция экрана Matlab. Я прикладываю некоторые результаты:

  • Первое изображение получается с вашим подходом. Вы можете видеть артефакты в левом и правом краях и в нижних внутренних диагональных ребрах. Код:
    m = 344;
    n = 358;
    image(im)
    set(gca, 'units', 'pixels', 'Position', [40 40 m n])
    
  • Во втором изображении применяется ручная интерполяция с imresize с использованием опции 'box'. Артефакты похожи или даже более выражены.
    imr = imresize(double(im)/255, [m n], 'box'); %// convert to double and 
    %// interpolate to size [m, n]
    image(imr/max(imr(:))) %// display with image size matching display size.
    %// Normalization is required because the interpolation may give values
    %// out of the interval [0 1]
    set(gca, 'units', 'pixels', 'Position', [40 40 m n])
    
  • Третья цифра является второй, но с параметром 'bilinear'. Артефакты очень ослаблены, хотя они все еще видны в некоторых частях. Другие методы интерполяции дают аналогичные результаты.

enter image description here [/g1]

enter image description here [/g2]

enter image description here [/g3]

0
задан Shahnewaz 31 December 2018 в 15:54
поделиться