有时候经常看别人博客,希望复现别人的效果,然而作者经常不提供数据集,例如
自己手动的写坐标不仅麻烦而且容易出错,一个简单的办法是使用matlab的 ginput()函数来实现
[x,y] = ginput();
运行后,出现图形界面,点击鼠标,即可以用鼠标左键在画板上点击生成坐标,需要停止时,可以按enter即退出
运行scatter(x,y),可以看到效果
如果需要采集一定数量的坐标,则需要加入参数,比如10个点
[x,y] = ginput(10);
则十个点后会自己退出
注意,画板出来的时候点击的第一下也计算在内。
同理,opencv的鼠标位置函数也可以用于生成数据集。
一个相对完整的实现是:
clc,clear,close all
fp = fopen('data.txt','w');
[x,y] = ginput();
for i=1:size(x,1)
fprintf(fp,'%f %f\n',x(i),y(i));
end
fclose(fp);
figure,scatter(x,y);