这篇文章将以良乡大学城某大学附近的共享单车图进行鼠标取点操作以及对相关图像的处理,将共享单车以数据点的形式呈现,并且对数据点进行K值聚类找到最佳的中心点。
PART 1 导入图片并对图片进行取点操作
下面是对tif型的正方形图片进行取点操作(其他形状或者格式的图片可以,即将ylim注释掉),将所要进行操作的图片拖入工作区执行下面的代码:
%% 建立主函数
function BTBU_mouse_track() %BTBU_mouse_track() 运行时只要运行函数名即可
in = imread('照片名称.tif'); %imread函数为读取图像的函数
figure,imshow(in);
%% 显示坐标系,以及画平行于x轴与y轴的水平线,将图片分为四个区域
axis on; % 打开(显示)坐标系
hold on; plot([550,550],[0,1100],'r-'); %ylim 用于绘制y轴的取值范围
hold on; plot([0,1100],[550,550],'r-'); %m-- 用于描述线型,粉色,虚线
BTBUbikedata = zeros(0,2); %保存所取得点,并且以mat形式储存
save BTBUbikedata BTBUbikedata;
set(gcf,'WindowButtonDownFcn',@BTBU_ButttonDownFcn);
%% 回调函数
function [x,y]=BTBU_ButttonD