如何在MATLAB中在视频帧上画一条线

时间:2014-06-10 22:50:19

标签: matlab computer-vision matlab-cvst

我试图沿着黑色条纹从边缘到运动部分的绿色点画一条细红线,这是我之前在视频中找到的。我正在逐帧处理视频。

我可以找到两个点(起点和终点),但我被困在如何使两点和它们之间的点线性变红。

例如

对于图片中的当前帧,顶点坐标为45度,距离左上角(0,0)角为237,绿点的坐标为231,距离左上角为238。

所以我需要从(237,45)到(231,238)画一条线。

我如何使中点绿色代替当前帧矩阵中的像素值。我试图采用类似的方法,但可能会有更有效的方法。

enter image description here

2 个答案:

答案 0 :(得分:1)

不幸的是,您无法在vision.VideoPlayer上使用handle graphics命令。但是,有一个函数insertShape,可让您在显示之前直接绘制到图像中。

答案 1 :(得分:0)

imshow(image_name);
hold on
[n, m] = imsize(image_name);
plot([231 237], [n-238, n-45], 'r');

这应使用标准绘图工具直接绘制到图像上。你需要使用n值,因为图像使用左上角为(0,0),其中plot使用左下角。 plot命令只是绘制一个2点的数组,它将自动与一条线连接。你可以直接编辑像素,但找到要编辑的像素然后保持整洁是非常麻烦的