当前位置: 首页 > news >正文

网页设计实训结论优化大师的三大功能

网页设计实训结论,优化大师的三大功能,做网站是干嘛,国外做电子元器件在哪个网站一、文章内容简述&#xff1a; 1’ 通过cv::findChessboardCorners寻找棋盘格角点 2‘ 用cv::solvePnP计算旋转向量rvec和平移向量tvec 3’ 通过公式计算相机到棋盘格的距离 float distance sqrt(tvec.at<double>(0,0) * tvec.at<double>(0,0) tvec.at<do…

一、文章内容简述:

1’ 通过cv::findChessboardCorners寻找棋盘格角点

2‘ 用cv::solvePnP计算旋转向量rvec和平移向量tvec

3’ 通过公式计算相机到棋盘格的距离

float distance = sqrt(tvec.at<double>(0,0) * tvec.at<double>(0,0) + tvec.at<double>(1,0) * tvec.at<double>(1,0) + tvec.at<double>(2,0) * tvec.at<double>(2,0)) / 10;


 

二、实现过程

已完成单目相机标定的情况下:

(可以参考http://t.csdnimg.cn/v72VN  虽然是我很久之前写的python的,但实现是没啥问题)

需要以下内容:

1、已知相机的内参矩阵cameraMatrix和畸变参数distCoeffs(相机标定)

2、需要拍摄一张棋盘格图像

3、需要知道棋盘格的w方向和h方向角点数量

实现代码如下:

#include <opencv2/opencv.hpp>int main() {// 读取棋盘格图像cv::Mat image = cv::imread("chessboard.jpg");// 定义棋盘格的尺寸和角点列表cv::Size patternSize(11, 8);std::vector<cv::Point2f> corners;// 寻找棋盘格角点bool found = cv::findChessboardCorners(image, patternSize, corners);if (found) {// 优化角点坐标精度cv::cornerSubPix(image, corners, cv::Size(11, 11), cv::Size(-1, -1),cv::TermCriteria(cv::TermCriteria::EPS + cv::TermCriteria::COUNT, 30, 0.1));// 定义棋盘格三维坐标std::vector<cv::Point3f> objectPoints;float squareSize = 1.0;for (int i = 0; i < patternSize.height; ++i) {for (int j = 0; j < patternSize.width; ++j) {objectPoints.push_back(cv::Point3f(j * squareSize, i * squareSize, 0));}}// 定义相机参数cv::Mat cameraMatrix = cv::Mat::eye(3, 3, CV_64F);cv::Mat distCoeffs = cv::Mat::zeros(4, 1, CV_64F);// 计算 rvec 和 tveccv::Mat rvec, tvec;cv::solvePnP(objectPoints, corners, cameraMatrix, distCoeffs, rvec, tvec);// 输出结果std::cout << "rvec: " << rvec << std::endl;std::cout << "tvec: " << tvec << std::endl;//计算相机距离被测物的实际距离float distance = sqrt(tvec.at<double>(0,0) * tvec.at<double>(0,0) + tvec.at<double>(1,0) * tvec.at<double>(1,0) + tvec.at<double>(2,0) * tvec.at<double>(2,0)) / 10; std::cout << "distance = "<< distance << std::endl;} else {std::cout << "未找到棋盘格角点!" << std::endl;}return 0;
}

三、补充

使用cv::solvePnP测距的方法,任意被测物都可以实现。只需要有世界坐标系的角点(手动测量)和对应点的像素坐标即可。

参考文章:http://t.csdnimg.cn/KixCO

本文中使用棋盘格做测距,通过cv::findChessboardCorners寻找所有棋盘格角点后再计算可以大大提高测距精度。

http://www.wangmingla.cn/news/126537.html

相关文章:

  • 微商城怎么做合肥seo整站优化网站
  • 建晨网站建设石家庄seo网络优化的公司
  • 如何使用qq空间做推广网站平台推广是什么意思
  • 郫县做网站西安网站seo技术厂家
  • 简历制作专业模板怎么优化推广自己的网站
  • 网站建设用语成都互联网公司排名
  • 百度网站推广外包网站推广的全过程
  • 新疆建设云个人云登录网站关键词歌词含义
  • 大学生就业信息招聘网最新seo操作
  • 昆山室内设计学校seo怎么做
  • 跨境购网站建设大数据是干什么的
  • 王爷王妃红鸾星动了搜索引擎优化seo是什么
  • 网站主导航设置问题首页关键词优化价格
  • 作图软件免费搜索引擎优化的简称是
  • 写着网站建设图片长尾关键词挖掘网站
  • 北京高端网站建设服务搜索网站有哪些
  • 石家庄哪个公司做网站好网站如何做优化排名
  • 公司网站是做的谷歌的主流搜索引擎有哪些
  • 上海c网站建设长沙营销推广
  • 如何做网站自适应百度页面推广
  • 用asp做网站有哪控件中国十大企业管理培训机构
  • 做企业网站需要准备什么材料上海网络推广需要多少
  • 有哪些网站做自建房设计比较好的免费网站
  • 做衣服哪个网站好营销策划书模板
  • 南做网站重庆人力资源和社会保障网
  • 网络设计概念网页优化最为重要的内容是
  • cms管理手机网站模板成都网站seo费用
  • o2o手机维修网站那个公司做的app推广渠道在哪接的单子
  • b2c电子商务网站开发关键词指数
  • 网站怎样做wap端google推广