最近碰到要在图中标记目标的问题,在MATLAB中验证的时候发现框和检测位置总是错位,这里将两者的坐标做一讨论。
作以下实验
a = zeros(100);a(1:10,50:70) = 1;imshow(a);hold on,rectangle('Position',[0 50 10 20],'edgecolor','r');
结果为
矩阵操作的时候第一个维度是行数,第二个维度是列数。
画框的时候可以发现图像在MATLAB中的坐标是左上角原点,上面是x轴,左边是y轴。
rectangle的坐标是[x,y,w,h],跟图像的坐标是一致的,即左上角是原点,所以x,y是框左上角的坐标。