• 大小: 1.11MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-06
  • 语言: 其他
  • 标签: matlab  

资源简介

自己做的一个简单GUI扑克纸牌识别-poker.rar
在学校课程设计作业时自己做的一个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


评论

共有 条评论