improfile后将数据保存在矩阵中

14次浏览(过去30天)
伊娃G
伊娃G 2021年10月4日
回答: 布勒Kulkarni 2021年10月18日
你好,
我有一个图像,我想得到它的横截面-线强度配置文件,以评估线,如果等距。我在图像的中点设置了improfile,我得到了强度配置文件。之后,我想保存improfile matlab图形到一个矩阵,并尝试从矩阵中获得所有列的特定行,但我找不到方法。
请查看我的代码如下:
I = imread(气管无名动脉瘘管的测试- 0.的);我有tif文件,但在这里我上传了一个jpg
x = [0 size(I,2)];
y = [size(I,1)/2 size(I,1)/2];%选择中间的y数据
improfile (I (x, y);
imshow(我);
数字
M = improfile (I (x, y);
保存(“data.mat”“米”);
3评论
杰夫•海斯
杰夫•海斯 2021年10月4日
@Eva G -你确定输出的大小应该不同吗?也许您需要捕获指定的x和y坐标 在这里

登录评论。

答案(1)

布勒Kulkarni
布勒Kulkarni 2021年10月18日
你好,
在您提供的代码片段中,像素值仅沿图像中的一个线段进行采样 .这条线段的端点是 我(0, 大小(我,1)/ 2) 而且 我(大小(我,2),大小(我,1)/ 2) .因此,输出变量 给出沿线段的像素值的单个向量。
为了在图像中沿着多个水平线段获得配置文件,您必须为循环中的所有线段生成配置文件,并将它们的输出组合到一个矩阵中。例如,要沿着顶部、中间和底部的3条水平线获得一个概要文件,代码如下所示。
I = imread(“测试- 0. jpg”);我有tif文件,但在这里我上传了一个jpg
x = [0 size(I,2)];
M = [];
yi = [1 size(I,1)/2 size(I,1)]
Y = [yi yi];%选择中间的y数据
数字
Mi = improfile(I,x,y);
M = [M;Mi);
结束
保存(“data.mat”“米”);

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的