两点截取法:
out1=showimg8(I_PanNet,0,22,0,11,0,11,location1, location2);title('pannet图');
[x,y]=ginput(2);
pic_1 = imcrop(out1,[x(1),y(1),abs(x(1)-x(2)),abs(y(1)-y(2))]);
imshow(pic_1)
第一行:是我自己定义的showimg函数,用来画图的。
第二行:允许用户以交互方式使用鼠标选定要剪切的区域以此获取两个坐标点并以矩形形式裁剪。(这个代码现成的,直接用就行,四个点就把2换成4)
第三行:调用matlab现成的imcrop方法进行图像剪切,并把切好的图片赋值给pic_1.(从x1向右到x2停,从y1向下到y2停,所围成的矩形就是你剪切好以后的图像范围)
最后一行:显示图片
接下来看一下运行后的结果:
1.图一是原始图像,假设我要裁剪出左下角的绿色框框的内容
2.接下来我运行代码以后,就会出现十字线(注意:因为x1是向右,y1是向下的方向移动的,所以要截取绿框框就要从左上角开始)
首先:把第一次的十字线放在绿框框的左上角,鼠标点一下,系统就会记录下来这是x1,y1
3.接下来再次移动十字线,放到绿色框框右下角,再次点击鼠标,就记录下x2,y2了。
4.这样就顺利剪切下绿色框框的图片了,如下图是剪切后的结果