图像上批量取样本点坐标

为了解决SVM样本标注问题,本文介绍了两种自动获取图像样本点坐标的常用方法:1) 使用ginput()函数,能快速读取点但不支持放大;2) 利用figure的WindowButtonDownFcn属性,定义鼠标点击回调程序,实现更精确的标注。这两种方法旨在提高机器学习样本标注的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 机器学习貌似很火的样子,因为用到SVM需要大量标记样本,人工标注往往费时费力,不得不考虑机器标注获取样本点的坐标位置。

常用的方法有两种:

(1)ginput()函数
ginput提供了一个十字光标定位所需要的像素点位置,并返回坐标值。函数调用形式为:

[x,y] = ginput(n);%读取n个点,可以按回车提前结束读数

[x,y] = ginput;%无限的读取坐标直到按下回车键

[x,y,button] = ginput(...);%button值(1=左键,2=中,3=右)或者按键的ASXII码值。

得到的x,y为连续选点的坐标向量,可直接保存成mat文件,很方便,但是ginput在使用的时候图像是被固定住的,无法放大,有些精确性的像素无法准确标注。

(2)利用figure的WindowButtonDownFcn属性。当你在图上按下鼠标的时候,可通过该属性定义一个回调程序

% 主函数
function test_mouse_track()
in = imread(inName);
figure,imshow(in);
sample = zeros(0,2);
save sample sample;
set(gcf,'WindowButtonDownFcn',@ButttonDownFcn);

% 回调函数
function [x,y]=ButttonDownFcn(src,event)
load('sample.mat');
pt = get(gca,'CurrentPoint');
x 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值