matlab GUI 简单样本标注操作
2016-09-12 22:39
453 查看
对于深度学习来说,一般要设计成熟稳定的扣样本程序。我见过的多是Python,C++ 和 Qt 等制作的抠图程序。当需要对样本抠图程序简要修改以符合最新研究进展的代码测试时,其实也可以做一个简单的matlab GUI 界面,完成简单样本的操作。
本文主要提供matlab GUI下鼠标点击图像输出坐标点,和图中框选bounding box的部分代码,均为最基础代码,易修改。
(1)鼠标点击输出坐标点函数
(2)框选bounding box部分
对于需要对样本标注bounding box的情况,主要需要进行以下几个操作:对鼠标点击的响应,对bounding box的绘制,和标注框的坐标输出。在最简单的输出box点击的两个角坐标的情况下,其代码如下:
(3)简单GUI设计
主页-新建-图形用户界面,设计简单的GUI,将对应函数添加对应块中,如下图:
输出为3个box的坐标位置:
本文主要提供matlab GUI下鼠标点击图像输出坐标点,和图中框选bounding box的部分代码,均为最基础代码,易修改。
(1)鼠标点击输出坐标点函数
function printfpoint() % 输出点函数 set(gcf,'WindowButtonDownFcn',@ButttonDownFcn); function ButttonDownFcn(src,event) pt = get(gca,'CurrentPoint'); x = pt(1,1); y = pt(1,2); z = pt(1,3); fprintf('x=%f,y=%f,z=%f\n',x,y,z);
(2)框选bounding box部分
对于需要对样本标注bounding box的情况,主要需要进行以下几个操作:对鼠标点击的响应,对bounding box的绘制,和标注框的坐标输出。在最简单的输出box点击的两个角坐标的情况下,其代码如下:
k = waitforbuttonpress; point1 = get(gca,'CurrentPoint'); % 检测鼠标点击 finalRect = rbbox; % 图像单元return point2 = get(gca,'CurrentPoint'); % 检测鼠标松开,box绘制结束 point1 = point1(1,1:2); % 提取box的坐标 point2 = point2(1,1:2); p1 = min(point1,point2); % 计算位置 offset = abs(point1-point2); % 计算维度 x = [p1(1) p1(1)+offset(1) p1(1)+offset(1) p1(1) p1(1)]; y = [p1(2) p1(2) p1(2)+offset(2) p1(2)+offset(2) p1(2)]; hold on axis manual plot(x,y) % 绘制box fprintf('x=%f,y=%f\n',point1,point2);% 输出坐标
(3)简单GUI设计
主页-新建-图形用户界面,设计简单的GUI,将对应函数添加对应块中,如下图:
输出为3个box的坐标位置:
>> sample x=311.402743,y=78.066085 x=608.260599,y=376.839152 x=6.884040,y=344.280549 x=229.048628,y=556.869077 x=759.562344,y=108.709476 x=1014.285536,y=392.160848 >>
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- 详解Matlab中 sort 函数用法
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 在Visual Studio上构建C++的GUI框架wxWidgets的开发环境
- 简述Matlab中size()函数的用法
- 从java中调用matlab详细介绍
- Java编程中应用的GUI设计基础
- 浅谈javaSE GUI (Action事件)
- Python Tkinter GUI编程入门介绍
- Python的GUI框架PySide的安装配置教程
- python开发之IDEL(Python GUI)的使用方法图文详解
- 基于wxpython开发的简单gui计算器实例
- Python中使用Tkinter模块创建GUI程序实例
- 基于wxpython实现的windows GUI程序实例
- egret笔记之gui内设置动画效果
- 关于Egret Engine 2.5.3引入GUI模块问题记录
- dabo aui editra 三个软件(框架or应用)之间有关系
- 稀疏自动编码器 (Sparse Autoencoder)