无论如何在MATLAB中加粗某些图像区域?

时间:2015-07-23 18:55:47

标签: matlab plot border

以下矩阵来自imagesc(rand(10,10))作为纯粹的例子。 enter image description here

我想知道在MATLAB中是否有一种方法可以为某些元素添加粗体黑色边框?我在MS绘画中做了一个糟糕的例子,只是为了得到重点。 enter image description here

2 个答案:

答案 0 :(得分:4)

在我看来,更好的替代方法是使用patch,例如:

imagesc(rand(10,10)), hold on

vert = 0.5+[0 0; 1 0; 1 1; 0 1]; % x and y vertex coordinates
fac = [1 2 3 4];              % vertices to connect to make square

patch('Faces',fac,'Vertices',vert,'FaceColor','none','LineWidth',2)

vert2 = 0.5+[5 6; 5 8; 9 8; 9 5; 7 5; 7 6]; % x and y vertex coordinates
fac2 = [1 2 3 4 5 6 ];  % vertices to connect to make the other closed polygon

patch('Faces',fac2,'Vertices',vert2,'FaceColor','none','LineWidth',2)

enter image description here

请注意,我在顶点坐标中添加0.5的原因是因为在imagesc中,bin以整数值为中心,因此bin边缘的值为0.5。

答案 1 :(得分:2)

您可以使用plot在任意位置绘制线条。

imagesc(rand(10,10)), hold on
plot([1.5,1.5],[0,10],'black','LineWidth',3)

然后按照您想要的方式定义边界框。