使用MATLAB在图像中选择矩形框区域的操作函数即过程
2016-06-28 21:43
411 查看
在MATLAB图像处理工具箱(Image Processing Toolbox)的GUI函数中,有一些用来在图像或坐标轴上选择矩形或椭圆区域的函数,使用示例如下:
[plain] view
plain copy
print?
figure, imshow('cameraman.tif');
h = imrect(gca, [10 10 100 100]);
api = iptgetapi(h);
api.addNewPositionCallback(@(p) title(mat2str(p,3)));
fcn = makeConstrainToRectFcn('imrect',get(gca,'XLim'),get(gca,'YLim'));
api.setPositionConstraintFcn(fcn);
下面解释程序功能,
第一行代码:显示matlab内置的一个图像
第一行代码:在图像的以左上角为原点画一个矩形区域,返回矩形区域axes对象的句柄值h,MATLAB的help解释为:
h = imrect(hparent, position)createsa draggable rectangle on the object specified by hparent. position isa
four-element vector that specifies the initial size and locationof the rectangle.position has the form [xminymin width height].
第三行代码:得到句柄h的API接口,用于后面的程序调用。
第四行代码:添加一个回调函数,当矩形框的位置更新时,这个回调函数被调用对此进行反应,此处反应的方式为在图像的标题处显示矩形框的位置和大小信息。mat2str用于将句柄函数p的矩形框位置数据转化为字符串。
第五行代码:定义一个矩形框区域限制函数,这个函数使得矩形框被限制在图像内部,不能被挪到图像外部。
第六行代码:调用setPositionConstraintFcn函数完场第五行代码的功能。
[plain] view
plain copy
print?
figure, imshow('cameraman.tif');
h = imrect(gca, [10 10 100 100]);
api = iptgetapi(h);
api.addNewPositionCallback(@(p) title(mat2str(p,3)));
fcn = makeConstrainToRectFcn('imrect',get(gca,'XLim'),get(gca,'YLim'));
api.setPositionConstraintFcn(fcn);
下面解释程序功能,
第一行代码:显示matlab内置的一个图像
第一行代码:在图像的以左上角为原点画一个矩形区域,返回矩形区域axes对象的句柄值h,MATLAB的help解释为:
h = imrect(hparent, position)createsa draggable rectangle on the object specified by hparent. position isa
four-element vector that specifies the initial size and locationof the rectangle.position has the form [xminymin width height].
第三行代码:得到句柄h的API接口,用于后面的程序调用。
第四行代码:添加一个回调函数,当矩形框的位置更新时,这个回调函数被调用对此进行反应,此处反应的方式为在图像的标题处显示矩形框的位置和大小信息。mat2str用于将句柄函数p的矩形框位置数据转化为字符串。
第五行代码:定义一个矩形框区域限制函数,这个函数使得矩形框被限制在图像内部,不能被挪到图像外部。
第六行代码:调用setPositionConstraintFcn函数完场第五行代码的功能。
相关文章推荐
- matlab 在照片中画矩形框
- Matlab在图片上画个半圆和矩形
- matlab在图像中画长方形(框)
- 吉布斯采样——原理及matlab实现
- Matlab中对图像应用plot或者rectangle后的图像保存问题
- Matlab坐标修改 gca
- Ubuntu16.04+matlab2014a+anaconda2+OpenCV3.1+caffe安装
- Matlab Tricks(十一)—— 向量的逆序输出
- [Matlab] K均值聚类
- matlab eps中文乱码的解决方法
- matlab三维作图教程
- 有趣的MATLAB小程序
- MATLAB mex时 出现错误“error LNK2019 无法链接的外部符号”
- ISOData(迭代自组织分析算法)
- matlab 将wav文件转成 C 数组
- 基于MATLAB的线性代数 判断非齐次方程组有唯一解
- 基于MATLAB的线性代数 非齐次方程组的基础解系和通解
- 基于MATLAB的线性代数 判断齐次方程组有无穷多解
- 基于MATLAB的线性代数 简单方程组求根(有唯一解) 非齐次线性方程组:常数项不全为零
- 基于MATLAB的线性代数 简单方程组求根(有唯一解)齐次线性方程组:常数项全部为零