OpenCV& python将像素转换为距离

时间:2014-06-07 02:35:35

标签: python opencv distance pixel measurement

我有几个已知的值,只使用其中的一个不能获得准确的结果......如图所示,我可以检测最后两行的圆圈并显示输出。每个圆圈的平均值为.84“+/- .005”(最差)。行(y轴)之间的距离应介于1.82“和1.96”之间(给定图像为1.84“)

我正在使用800 * 600分辨率的网络摄像头捕获显示的图像进行处理

我这样做的方法是做以下事情:

conv_px_to_in = .84 / 46(46是我的代码输出的图像中的平均圆圈大小  这产生0.01826087

的结果

然而,当尝试测量行之间的Y距离时,我得到以下内容 conv_px_to_in = 1.82 /(514-343)(在提供的输出中看到的y值)  这产生了0.01064327

的结果

一旦我有了转换数(通常我将圆的半径变为较小),然后通过将像素测量值乘以conv_px_to_in值来找到距离,以比较结果。这就是我遇到问题的地方,因为它当然适用于圆圈本身,但屏幕上没有任何其他内容......相机位于所拍摄图像的下方。

我如何提出一个距离测量,我可以使用它来准确地将像素转换为英寸或一种距离?

post-processed output

CODE OUTPUT:

RAD = 46
Y_MAX = 514
Y_MIN = 343
[[[114 514  46]
  [114 343  47]
  [290 343  45]
  [288 514  46]
  [464 343  46]
  [464 514  46]
  [644 343  47]
  [644 514  45]]]

0 个答案:

没有答案