概述
图像水平垂直方向拼接:
cv::vconcat(B,C,A); // 等同于A=[B ;C]
cv::hconcat(B,C,A); // 等同于A=[B C]
初始化Mat:
cv::Mat edgeDest(cv::Size(10,10), CV_8UC1, cv::Scalar(0));
double a[3][3] = { 0.1,0,0.2
0, 0.3, 0.4,
0,0,1};
cv::Mat K(3,3,CV_64F,a);
读yml文件:
cameraParameter0.yml文件内容:
%YAML:1.0
---
K: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 9.6205183555037502e+02, 0., 664., 0., 9.6205183555037502e+02,
352., 0., 0., 1. ]
baseline: 1.2161505967378616e+02
std ::string fileName= cv::format(ROOT_DIR"/parameter/cameraParameter%d.yml",0);
cv::FileStorage fs(fileName, cv::FileStorage::READ);
fs["K"] >> k;
fs["baseline"] >> baseline;
fs.release();
写yml:
cv::FileStorage fs(fileName, cv::FileStorage::WRITE);
fs<<"camera_intrinsics"<<camera_intrinsics[id];
fs<< "R" << rotation;
fs.release();
显示文字:
std::ostringstream vector_to_marker;
vector_to_marker.str(std::string());
vector_to_marker << std::setprecision(4)
<< "x: " << std::setw(8) << Position.x << " mm";
cv::putText(colorImg, vector_to_marker.str(),
cvPoint(10, 120), cv::FONT_HERSHEY_SIMPLEX, 1.5,
cv::Scalar(0,255,255), 2, CV_AA);
vector_to_marker.str(std::string());
vector_to_marker << std::setprecision(4)
<< "y: " << std::setw(8) << Position.y << " mm";
cv::putText(colorImg, vector_to_marker.str(),
cvPoint(10, 180), cv::FONT_HERSHEY_SIMPLEX, 1.5,
cv::Scalar(0,255,255), 2, CV_AA);
vector_to_marker.str(std::string());
vector_to_marker << std::setprecision(4)
<< "z: " << std::setw(8) << Position.z << " mm";
cv::putText(colorImg, vector_to_marker.str(),
cvPoint(10, 260), cv::FONT_HERSHEY_SIMPLEX, 1.5,
cv::Scalar(0,255,255), 2, CV_AA);
最后
以上就是妩媚世界为你收集整理的opencv 常用操作 c++的全部内容,希望文章能够帮你解决opencv 常用操作 c++所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复