MATLAB - 如何避免锯齿状图像?

时间:2010-07-05 17:48:35

标签: matlab image-processing

如何避免MATLAB中的锯齿状图像?

我在MATLAB中打开了一个600 x 600像素的图像,并对图像进行了一些处理。然而,当我保存它时,它看起来如此模糊和锯齿状。我该怎么办?

(此问题与我之前提出的问题相关, MATLAB - How to plot x,y on an image and save?

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 :(得分:0)

如果只是一个分辨率问题,可能使用带有显式分辨率选项的print命令(如下所示)可能会修复它。

print(gcf,'-djpeg','-r600',[num2str(imagefile)])

答案 1 :(得分:0)

我的猜测是JPEG压缩工件。对于具有大量高频分量的数据,JPEG不是一种很好的格式。你试过压缩吗?像这样:

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

质量参数的默认值仅为75.对于很多情况来说这很多,但您可能需要更多。