2013-02-21 90 views
1

我已获得使用120×120矩阵和surf功能如下图所示。平滑MATLAB情节数字

enter image description here

有一个简单的方法,使不同颜色的线条看起来更顺畅?

+0

缩小可以做到这一点。 (也许先使用较高的初始分辨率) – 2013-02-21 13:55:08

+0

您是如何计算线条的? – Dan 2013-02-21 14:05:04

+1

@Dan:这是优化问题的结果,得到的矩阵在六边形上是分段常量。这些线是由'surf'功能完成的,而不是由我自己完成的。但我想唯一的选择是自己调整图像,或使用其他软件来管理数据。 – 2013-02-21 14:35:22

回答

3

首先,surf可能不会显示2D图像的最佳方式 - 如果你实际上并不需要高度信息,imagesc会工作得很好。更好的是,它不会显示六边形之间的不同颜色的线条,因为它不通过交叉点处的颜色映射。但是,无论您采用何种方法,低分辨率位图都不会自动转换为“任意”分辨率矢量图形 - 并且您可能不希望这样做,无论如何,如果您使用该数字来允许您检查您在给定的价值下获得的(x,y)的组合。

有三种方法,使你的形象更漂亮 - (1)段的六边形,并使用patch来创建矢量图形图像。 (2)用imresample上传图像。 (3)创建RGB图像并分别平滑每种颜色以获得更柔和的过渡:

%# assume img is your image 
nColors = length(unique(img)); 
%# transform the image to rgb 
rgb = ind2rgb((img+fliplr(img)),jet(nColors)); %# there are much better colormaps than jet 
%# filter each color 
for i=1:3,rgbf(:,:,i)=imfilter(rgb(:,:,i),fspecial('gaussian',9,3),'replicate');end 
+0

谢谢你的回答。 – 2013-02-21 17:10:29