OpenCV&python将像素转换为distan

2024-04-25 07:04:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个已知值,仅使用其中的一个并不能得到准确的结果。。。如下图所示,我可以检测最后2行圆圈并显示输出。每个圆圈的平均值是0.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_值来找到距离,以比较结果。这就是我的问题所在,因为它当然适用于圆圈本身,但屏幕上没有其他内容。。。。相机在所拍摄图像的下方居中。在

我如何想出一个可以用来精确地将像素转换为英寸或距离形式的距离测量方法?在

post-processed 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]]]

Tags: to代码in图像网络距离半径分辨率