Matlab 为什么《不真实》会产生嘈杂的情节?
我在这个链接上有图片: 我正在尝试使用Matlab 为什么《不真实》会产生嘈杂的情节?,matlab,image-processing,Matlab,Image Processing,我在这个链接上有图片: 我正在尝试使用unprofile 我运行了invrofile(Ic,xc,yc,50)使用yc=[20 140]。我使用的链接中的第二个图像是xc=[20 30],第三个图像是xc=[20 80] 这对我来说没有意义,因为当您增大xc的大小时,我希望绘图更接近平滑绘图(例如链接中的第四幅图像)。因为我认为如果你增加x的宽度,那么y的给定值应该会有更少的噪声。例如,如果在y=20,x=20将为I在y=20处产生1个值。但是如果你在y=20处展开x,这样就有x=20,21,2
unprofile
我运行了invrofile(Ic,xc,yc,50)代码>使用yc=[20 140]
。我使用的链接中的第二个图像是xc=[20 30]
,第三个图像是xc=[20 80]
这对我来说没有意义,因为当您增大xc
的大小时,我希望绘图更接近平滑绘图(例如链接中的第四幅图像)。因为我认为如果你增加x
的宽度,那么y
的给定值应该会有更少的噪声。例如,如果在y=20
,x=20
将为I
在y=20
处产生1个值。但是如果你在y=20
处展开x
,这样就有x=20,21,22,23,24
,那么在给定的y=20
处会有5个I
值,所以I
在y=20
处的报告值将是这5个I
值的平均值,对吗
除了模糊图像之外,难道没有办法让取消配置文件
生成更平滑的打印吗?如果您对要施加在轮廓上的平滑度约束有一些了解,那么一件简单的事情就是对轮廓进行后期处理
例如:
p = improfile(Ic, xc, yc, 50);
pnew = conv(p,ones(1,9)/9,'valid');
在这里,我们只是沿着轮廓应用一个理想的低通平均滤波器,并丢弃轮廓中的第一个和最后4个点。您可以根据需要过滤p。取消配置文件
返回图像在起点和终点之间等间距点处的值。在您的例子中,start=[xc(1),yc(1)]
,和end=[xc(2),yc(2)]
我认为你想做的是:
mean(Ic(yc(1):yc(2),xc(1):xc(2)),2)
在那里,我从图像中提取一个矩形区域,并沿x轴平均。这给了我一个类似于你的情节,但更流畅。并且xc(2)
越大,它变得越平滑:
(蓝色:xc=[20,30]
,红色:xc=[20,80]
)
另一种方法是在垂直于要提取的轮廓的方向上平滑图像。如果要提取的纵断面是水平或垂直的(如仅沿行或列进行简单的卷积),这很容易,但需要对其他方向的纵断面进行专门的过滤器。这确实会产生更平滑的绘图。然而,x=[20 80]
仍然没有明显比x=[20 30]
平滑: