裁剪后获取ROI的原始坐标

时间:2016-07-06 16:37:46

标签: matlab image-processing matlab-guide

我想要实现的任务如下:

  1. 用户选择感兴趣的区域。
  2. 此ROI从原始图像中裁剪,并使用各种图像处理技术获取ROI中多个对象(其质心)的坐标。

  3. 原始帧中的坐标是通过在两个坐标系之间进行平移获得的。

  4. 到目前为止,我的解决方案是使用原始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矩形的精确坐标(尽可能精确?),以便在原始帧中获得准确的坐标?

1 个答案:

答案 0 :(得分:1)

使用子像素精度进行用户输入毫无意义。您的用户甚至不太可能准确地击中某个像素。只需对这些值进行舍入,以避免在后续步骤中出现任何舍入问题。