【问题标题】:Obtaining the original coordinates of a ROI after cropping裁剪后获取ROI的原始坐标
【发布时间】:2016-07-06 16:37:45
【问题描述】:

我要实现的任务如下:

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

  3. 原帧中的坐标是在两个坐标系之间平移得到的。

到目前为止,我的解决方案是使用原始 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 1] 可将质心标记返回到对象的实际质心,以达到很好的近似值(但不准确:即误差幅度可能

标签: matlab image-processing matlab-guide


【解决方案1】:

对用户输入使用亚像素精度是没有意义的。您的用户甚至不太可能准确地点击某个像素。只需对这些值进行四舍五入即可避免在后续步骤中出现任何四舍五入问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多