【问题标题】:what is u,v image coordinates?什么是 u,v 图像坐标?
【发布时间】:2018-12-05 14:56:45
【问题描述】:

我在here 的底部看到了u,v image coordinates。我下载了数据,其中一个样本是[214.65 222.52 145.72 165.42 96.492 114.22 64.985 71.877 43.323 33.477 128.98 173.29 120.12 160.49 121.11 134.89 128. 98.462 175.26 177.23 177.23 151.63 178.22 130.95 177.23 98.462 212.68 175.26 214.65 118.15 215.63 80.738 208.74 68.923 249.11 173.29 242.22 122.09 237.29 86.646 234.34 48.246]

我进行了搜索,但没有找到关于 u,v image coordinates 以及如何转换为 x-y 坐标的说明。不是UV mapping,因为数据不在[0, 1]之间。我可能错了。

欢迎任何 cmets。谢谢

【问题讨论】:

  • 它们可能是绝对像素坐标而不是归一化坐标(UV 应该是),即要么该项目采用不同的“UV”定义,要么编写文档的人有误。
  • 最有可能的情况是它只是非标准化的 UV 映射

标签: image-processing graphics 3d coordinate-transformation


【解决方案1】:

为了更加自信,我们可以使用 Matlab/Octave 或 OpenCV 在相应的彩色图像上绘制这些点,并查看它们的位置是否与标记的关节匹配。对于关节结构,我们可以查看相同的README fileW, T0, T1, T2, T3, I0, I1, I2, I3, M0, M1, M2, M3, R0, R1, R2, R3, L0, L1, L2, L3.每个关节有2个坐标,所以42个数字的序列对应序列中对应关节的u,v(X,Y)坐标。

我尝试使用以下代码在 Matlab/Octave 中直接绘制图像和 2D 点:

clc; clear;

im = imread('0001_color_composed.png');
data = csvread('0001_joint2D.txt');
x = zeros(length(data)/2,1);
y = x;

for i = 1: length(data)/2
    x(i) = data(2*i-1);
    y(i) = data(2*i);
end

imshow(im);
hold on;
plot(x, y, 'go');

还有这些imageannotation。正如您在所有 u、v 下方的结果图像中看到的那样,坐标对应于 X 和 Y 中的像素坐标,从图像的左上角开始计数,以像素为单位,即 u = X,v = Y(就像使用imshow() 显示的图像一样,连续图的坐标系原点设置为图像坐标系原点,即左上角)。

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 2019-11-28
    • 2021-05-31
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多