扑克纸牌识别报告.docx
《扑克纸牌识别报告.docx》由会员分享,可在线阅读,更多相关《扑克纸牌识别报告.docx(25页珍藏版)》请在三一办公上搜索。
1、课程名称题目名称学生学院专业班级学 号学生姓名指导教师摘要随着图像处理、人工智能、计算机技术的不断发展,计算机识别技术也日趋成熟,逐渐 转为使用阶段,目前计算机识别方法主要有两种:1)标记识别技术;2)基于图像处理的识别技术。第一种方法是先在识别目标上预先安设一个标记,标记可以是IC条形码等,再将目标 的信息存储在标记中,则从标记中可以识别出目标及其它相关的内容。这种方法的优点是识 别准确度高、速度快和可靠,但由于这种方法对硬件的要求,使得它存在了许多的局限性, 若应用到扑克纸牌识别当中,需要为纸牌装有一个微型的IC,这样的设备价格十分昂贵, 同时也摒弃了纸牌的实际用途,普及实用性不强。基于图
2、像处理的识别技术相比较第一种方法的优势在于不需要给识别目标添加任何辅 助设备就可以对其进行识别。应用到扑克纸牌识别当中,对目标信息的采集是非接触性的, 可以实时识别,非人工操作,工作效率高。这种方法是基于计算机视觉和图像处理技术,作 为一个软件系统,更方便维护和升级,通用性更强。存在着这几方面的优势,基于图像处理 的识别技术具有很大的发展空间。基于图像处理的纸牌识别主要包括纸牌图像预处理(倾斜校正与定位)、特征提取、特 征匹配、纸牌识别等方面的技术。系统构成如上图所示,当系统发现监视图像发生变化时, 触发图像采集,通过CCD摄像头摄取的纸牌图像,然后识别系统对纸牌图像进行一系列处 理从而识别出
3、纸牌,输出识别结果。纸牌图像预处理传感器触发CCD摄像头进行图像采集后可以得到一张图像,图像中包括背景和待识的目 标纸牌,但目标纸牌在图像中并不一定是正放的,许多的时候纸牌与图像的边缘形成一定的 倾斜角度,如下图所示:因此,纸牌识别之前,必须先对目标纸牌进行倾斜校正和定位。对于整个纸牌识别系统来说,纸牌识别精确度的高低很大程度下取决于纸牌的倾斜校正 与定位精确度高低,这是十分重要的一步。纸牌形状为一矩形,纸牌是否倾斜可以以纸牌的物理边缘是否与图像边缘倾斜为准则,若纸牌的物理边缘与图像边缘呈0或90度(平放或 正放),则纸牌没有发生倾斜,反之,则存在倾斜。根据以上分析的特点,可以利用Hough变
4、换和边缘检测结合的方法实现纸牌的倾斜校 正与定位。Hough变换是利用极坐标变换的方法,在图像中进行像素的累加,从而估算出最长直线 与图像边缘所成倾斜的角度。如下左图所示,首先在原图像中引入?、0和L三个参数,通 过p和0参数的变化可以累加出对应L的值(直线长度):利用Hough变换,可以很容易地得出在图像中最长直线的长度和该直线与图像边缘对应 所成的角度。对于大多数的纸牌来说,我们可以直接把检测出来最大的L所对应的倾斜角0 视为纸牌的倾斜,这是因为,纸牌本身拥有的一条较长边缘,而任何角度上的直线像素累加 都不能与之相比。纸牌本身具有一 条较长的边缘。但对于一些内部图案很复杂的纸牌,如J、Q、
5、K和JOKER,由于图案边缘复杂性的原因, Hough变换后就会产生一些非纸牌物理边缘而长度超过物理边缘的线条,此时,该线条对应 的倾斜角0就不是纸牌与图像所成的真实倾斜角度。R内部出线了大量 条信息,影响对纸 Z理边缘的确认。这些复杂线条信息的存在,会对纸牌物理边缘的确认产生十分大的影响,因此,在Hough 变换之前,必须采取一些操作,最大程度地去除这些复杂的边缘信息的同时,保留纸牌的物理边缘信息。可以在经过边缘检测的前提下,通过形态学闭操作把纸牌内部的复杂线条模糊化,然后再对模糊化后的图像进行边缘检测,具体效果如下图:a.原始图像b,第一次边缘检测c.形态学闭操作d,第二次边缘检测经过以上
6、的步骤后,再对图像进行Hough变换,就可以准确地确认出纸牌的物理边缘, 然后对纸牌进行倾斜校正与定位,Matlab程序实现如下:function poker=rectify(rgbimage)%扑克目标校正且定位函数%灰度化图像%灰度化图象边缘化%形态学闭操作圆形结构体grey=rgb2gray(rgbimage);ed1=edge(grey,sobel,both);bw1=imclose(ed1,strel(disk,20);%以上形态学操作为了模糊纸牌内部的线条结构%从而减小J,Q,K,JOKER纸牌等内部复杂边缘对定位的影响%对纸牌的物理边缘进行检测%结构性膨胀加强边缘效果%-90到9
7、0度的hough变换%倾斜角值%最长直线长度ed2=edge(bw1,sobel,both);bw2=bwmorph(ed2,dilate);hough=radon(bw2,-90:90);m,n=size(hough);rotate=0;sline=0;for i=1:mfor j=1:nif hough(i,j)sline;rotate=j-1;sline=hough(i,j);endendended3=bwmorph(ed2,clean,10);%预校正%预测校正后的目标位置%倾斜校正%定位bw3=imrotate(ed3,-rotate);m,n=find(bw3);rgb=imrot
8、ate(rgbimage,-rotate,bilinear);poker=rgb(min(m):max(m),min(n):max(n),:);m,n=size(poker);if nmpoker=imrotate(poker,90,bilinear);end纸牌特征提取纸牌具有很多的特征,如字符特征,花形特征,图案特征,颜色特征等,不同的纸牌具 有不同的特征。根据特征的组合,可以产生出54纸不同的纸牌。纸牌识别的第一步,必须 在待识别的纸牌中提取它所具备的特征。由于纸牌内部的图案较复杂,对其操作运算量较大,不以其作为识别的特征。而字符和 花形特征结构较为简单,易于操作,所以应该在纸牌中提取字
9、符与花形的特征,并以这两个 特征识别出纸牌。在纸牌倾斜校正与定位后,根据纸牌的固有属性,可以大概地定位出纸牌上字符与花形 的位置,然后把字符与花形粗略提取出来。提取出字符与花形的大概位置后,必须对提取出的图像进行二值化,进一步提取特征。二值化是指整幅图像像素仅有黑、白二值的图像。由于“非黑即白”的特性,二值图 像在数字图像处理中占有非常重要的地位。二值化的关键是要找到合适的阈值来区分对象和 背景。阈值选取有许多的方法,常用的阈值选取方法有:直方图双峰法、自适应局部阈值法、 最佳阈值法等。Ostu算法是最佳阈值算法的一种。Ostu算法是利用最大类间方差法,判决分析最小二 乘法的原理基础上推导得出
10、的。它的计算步骤是先计算图像的灰度直方图概率函数,然后以 阈值为基准将灰度级划分为两类,Ostu算法求二值化最佳阈值的Matlab程序实现如下:function level=ostu(IMAGE)%最大类间方差ostu算法,求最佳阈值m,n,s=size(IMAGE);if s=1image=IMAGE;endif s=3image=RGB2gray(IMAG E);endranks=256;counts=imhist(image,ranks);p=counts/sum(counts);omega=cumsum(p);mu=cumsum(p.*(0:ranks-1);mu_t = mu(end
11、);%otsu类间方差%原始阈值sigma2=0;T=0;h=0;Hmax=0;w0=0;w1=0;u0=0;u1=0;HStore=zeros(1,256);for i=1:ranksif (omega(i)=0)|(1-omega(i)=0)continue;end;w0=omega(i);w1=1-w0;u0=mu(i)/w0;u1=(mu_t-mu(i)/w1;sigma2=w0*(u0-mu_t).”2+w1*(u1-mu_t).”2;h=sigma2;HStore(i)=h;endHmax = max(HStore);isfinite_maxval = isfinite(Hmax)
12、;if isfinite_maxvalidx = mean(find(HStore = Hmax);level = (idx - 1) / (ranks - 1);elselevel = 0.0;end在字符和花形粗略定位并且二值化之后,有时会残留一些很长边缘信息。这些边缘信息 多数来自于纸牌本身的图案边缘或背景残留。由于这些线条多数与字符和花形的颜色相近, 因此在图像二值化之后仍然会保留下来。这些多余的边缘信息给特征的正确提取带来了很大 的影响,所以在字符分割之前去除这些干扰是必要的。这些边缘信息都具有连续不跳变的特性,因此可以利用这个特性对二值化图像进行扫 描,当出现超过一定长度不跳变的线
13、条,把它视为干扰信息,并且把它去除。粗略定位并二 值化后,出现 了干扰线条。从左至右进行扫描,当 列方向上出现超过1/3 边长长度不跳变的线 条,把它视为干扰线 条,并把它去除。清除干扰线条的Matlab实现程序如下: function str=reduce(bwstr);%去除干扰边缘信息m,n=size(bwstr);temp=ones(m,n);num=1;for j=1:ncount=0;for i=1:mif bwstr(i,j)=0;count=0;continue;elsecount=count+1;if count=m/3;break;endendendif count=m/3
14、line(num)=j;num=num+1;endendfor i=1:num-1for j=1:mtemp(j,line(i)=0;endendstr=logical(double(bwstr).*temp);%线条不连续%连续不跳变点数增加%连续不跳变长度超过1/3边长%记录扫描到线条位置%清除干扰边缘清除干扰线条后分割出字符与花形。清除干扰线条前后效果比较。这个算法对断裂较多的线条没有作用,但能够在一定程度下消除了线条对目标信息的干 扰,为纸牌识别的准确度提供一个保障。纸牌识别在识别技术中,被广泛采用的有两类特征:结构特征和统计特征。常用的结构特征主要 有:笔道密度函数、空洞和缺口、字符
15、的特殊节点数。而常用的统计特征主要有复杂指数、 粗网格特征、垂直和水平投影。纸牌中有字符和花形两种字符,字符包括A、2、3、4、5、6、7、8、9、10、J、Q、K、 JOKER十四种;而花形包括:黑桃、红桃、梅花和方片四种。不论采用结构特征还是统计特 征的匹配方法方法,均需要与一个系统预知道的标准符号模板库进行匹配。结构特征匹配的识别准确率较高,但是运算量十分大,用于符号结构较复杂的识别;统 计特征匹配识别准确率相对较低,但运算量少,适用于结构简单的符号识别。纸牌只有14 个字符和4个花形符号,而且结构较简单,这里选用统计特征匹配。对于不同的符号,其投影均不相同。因此,可以利用待识别符号投影
16、与模板中各符号的投影求均方差,选择均方差最小(即 与待识别符号投影偏离最小)所对应的模板符号作为识别结果。在符号中,JOKER信息像素所占数目较多,可以先对其确认。在匹配前先对符号进行一 定的结构性膨胀,由于JOKER具有多个字符,在膨胀后非零像素增加的数量定会大大的大于 其它纸牌。这里设置一个临界值,当某待识别纸牌特征像素数量大于此临界值时把这张纸牌 识别为JOKER,小于临界值再与其他模板进行匹配,这样就可以不需要额外加入JOKER模板, 同时也一定程度下提高了系统的识别效率。Matlab - GUI程序实现新建一个空的GUI任务:设置菜单栏:添加菜单选项-囹文件陟)1=1 打开J退出(&
17、E)-囹工具(&T)=倾斜校正与定位(&Y)1=图像灰度化(&G)=图像二值化(&日)=纸牌字符提取(&P)=扑克识别(&R)Ifl关于(蜂Menu Bar Context Menus菜单栏选择项映射Callback函数:PropertiesNothing selected.一囹交件new_Callback()exit_Callback()昌打开(&。)=退出(&E)-囹工具(&T)recitify_Callback()D倾斜校正与定傥商|binary_Callback()gray_Callback()recognition_Callback() .扑克识别(&R)像二值化(&日)|1=1纸牌
18、字符提驱空getsymstr_Callback()16美about_Callback()Menu Bar Context Menus各菜单选择项映射函数具体定义:打开(O)打开一幅图像,并且显示到窗口上。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;endIMAGE=i
19、mread(strcat(path,name);% 成功打开图像POKER=0;GRAY=0;BW=0;BWSTR=0;% 其他图像复位subplot(1,1,1),imshow(IMAGE),title(,扑克纸牌图像,);卜J poker文件旧工具美子打开一张纸牌图像退出回查找范围堡);|占扑克纸牌识别也扑克符号模校 图片 000.bmp 3 图片 001.bmp 3 图片 002.bmp 3 图片 QC3.bmp M图片 00.bmp3 图片 005.bmp3图片口口让叩3 图片 007.bmp3图片 DOS.bmp3 图片 QQ9.bmp图片010.bmpS 图片 011.bmp3 囹
20、片 012.bmp3囹片口 13.丽p3 图片 0H.bmp1同上教I文件名四:文件类型削):7w3 kra倾斜矫正与定位(Y)对纸牌图像进行倾斜校正和纸牌定位,计算定位耗时并显示。 function rectify_Callback(hObject, eventdata, handles) global IMAGE;global POKER;if IMAGE=0;%未 打开图像msgbox(,请先打开一幅扑克图像,错误,,,error,);elsetic;%计算校正与定位用时POKER=rectify(IMAGE);%自定义函数 rectify()if toc5%设置超时时间为3秒msgbo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 扑克 纸牌 识别 报告

链接地址:https://www.31ppt.com/p-5302076.html