【钟表识别】基于计算机视觉实现钟表时间识别含Matlab源码

 1 简介

基于计算机视觉实现钟表时间识别含Matlab源码​

2 部分代码

function [time_clock]= read(filepath)     I = imread(filepath);         [edges,center,maxxy,minxy] = edges_center(I);      [arrowslines,longest,center] = getarrows(I,edges,center,maxxy,minxy);      if isempty(arrowslines)       info = imfinfo(filepath);       center(1) = info.Width/2;       center(2) = info.Height/2;       maxxy = [info.Width info.Height];       minxy = [0 0];       [arrowslines,longest,center] = getarrows(I,edges,center,maxxy,minxy);   end   finallines = struct('point1',{},'point2',{});   if length(arrowslines) == 1       newlongest = arrowslines(1);       finallines(1) = arrowslines(1);       finallines(2) = arrowslines(1);   end   max_len = 0;   j=1;   if length(arrowslines) == 3       for i = 1 : length(arrowslines)           if ~isequal(arrowslines(i),longest)               finallines(j) = arrowslines(i);               len = norm(finallines(j).point1 - finallines(j).point2);               if ( len > max_len)                   max_len = len;                   newlongest = arrowslines(i);               end               j = j+1;           end       end   elseif length(arrowslines) == 2       finallines = arrowslines;       newlongest = longest;   end   if isequal(finallines(1),newlongest)       vminute = finallines(1).point2 - finallines(1).point1;       vhour = finallines(2).point2 - finallines(2).point1;   else       vhour = finallines(1).point2 - finallines(1).point1;       vminute = finallines(2).point2 - finallines(2).point1;   end   vminute = [vminute 0];   vhour = [vhour 0];   v2 = [0 1 0];   angle1 =  atan2d(norm(cross(vminute,v2)),dot(vminute,v2));   angle2 =  atan2d(norm(cross(vhour,v2)),dot(vhour,v2));      if vminute(1) > 0        angle1 = 360 - angle1;   end       if vhour(1) > 0       angle2 = 360 -angle2;   end   minute =roundn(angle1/6,0);   hour = floor(angle2/30);      if minute >= 10    time_clock = [num2str(hour) , ':', num2str(minute)];   else    time_clock = [num2str(hour) , ':0', num2str(minute)];   end

3 仿真结果

4 参考文献

[1]谢冰雪. 钟表时间显示方式的识别效率研究[J]. 科技资讯, 2013.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

5 代码下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值