繁体   English   中英

在Matlab中在整个图像上使用两个点绘制线

[英]Draw line using two points over whole image in Matlab

我需要Matlab代码在图像上使用两个点画一条线,而不仅仅是在放置在整个图像上的那些点之间,然后检查像素是否在图像的右边,然后将其值设置为0 =黑色,否则保持原样matlab的专业人士,需要在项目中使用。 在此处输入图片说明

SO上的其他问题已涵盖了在图像上绘制线条而不是注释线的问题,请参见此处的示例: 如何在matlab中的图像上绘制线条?

如果您想走这条路,我会在黑色图像上画线,并从中生成一个二进制蒙版。 然后按照我在下面提到的方法涂上口罩。

现在,如果您正在寻找快速修复,这是一个主意:

BW=roipoly(i1);

然后绘制一个包围图像左侧的多边形,并在该行处停止。 您将获得类似的内容:

二元面膜

现在清理一下

Mask=imdilate(BW, [1 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1]);

并将蒙版应用于RGB图像的3层:

Masked(:,:,1)=i1(:,:,1).*Mask;
Masked(:,:,2)=i1(:,:,2).*Mask;
Masked(:,:,3)=i1(:,:,3).*Mask;
imshow(Masked);

结果:

蒙面

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM