1、 课课 程程 设设 计计 课程名称_数字图像处理_ 题目名称_纸牌识别_ 学生学院_ _ 专业班级_ _ 学 号_ _ 学生姓名_ _ _ 指导教师_ _ _ 一、设计题目 (1) 、在 VC环境下实现打开、显示一幅纸牌图(设计资料中有纸牌图) 。 (2) 、将提供的几幅图片中的纸牌进行分类和识别,要求: a、判断出是那种类型(共四类:红桃,梅花、黑桃、方片) ; b、检测 出点数(1、210) ; c:将上述检测的结果输出。 二、设计目的 通过设计, 以 C+为工具, 实现数字图像处理。 会用数字图像处理知识对图像进行增强, 如全局阈值,对图像进行旋转,边缘检测,对图像进行平移,截取图像特征
2、并会用简单的模 板匹配方法匹配判断图片内容。 学会使用 FMC。 三设计内容。 (1) 基本思想为: 对图片进行中值滤波去除噪声,对图像进行全局阈值处理,用锐化模板检测, 纸牌边缘,左方开始测量每个点当碰到纸牌边缘时灰度为 255,此时记下像素 距离,从而对得到纸牌水平位置,同理得图片竖直距离,对图片进行平移,并 截取左上角的特征,对特征进行基本处理,如二值化。逐一加载模板,进行匹 配,匹配原理为特征于模板相同像素的个数,如个数很高则匹配成功,从而识 别纸牌。 (2)在下建立 FMC 平台。使用 DIB类处理 bmp 格式文件。 工程名为 pokeridentyfy。CPokeridentyf
3、yview.中包的 DIB类有 CDIB m_dib; CDIB mid_boader; CDIB boaer_crect CDIB cutmask; CDIB forcut; CDIB masknumber; CDIB masktype; 用于存放,处理和显示图片。 制作菜单每个对于图像处理功能,一个按键调用一个处理函数,也可一个按键调用多个处理函数。菜 单及其功能如下图 打开图像的代码为功能为大开所处理图像: void CPokeridentifyView:OnOpenimage() / TODO: Add your command handler code here static cha
4、r szFilter=“BMP 文件(*.bmp)|*.bmp|“; /定义过滤文件的类型 CFileDialog dlg(TRUE,“bmp“,NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);/定义文件对话框对象 CString filename; int ret=dlg.DoModal(); /运行打开文件对方框 if(ret=IDOK) filename=dlg.GetFileName(); /获取所选择图像的路径 m_dib.LoadFromFile(filename); /加载图像 if(!m_dib.m_bLoaded) /判断是否加载图像成功 AfxMessageBox(“图像打不开“); return; mid_boader.LoadFromFile(filename); /加载图像 if(!mid_boader.m