IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【游戏】拼图游戏【含Matlab源码 300期】 -> 正文阅读

[人工智能]【游戏】拼图游戏【含Matlab源码 300期】

一、获取代码方式

获取代码方式1:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

获取代码方式2:
通过紫极神光博客主页开通CSDN会员,凭支付凭证,私信博主,可获得此代码。

获取代码方式3:
完整代码已上传我的资源:【游戏】拼图游戏【含Matlab源码 300期】

备注:开通CSDN会员,仅只能免费获得1份代码(有效期为开通日起,三天内有效);
订阅紫极神光博客付费专栏,可免费获得2份代码(有效期为订阅日起,三天内有效);

二、部分源代码

function JigSaw

% Jigsaw puzzle
close all;clc
global status h s D1 m Im
status=0;
% [file path]=uigetfile('*');
% Im=imread([path,file]);
Im=imread('Albert_Einstein.jpg');
% m=input('Partitions : ');
m=4;
s=size(Im);
dr=floor(s(1)/m);dc=floor(s(2)/m);
for i=1:m
    for j=1:m
        D{i,j}=Im(dr*(i-1)+1:dr*i,dc*(j-1)+1:dc*j,:);
    end
end

for i=1:length(I);D1{i}=D{I(i)};end
h.f=figure('menubar','none',...
    'numbertitle','off',...
    'paperunit','points',...
    'name','Jigsaw',...
    'PaperSize',[s(1),s(2)],...
    'PaperUnits','points',...
    'WindowButtonDownFcn',@Down,...
    'WindowButtonUpFcn',@Up,...
    'WindowButtonMotionFcn',@Motion);

h.im=imshow(cell2mat(D1));
h.a=get(h.im,'parent');
p=get(h.f,'position');
set(h.f,'position',[0 0 s(2) s(1)]);
set(h.a,'position',[0 0 1 1])
%--------------------------------------------------------------------------
function Down(varargin)
global status x1 y1 s h m
status=1;
p=get(h.f,'currentpoint');
c=p(1);
r=s(1)-p(2);
if r>0 && c>0 && r<=s(1) && c<=s(2)
    x1=ceil(r/(s(1)/m));
    y1=ceil(c/(s(2)/m));
    if x1==m+1;x1=m;end
    if y1==m+1;y1=m;end
end
%--------------------------------------------------------------------------
function Up(varargin)
global status x1 y1 x2 y2 s h m D1
status=0;
p=get(h.f,'currentpoint');

if r>0 && c>0 && r<=s(1) && c<=s(2)
    x2=ceil(r/(s(1)/m));
    y2=ceil(c/(s(2)/m));
    if x2==m+1;x2=m;end
    if y2==m+1;y2=m;end
end
temp=D1{x1,y1};
D1{x1,y1}=D1{x2,y2};
D1{x2,y2}=temp;
set(h.im,'cdata',(cell2mat(D1)));
set(h.a,'position',[0 0 1 1]);drawnow
%--------------------------------------------------------------------------
function Motion(varargin)
global status x1 y1 s h m D1 im im1 im2
if status
    im=cell2mat(D1);
    im1=im;
    clc
    p=get(h.f,'currentpoint');
    r=s(1)-p(2);
    c=p(1);
    if r>0 && c>0 && r<=s(1) && c<=s(2)
      
    end
    try im2=im(floor((x1-1)*s(1)/m+1):floor(x1*s(1)/m),floor((y1-1)*s(2)/m+1):floor(y1*s(2)/m),:);end
    [p q w]=size(im2);
    if ((r>=p/2) && (c>=q/2) && (r<=s(1)-p/2) && (c<=s(2)-q/2))
        try
            im1(floor(r-p/2:r+p/2-1),floor(c-q/2:c+q/2-1),:)=im2;
            set(h.im,'cdata',im1);
%             imshow(im1);
            set(h.a,'position',[0 0 1 1]);drawnow
        end
    end
end
%--------------------------------------------------------------------------

三、运行结果

在这里插入图片描述

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:16:59  更:2021-10-09 16:17:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 10:24:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码