【问题标题】:Image processing getting the pixels per inch of an object based on referential inches图像处理根据参考英寸获取对象每英寸的像素
【发布时间】:2019-10-05 23:04:10
【问题描述】:

简单地说:

我有一个人体图像。我有两个参考点,分别是左右腰部位置。例如:(100,100) 和 (200,100) 分别是左右腰部位置。

除了这两点,我还知道“现实生活”中的腰围英寸值。

我正在尝试获取这三个数据点并推断“现实生活”中有多少像素 = 一英寸。这应该没那么难,但我对此有某种类型的大脑阻塞。

寻找简单的公式。我开始的一个是:

(RightPoint.X - LeftPoint.X) / 34"

这不起作用。腰围越小,每英寸像素值越大。在上面,它将是 2.9 像素 == 1"。

如果我将 34 英寸更改为 10 英寸,它最多可以拍摄 10 像素 == 1 英寸。或者这可能是正确的?呃……你今晚在哪里!?!?

问题:

我正在寻找基于这三个参考数据点的正确公式,这将使我能够确定图像中有多少像素 == 1"。因此,如果我在现实生活中知道该人的腰围为 34 英寸,我想在图像中确定...假设相对于图片 2.5 像素 == 1 英寸。

【问题讨论】:

  • 问题在于雪人,但我会进行编辑以使其更清楚。谢谢
  • 你的公式看起来正确?!?在你的例子中:如果腰部使用相同数量的像素但在现实生活中更小,它显然每英寸有更多像素?!?
  • 不要使用“图像处理”作为标签,那只会添加两个标签“图像”(没有意义)和“处理”,这是一种编程语言。而是使用“图像处理”=)
  • 是的,如果腰围变小了,但像素数没有变化,那么每英寸的像素数会更大——图像放大得更多,因此分辨率更高。

标签: opencv image-processing inches


【解决方案1】:

很遗憾,您没有足够的信息来解决这个问题。首先,现实生活中的腰围尺寸是 3D 的,并且一直绕着身体走,所以首先你必须将它除以 2 以允许卷尺同时穿过腰围的正面和背面身体 - 所以你的 34 英寸腰意味着你的 100 像素对应于 17 英寸 - 如果身体是平的 - 它不是!这就是问题所在。

想象这个人的裤子前面有两个厚枕头......这会影响他们的腰围(让它变大几英里),但是因为他们在裤子前面,所以不会影响像素宽度。

对不起,你不能准确地做到这一点。您可以假设他们的腰部是完美的圆形,那么 100 像素将对应于他们腰部的投影,因此 34" 将是腰部的周长,即 pi x d。所以您会说 100 像素 = 34/pi或大约 11 英寸。

所以,具体来说:

34/pi inches = 100 pixels
10.8 inches = 100 pixels
1 inch = 100/10.8 pixels
1 inch = 9.25 pixels

但请记住,这是基于腰围为圆形的近似值。

【讨论】:

  • 你可以扩展同样的推理,同时假设腰是一个椭圆。您将有两个半径 r1 和 r2,它们基本上是正面轮廓和侧面轮廓腰围尺寸的一半。然后,您将使用该公式来计算带有此信息的椭圆的周长。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多