Избавляемся от интерполяции / алиасинга в EPS-экспорте matlab? - PullRequest
3 голосов
/ 02 августа 2011

У меня есть двухмерный график цветовой карты, созданный с помощью imagesc, и я хочу экспортировать его как файл .eps, используя print -depsc.

Проблема в том, что "исходные" данные изображения получены издовольно маленькая матрица (131 х 131).Когда я просматриваю изображение в окне рисунка Matlab, я могу видеть все отдельные пиксели, если немного увеличить масштаб.

Однако при экспорте в eps, похоже, происходит некоторая интерполяция или сглаживаниена том, что соседние пиксели размываются / смешиваются друг с другом.Я не получаю проблемы, если я экспортирую TIFF высокого разрешения, но этот формат не вариант (как того требует издатель).

Как получить EPS, который сохраняет пиксельную структуру моего изображения без применения интерполяции или сглаживания?

Ответы [ 2 ]

0 голосов
/ 15 мая 2014

Старый вопрос, но высоко оценен в Google, поэтому вот мой ответ:

Откройте файл .eps с помощью текстового редактора, найдите «Интерполировать» и измените следующее «true» на «false». Повторите этот шаг для всех Interpolate-операторов.

Это также может зависеть от того, какую программу просмотра вы используете, но, вероятно, просто потому, что некоторые программы просмотра игнорируют "Интерполировать" ...

Была такая же проблема при использовании plot2svg в Matlab и экспорте из Inkscape в eps.

0 голосов
/ 11 января 2012

Размытие на самом деле зависит от программного обеспечения рендеринга, используемого вашим приложением для просмотра или принтером.Чтобы получить хорошие результаты все время, сделайте каждый пиксель в вашем изображении блоком 8x8 пикселей одного цвета.Затем размытие влияет только на пиксели по краям каждого блока.Блоки 8x8 лучше всего подходят для сжатия без неприятных артефактов с использованием сжатия DCT (иногда используется в файлах eps).

...