一条线服从线的eq y=a*x+b.这里x和y是图像的坐标.因此,如果您想要由两个点定义的线(x1,y1) -> (x2,y2),则斜率a为(y2-y1)/(x2-x1)和b=y1-a*x1.接下来,选择矩阵中的点,遵循线的eq,如下所示:
创建数据和终点:
m=peaks(50);
x1=5 ; x2=42;
y1=21; y2=29;
Run Code Online (Sandbox Code Playgroud)
计算线参数的ew:
a=(y2-y1)/(x2-x1);
b=y1-a*x1;
Run Code Online (Sandbox Code Playgroud)
定义行:
x=x1:x2;
y=round(a*x+b);
Run Code Online (Sandbox Code Playgroud)
使用线性索引选择合适的矩阵元素:
ind=sub2ind(size(m),y,x)
Run Code Online (Sandbox Code Playgroud)
情节:
subplot(2,1,1)
imagesc(m); hold on
colormap(bone)
line([x1 x2],[y1 y2],'Color',[1 0 0]);
subplot(2,1,2)
plot(m(ind))
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
2184 次 |
| 最近记录: |