资源简介
姿态解算8--成功测距.rar
代码片段和文件信息
#include “opencv2/opencv.hpp“
#include “iostream“
using namespace cv;
using namespace std;
int h_min = 75;
int s_min = 75;
int v_min = 75;
int h_max = 177;
int s_max = 195;
int v_max = 177;
Scalar hsv_min(h_min s_min v_min);
Scalar hsv_max(h_max s_max v_max);
void getTarget2dPoinstion(const cv::RotatedRect & rect vector & target2d const cv::Point2f & offset) {
Point2f vertices[4];
rect.points(vertices);//把矩形的四个点复制给四维点向量
Point2f lu ld ru rd;
sort(vertices vertices + 4 [](const Point2f & p1 const Point2f & p2) { return p1.x < p2.x; });//从4个点的第一个到最后一个进行排序
if (vertices[0].y < vertices[1].y) {
lu = vertices[0];
ld = vertices[1];
}
else {
lu = vertices[1];
ld = vertices[0];
}
if (vertices[2].y < vertices[3].y) {
ru = vertices[2];
rd = vertices[3];
}
else {
ru = vertices[3];
rd = vertices[2];
}
target2d.clear();
target2d.push_back(lu + offset);
target2d.push_back(ru + offset);
target2d.push_back(rd + offset);
target2d.push_back(ld + offset);
}
vector Generate3DPoints()
{
std::vector points;
float x y z;
x = 0; y = 0; z = 0;
points.push_back(cv::Point3f(x y z));
x = 12; y = 0; z = 0;
points.push_back(cv::Point3f(x y z));
x = 12; y = 3; z = 0;
points.push_back(cv::Point3f(x y z));
x = 0; y = 3; z = 0;
points.push_back(cv::Point3f(x y z));
//for (unsigned int i = 0; i < points.size(); ++i)
//{
// cout << “三维点:“ << points[i] << endl;
//}
return points;
}
//将空间点绕Z轴旋转
//输入参数 x y为空间点原始x y坐标
//thetaz为空间点绕Z轴旋转多少度,角度制范围在-180到180
//outx outy为旋转后的结果坐标
static void CodeRotateByZ(double x double y double thetaz double& outx double& outy)
{
double x1 = x;//将变量拷贝一次,保证&x == &outx这种情况下也能计算正确
double y1 = y;
double rz = thetaz * 3.14 / 180;
outx = cos(rz) * x1 - sin(rz) * y1;
outy = sin(rz) * x1 + cos(rz) * y1;
}
static void CodeRotateByY(double x double z double thetay double& outx double& outz)
{
double x1 = x;
double z1 = z;
double ry = thetay * 3.14 / 180;
outx = cos(ry) * x1 + sin(ry) * z1;
outz = cos(ry) * z1 - sin(ry) * x1;
}
//将空间点绕X轴旋转
//输入参数 y z为空间点原始y z坐标
//thetax为空间点绕X轴旋转多少度,角度制,范围在-180到180
//outy outz为旋转后的结果坐标
static void CodeRotateByX(double y double z double thetax double& outy double& outz)
{
double y1 = y;//将变量拷贝一次,保证&y == &y这种情况下也能计算正确
double z1 = z;
double rx = thetax * 3.14 / 180;
outy = cos(rx) * y1 - sin(rx) * z1;
outz = cos(rx) * z1 + sin(rx) * y1;
}
void main()
{
VideoCapture cap(0);
Mat objPM;//三维点矩阵
vector objectPoints = Generate3DPoints();//三维坐标点
vector projectedPoints;//三维点投影到二维点的向量用于重画
Mat(objectPoints).convertTo(objPM CV_32F);//把三维点向量变成三维点矩阵
double cameraD[3][3] = { { 412.92673 0 318.52471 }
{ 0 412.27311 258.65883 }
{ 0 0 1.0000 } };//通过matlab标定的单相机内参
double distC[5] = { 0.24775 - 0.50118 - 0.00513 0.00706 0.00000 };//通过matlab获取的相机畸变参数
Mat cameraMatrix(3 3 cv::Da
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 27648 2018-03-15 16:06 姿态解算8--成功测距\.vs\姿态解算8\v14\.suo
文件 236032 2018-03-15 12:22 姿态解算8--成功测距\x64\Debug\姿态解算8.exe
文件 2720560 2018-03-15 12:22 姿态解算8--成功测距\x64\Debug\姿态解算8.ilk
文件 4091904 2018-03-15 12:22 姿态解算8--成功测距\x64\Debug\姿态解算8.pdb
文件 733583 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\main.obj
文件 1100800 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\vc140.idb
文件 2183168 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\vc140.pdb
文件 1935 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\姿态解算8.log
文件 682 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\姿态解算8.tlog\CL.command.1.tlog
文件 33122 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\姿态解算8.tlog\CL.read.1.tlog
文件 532 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\姿态解算8.tlog\CL.write.1.tlog
文件 2 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\姿态解算8.tlog\li
文件 2 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\姿态解算8.tlog\li
文件 2 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\姿态解算8.tlog\li
文件 0 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\姿态解算8.tlog\unsuccessfulbuild
文件 227 2018-03-15 09:51 姿态解算8--成功测距\姿态解算8\Debug\姿态解算8.tlog\姿态解算8.lastbuildstate
文件 7395 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\main.cpp
文件 1097569 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\x64\Debug\main.obj
文件 1158144 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\x64\Debug\vc140.idb
文件 2265088 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\x64\Debug\vc140.pdb
文件 800 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\x64\Debug\姿态解算8.log
文件 650 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\x64\Debug\姿态解算8.tlog\CL.command.1.tlog
文件 33568 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\x64\Debug\姿态解算8.tlog\CL.read.1.tlog
文件 556 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\x64\Debug\姿态解算8.tlog\CL.write.1.tlog
文件 2710 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\x64\Debug\姿态解算8.tlog\li
文件 7806 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\x64\Debug\姿态解算8.tlog\li
文件 542 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\x64\Debug\姿态解算8.tlog\li
文件 225 2018-03-15 12:22 姿态解算8--成功测距\姿态解算8\x64\Debug\姿态解算8.tlog\姿态解算8.lastbuildstate
文件 7383 2018-03-11 19:14 姿态解算8--成功测距\姿态解算8\姿态解算8.vcxproj
文件 945 2018-03-11 19:14 姿态解算8--成功测距\姿态解算8\姿态解算8.vcxproj.filters
............此处省略18个文件信息
相关资源
- 冰点文档器.7z
- openmv后视镜.zip
- 传奇客户端补丁编辑工具(支持Wzl、
- WIFI-手机APP源码.zip
- 源码v1.3.rar
- 加强版短信轰炸可以加接口.rar
- qq_34106790_10146240.zip
- 亿图软件9.3安装包与破解教程.zip
- StudioPublisher.exe
- 工程伦理.pptx
- 速盘SpeedPanv2.0.8.178_XP.zip
- GBT7826-2012系统可靠性分析技术失效模
- qq_33036647_10486034.zip
- qq_32631229_9979313.zip
- Miracle.rar
- 毕设.zip
-
xypla
yer3.8.zip - 预测控制2(席裕庚).pdf
- layui.zip
- qq_29683655_11247966.zip
- 多商家营销活动平台2.3.3小程序前端
- 永和首页PC官网代理V5.9.1原版微擎首页
- topjUI成型的前端框架.rar
- 软件是这样“炼”成的从软件需求分
- 两点坐标连点.exe
- 我和LabVIEW——一个NI工程师的十年编
- 数据恢复4.3.0破解专业版.rar
- jd.zip
- MIPS体系结构透视中文版.pdf
- 支持上传图片带背景音乐版-程序员小
评论
共有 条评论