我是靠谱客的博主 妩媚世界,最近开发中收集的这篇文章主要介绍opencv 常用操作 c++,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

图像水平垂直方向拼接:

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++所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部