我有一张尺寸为240 * 320的图像,我的光学流量结果是垂直和水平值。我需要通过原始图像上的箭头可视化光流。我知道我必须使用箭袋功能。类似的东西:
imshow(image)
hold on
quiver(vx,vy)
hold off
但我得到的是蓝色方块而不是箭头。
答案 0 :(得分:2)
一个完全蓝色的方块可能是因为太多的箭头靠近在一起绘制的。
例如,以下代码将生成一组易于查看(如果不是很有意义)的箭头:
figure
data = imread('peppers.png');
imshow(data)
s = size(data);
hold on
[x,y] = meshgrid(1:50:s(2),1:50:s(1));
px = cos(x);
py = sin(y);
quiver(x,y,px,py)
这将产生一个完全蓝色的情节:
figure
data = imread('peppers.png');
imshow(data)
s = size(data);
hold on
[x,y] = meshgrid(1:1:s(2),1:1:s(1)); % arrow spacing is too close!
px = cos(x);
py = sin(y);
quiver(x,y,px,py)