我想要实现的任务如下:
此ROI从原始图像中裁剪,并使用各种图像处理技术获取ROI中多个对象(其质心)的坐标。
原始帧中的坐标是通过在两个坐标系之间进行平移获得的。
到目前为止,我的解决方案是使用原始ROI矩形的角坐标在两个系统之间进行转换:
rectObj = getrect(gca);
roi = rectObj.Position; % In [x0 y0 width height] format
% Obtain seed coordinates in the cropped image
seed_coords = [x y];
% Translate and obtain seed coordinates in the original image
new_seed_coords = seed_coords + [roi(1) roi(2)];
然而,质心现在偏移了一小部分,我假设是由于在像素边界上发生的ROI,这对我的值有一些舍入效应。
如何获得roi矩形的精确坐标(尽可能精确?),以便在原始帧中获得准确的坐标?
答案 0 :(得分:1)
使用子像素精度进行用户输入毫无意义。您的用户甚至不太可能准确地击中某个像素。只需对这些值进行舍入,以避免在后续步骤中出现任何舍入问题。