利用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界面如下所示:
点击Open按钮,加载你的图像,然后点击Cut按钮,结果如下所示
点击Cut后,会出现一个让你选择的十字框,然后你就可以进行截图了……截图后,自动在右边的axes中显示你的截图结果。如下所示: