matlab - 为什么我的 improfile 函数的结果在 MATLAB 中返回镜像图?

标签 matlab image-processing plot signal-processing curve

我目前正在 MATLAB 上运行 improfile,其中一条线穿过下图的中心:

enter image description here

这样做之后,我使用下面的代码绘制结果:

xi = [1 size(d_Img,2) size(d_Img,2) 1]; 
        yi = [ceil(size(d_Img,1)/2), ceil(size(d_Img,1)/2), ceil(size(d_Img,1)/2 ),ceil(size(d_Img,1)/2)];

    c_d = improfile(d_Img,xi,yi);
    c_c = improfile(c_Img,xi,yi);
    c_d = c_d';
    c_c = c_c';  
    size_c = size(c_d);
    n = 1:size_c(2); 

    plot(n,c_d);

情节如下:

enter image description here

为什么曲线相互镜像?我要求更好地了解 improfileMATLAB 中到底实现了什么目标。

最佳答案

improfile 计算类似“路径积分”的东西,它为您提供用户指定路径周围的图像强度值。例如,如果您使用:

improfile(img,[1 1],[1 大小(img,2)]);

它与 img(:,1) 相同。这是因为您在 improfile 中使用的路径是从 (1,1)(1,size(img,2)) ,意思是第一行。但是,您绝对可以添加更复杂的路径。

在你的例子中,你将走一条由 4 个点定义的路径。如果我用结果数字替换你的方程,要点是:

(1,79)->(134,79)->(134,79)->(1,79)。因此,看看这个,很明显你的结果应该是镜像的,因为你是通过一条线来进行积分的!


旁注:

你可以做plot(c_d);并忘记n

关于matlab - 为什么我的 improfile 函数的结果在 MATLAB 中返回镜像图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35179352/

相关文章:

Java、Matlab 读取 Wav 文件中的数据,有何不同?

algorithm - Matlab中的放气算法

matlab - 下载后如何安装SeDuMi for YALMIP matlab?

c++ - QCustomPlot 小部件上类似工具提示的方 block

python - 试图绘制二元正态分布的等高线,不适用于相关项

matlab - 带单元格的 Subsref

c# - 确定图像是否模糊

python - opencv 将附近像素设为白色

java - 使用通用固定标题创建 JPEG 拇指图像

r - 在 r 中的基本图形中绘制多条拟合线