本文主要是介绍单目相机测距(3米范围内)二维码实现方案(python代码 仅仅依赖opencv),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
总体思路:先通过opencv 识别二维码的的四个像素角位置,然后把二维码的物理位置设置为
cv::Point3f(-HALF_LENGTH, -HALF_LENGTH, 0), //tl
cv::Point3f(HALF_LENGTH, -HALF_LENGTH, 0), //tr
cv::Point3f(HALF_LENGTH, HALF_LENGTH, 0), //br
cv::Point3f(-HALF_LENGTH, HALF_LENGTH, 0) //bl
,相当于这是一个任意找的物体上的四个点,对应的我们找到了在图像中对应的像素坐标。这就解决了世界坐标系与像素坐标系之间的对应问题,然后再通过PNP求解的方式,就可以通过旋转向量和平移向量就可以得到相机坐标系相对于世界坐标系的旋转参数与平移情况,也就是二维码离相机的实际位姿。
# coding:utf-8import cv2
import numpy as np
#pip install openc v -python# !!!!这里要把参数替换为你自己的相机的内参矩阵 我的像素是 # (480, 640, 3)
camera_matrix = np.array([[273.4985, 0, 321.2298],[0, 273.3338, 239.7912],[0.,
这篇关于单目相机测距(3米范围内)二维码实现方案(python代码 仅仅依赖opencv)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!