如何在MATLAB中获得作为图片输入的汽车车速表的速度

时间:2015-03-04 02:14:28

标签: image matlab image-processing

SPEEDOMETER

如何以matlab中的车速表图片作为输入获得整车速度,如本例所示,输出为零

方法或代码对此非常有帮助,谢谢

1 个答案:

答案 0 :(得分:1)

一个简单的解决方案是使用Orientation函数的regioprops参数。使用您的图像,我提取红色图层以形成二值化图像:

enter image description here

然后我找到了最大物体的方向。这是代码:

% --- Parameters
th = 130;

% --- Load image
Img = imread('Image.jpg');

% --- Binarization based on the red layer
BW = (Img(:,:,1)-(Img(:,:,2)+Img(:,:,3))/2)>th;

% Get the main object's orientation
R = regionprops(BW, {'Area', 'Orientation'});
[~,I] = max([R(:).Area]);
theta = R(I).Orientation;

角度theta的值(在这种情况下约为35°)定义在0到180°之间。要获得完整360°的定义,您必须优化代码,例如通过查看对象的质心和边界框的中心之间的角度,这两个数量可以通过{{1}访问}。

最佳,