资源简介
自己做的一个简单GUI扑克纸牌识别-poker.rar
在学校课程设计作业时自己做的一个GUI扑克纸牌识别系统,结构很简单,欢迎大家来信点评:)
程序利用Hough变换与Sobel边缘检测技术对纸牌进行目标提取
利用ostu算子对纸牌进行二值化提取目标符号
利用投影特征与模板匹配
在学校课程设计作业时自己做的一个GUI扑克纸牌识别系统,结构很简单,欢迎大家来信点评:)
程序利用Hough变换与Sobel边缘检测技术对纸牌进行目标提取
利用ostu算子对纸牌进行二值化提取目标符号
利用投影特征与模板匹配
代码片段和文件信息
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;
[namepath]=uigetfile({‘*.bmp‘;‘*.jpg‘;‘*tif‘}‘打开图像‘);
if name==0;
return;%没有打开图像
end
IMAGE=imread(strcat(pathname));%成功打开图像
POKER=0;GRAY=0;BW=0;BWSTR=0;%其他图像复位
subplot(111)imshow(IMAGE)title(‘扑克纸牌图像‘);
% --------------------------------------------------------------------
function operate_Callback(hobject eventdata handles)
% --------------------------------------------------------------------
function rectify_Callback(hobject eventdata handles)
global IMAGE;
global POKER;
if IMAGE==0;%未打开图像
msgbox(‘请先打开一幅扑克图像‘‘错误‘‘error‘);
else
tic;%计算校正与定位用时
POKER=rectify(IMAGE);
if toc>5%设置超时时间为3秒
msgbox(‘图像校正定位超时‘‘错误‘‘error‘);
return;
end
time=num2str(toc);
str=strcat(‘校正与定位耗时‘time‘秒‘);
subplot(111)imshow(POKER)title(‘扑克纸牌‘);
msgbox(str‘消息‘);
end
% --------------------------------------------------------------------
function gray_Callback(hobject eventdata handles)
global IMAGE;
global POKER;
global GRAY;
if IMAGE==0%未打开图像
msgbox(‘请先打开一幅扑克图像‘‘错误‘‘error‘);
elseif POKER==0%未进行图像校正
msgbox(‘请先对图像进行校正定位‘‘错误‘‘error‘);
else
GRAY=rgb2gray(POKER);
subplot(111)imshow(GRAY)title(‘图像灰度化‘);
end
% --------------------------------------------------------------------
function binary_Callback(hobject eventdata handles)
global IMAGE;
global POKER;
global GRAY;
global BW;
if IMAGE==0%未打开图像
msgbox(‘请先打开一幅扑克图像‘‘错误‘‘error‘);
elseif POKER==0%未进行图像校正
msgbox(‘请先对图像进行校正定位‘‘错误‘‘error‘);
elseif GRAY==0%未进行图像灰度化
msgbox(‘请先对图像进行灰度化‘
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12016 2008-06-19 11:54 poker\poker.fig
文件 13055 2008-06-21 12:46 poker\poker.m
文件 230454 2007-01-19 13:15 poker\图片 000.bmp
文件 230454 2007-01-17 13:38 poker\图片 001.bmp
文件 230454 2007-01-17 13:38 poker\图片 002.bmp
文件 230454 2007-01-17 13:39 poker\图片 003.bmp
文件 230454 2007-01-17 13:39 poker\图片 004.bmp
文件 230454 2007-01-17 13:39 poker\图片 005.bmp
文件 230454 2007-01-17 13:39 poker\图片 006.bmp
文件 230454 2007-01-17 13:39 poker\图片 007.bmp
文件 230454 2007-01-17 13:40 poker\图片 008.bmp
文件 230454 2007-01-19 14:40 poker\图片 009.bmp
文件 230454 2007-01-17 13:40 poker\图片 010.bmp
文件 230454 2007-01-17 13:40 poker\图片 011.bmp
文件 230454 2007-01-17 13:41 poker\图片 012.bmp
文件 230454 2007-01-17 13:41 poker\图片 013.bmp
文件 230454 2007-01-17 13:41 poker\图片 014.bmp
文件 691200 2008-06-20 14:48 poker\扑克纸牌识别报告.doc
目录 0 2008-06-21 12:50 poker
----------- --------- ---------- ----- ----
4173081 19
相关资源
- multi output SVR
- AR过程的线性建模过程与各种功率谱估
- PCNN TOOLBOX
- plstoolbox.zip
- 中国国家基础地理信息系统GIS数据
- 粒子群微电网优化调度
- 矩阵分析-经典教材-中文版-Roger.A.Ho
- 压缩感知TwIST
- 基于最小错误率的贝叶斯手写数字分
- 最全系统辨识源代码,包括多种最小
- 导弹制导实验
- 画跟踪精确度图的程序.zip
- 重力场大地水准面及重力异常阶次误
- prtools5.2.3工具包
- 脉冲耦合神经网络工具箱PCNN-toolbox
- SVM算法-回归拟合程序.zip
- Kriging代理模型EGO算法.zip
- Matalb实现停车场完整系统
- 总体经验模态分解
- 在一张图上画多个跟踪框.zip
- 大量的有限元法求解偏微分方程的程
- 电力系统稳态潮流计算程序PQ和NR法
- 夜间车牌识别
- emd分解成多个imf分量,通过判断以后
- 心电信号的处理与自动诊断-心电信号
- 交流这是关于微电网中下垂控制的仿
- DTW语音识别算法
- 2020年美赛ABCDEF赛题特等奖论文合辑,
- 多尺度hessian滤波器图像增强
- 脉振高频注入法.zip
评论
共有 条评论