MATLAB - Как избежать зазубрин изображения? - PullRequest
0 голосов
/ 05 июля 2010

Как избежать зазубренных изображений в MATLAB ?

У меня есть изображение размером 600 x 600 пикселей, открытое в MATLAB, и я выполняю некоторую обработку изображения. Однако, когда я его сохраняю, он выглядит размытым и неровным. Что мне делать?

(Этот вопрос связан с моим предыдущим вопросом, MATLAB - Как нанести x, y на изображение и сохранить? )

fid = fopen(datafile.txt);
A = textscan(fid,'%f%f%f'); %read data from the file
code = A{1};
xfix = A{2};
yfix = A{3};

for k=1:length(code)
    imagefile=code(k);
    rgb = imread([num2str(imagefile) '.jpg']);
    imshow(rgb);
    hold on;
    x = xfix2(k);
    y = yfix2(k);
    plot(x,y,'-+ b'); % plot x,y on the
    saveas(([num2str(imagefile) '.jpg'])) % Save the image with the same name as it open.
end
hold off

Ответы [ 2 ]

0 голосов
/ 07 июля 2010

Я предполагаю, что это артефакты сжатия JPEG. JPEG не является отличным форматом для данных с большим количеством высокочастотных компонентов. Вы пытались уменьшить компрессию? Вот так:

imwrite(f.cdata,([num2str(imagefile) '.jpg']),'Quality',100);

Значение по умолчанию для параметра качества - всего 75. Это достаточно для многих случаев, но вам может потребоваться больше.

0 голосов
/ 07 июля 2010

Если это просто проблема с разрешением, возможно, использование команды печати (как указано ниже) с явным параметром разрешения может исправить это.

print(gcf,'-djpeg','-r600',[num2str(imagefile)])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...