资源简介
一个基于MATLAB环境开发的扑克牌识别程序
代码片段和文件信息
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
- 上一篇:CT反投影重建算法
- 下一篇:Matlab考试题库加答案
评论
共有 条评论