【图像识别】基于模板匹配算法实现卡牌识别matlab代码
【图像识别】基于模板匹配算法实现卡牌识别matlab代码
TT_Matlab
每天分享一点Matlab资料,一起成长进步。需要定制程序添加qq1575304183
1 简介
随着图像处理、人工智能、计算机技术的不断发展,计算机识别技术也日趋成熟,逐渐转为使用阶段,目前计算机识别方法主要有两种:
1) 标记识别技术;
2) 基于图像处理的识别技术。
第一种方法是先在识别目标上预先安设一个标记,标记可以是 IC 条形码等,再将目标的信息存储在标记中,则从标记中可以识别出目标及其它相关的内容。这种方法的优点是识别准确度高、速度快和可靠,但由于这种方法对硬件的要求,使得它存在了许多的局限性,若应用到扑克纸牌识别当中,需要为纸牌装有一个微型的IC ,这样的设备价格十分昂贵,同时也摒弃了纸牌的实际用途,普及实用性不强。
基于图像处理的识别技术相比较第一种方法的优势在于不需要给识别目标添加任何辅助设备就可以对其进行识别。应用到扑克纸牌识别当中,对目标信息的采集是非接触性的,可以实时识别,非人工操作,工作效率高。这种方法是基于计算机视觉和图像处理技术,作为一个软件系统,更方便维护和升级,通用性更强。存在着这几方面的优势,基于图像处理的识别技术具有很大的发展空间。
基于图像处理的纸牌识别主要包括纸牌图像预处理(倾斜校正与定位)、特征提取、特征匹配、纸牌识别等方面的技术。系统构成如上图所示,当系统发现监视图像发生变化时,触发图像采集,通过 CCD 摄像头摄取的纸牌图像,然后识别系统对纸牌图像进行一系列处理从而识别出纸牌,输出识别结果。
2 部分代码
function varargout = poker ( varargin ) gui_Singleton = 1 ; gui_State = struct ( ’gui_Name’ , mfilename , ... ’gui_Singleton’ , gui_Singleton , ... ’gui_OpeningFcn’ , @ poker_OpeningFcn , ... ’gui_OutputFcn’ , @ poker_OutputFcn , ... ’gui_LayoutFcn’ , [] , ... ’gui_Callback’ , []); if nargin & isstr ( varargin { 1 }) gui_State . gui_Callback = str2func ( varargin { 1 }); end if nargout [ varargout { 1 : nargout }] = gui_mainfcn ( gui_State , varargin {:}); else gui_mainfcn ( gui_State , varargin {:}); end % -------------------------------------------------------------------- function poker_OpeningFcn ( hObject , eventdata , handles , varargin ) handles . output = hObject ; guidata ( hObject , handles ); global IMAGE ; global POKER ; global GRAY ; global BW ; global BWSTR ; IMAGE = 0 ; POKER = 0 ; GRAY = 0 ; BW = 0 ; BWSTR = 0 ; %全局变量初始化为0 % -------------------------------------------------------------------- function varargout = poker_OutputFcn ( hObject , eventdata , handles ) varargout { 1 } = handles . output ; % -------------------------------------------------------------------- function file_Callback ( hObject , eventdata , handles ) % -------------------------------------------------------------------- function new_Callback ( hObject , eventdata , handles ) global IMAGE ; global POKER ; global GRAY ; global BW ; global BWSTR ; name = 0 ; [ name , path ]= uigetfile ({ ’*.bmp’ ; ’*.jpg’ ; ’*,tif’ }, ’打开图像’ ); if name == 0 ; return ; %没有打开图像 end IMAGE = imread ( strcat ( path , name )); %成功打开图像 POKER = 0 ; GRAY = 0 ; BW = 0 ; BWSTR = 0 ; %其他图像复位
3 仿真结果
4 参考文献
[1]陶鹏, and 朱华. "模板匹配识别算法和神经网络识别算法的比较及MATLAB实现." 电脑知识与技术:学术版 16.34(2020):4.
部分理论引用网络文献,若有侵权联系博主删除。
微信扫一扫赞赏作者
赞赏
发送给作者
人赞赏
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
-
Origin(Pro):学习版的窗口限制【数据绘图】 2020-08-07
-
如何卸载Aspen Plus并再重新安装,这篇文章告诉你! 2020-05-29
-
AutoCAD 保存时出现错误:“此图形中的一个或多个对象无法保存为指定格式”怎么办? 2020-08-03
-
OriginPro:学习版申请及过期激活方法【数据绘图】 2020-08-06
-
CAD视口的边框线看不到也选不中是怎么回事,怎么解决? 2020-06-04
-
教程 | Origin从DSC计算焓和比热容 2020-08-31
-
如何评价拟合效果-Origin(Pro)数据拟合系列教程【数据绘图】 2020-08-06
-
Aspen Plus安装过程中RMS License证书安装失败的解决方法,亲测有效! 2021-10-15
-
CAD外部参照无法绑定怎么办? 2020-06-03
-
CAD中如何将布局连带视口中的内容复制到另一张图中? 2020-07-03