加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

利用Matlab完成图像的截图工作

(2011-01-20 15:30:23)
分类: Matlab

截图首先要进行的就是选取你要截图的正方形的点,选取方式,调用函数:

[x,y,c]=ginput(n);

即可。上面的函数中n参数用于决定图像中选取的点的个数,x,y返回的是所选取的点的坐标,

c返回的是你选择的键的类型:是左键还是右键或者是中间的键。

imcrop函数用于截图,并返回你截的图像。

假设我们想想得到类似于qq截图的效果,可以这样进行:

在你的GUI中,添加一个按钮,在你的按钮的Callbacks函数中,添加下面的语句即可:

被截取的图像在GUI中的axes1中,

[x,y,c]=ginput(2);
if c==1
    BB=imcrop(A,[min(x(1),x(2)),min(y(1),y(2)),abs(x(2)-x(1)),abs(y(2)-y(1))]);
    axes(handles.axes2); %你的截图放在GUI中的axes2中
    imshow(BB)
end

我建立的GUI界面如下所示:

http://s11/middle/4d633dc749a425c81569a&690
点击Open按钮,加载你的图像,然后点击Cut按钮,结果如下所示:

http://s2/middle/4d633dc749a42639bcff1&690
点击Cut后,会出现一个让你选择的十字框,然后你就可以进行截图了……截图后,自动在右边的axes中显示你的截图结果。如下所示:

http://s5/middle/4d633dc7075d37135b054&690
如上图所示,还可以完成Save你的截图,退出程序等操作。

success……哈哈……

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有