Armadillo与opencv库之间调用
来源:互联网 发布:如何关闭139端口 编辑:程序博客网 时间:2024/06/17 02:17
Armadillo是目前使用比较广的C++矩阵运算库之一,是在C++下使用Matlab方式操作矩阵很好的选择。OpenCV在计算机视觉领域中地位不必多说,opencv自带的矩阵计算功能算不上是专业的矩阵计算库。现在的问题是,在同一个项目里同时使用两个库,它们的类型转换该怎么办?
static void Cv_mat_to_arma_mat(const cv::Mat& cv_mat_in, arma::mat& arma_mat_out)
{//convert unsigned int cv::Mat to arma::Mat<double>
for(int r=0;r<cv_mat_in.rows;r++){
for(int c=0;c<cv_mat_in.cols;c++){
arma_mat_out(r,c)=cv_mat_in.data[r*cv_mat_in.cols+c]/255.0;
}
}
};
template<typename T>
static void Arma_mat_to_cv_mat(const arma::Mat<T>& arma_mat_in,cv::Mat_<T>& cv_mat_out)
{
cv::transpose(cv::Mat_<T>(static_cast<int>(arma_mat_in.n_cols),
static_cast<int>(arma_mat_in.n_rows),
const_cast<T*>(arma_mat_in.memptr())),
cv_mat_out);
};
调用
一定要初始化arma::mat!!!
//convert cv::Mat to arma::matarma::mat img(cvImg.rows,cvImg.cols);//cvImg is a cv::MatCv_mat_to_arma_mat(cvImg,img);
//convert arma::mat to cv::Matcv::Mat_<double> cv_img;Arma_mat_to_cv_mat<double>(arma_img,cv_img);
- Armadillo与opencv库之间调用
- codeblocks配置armadillo,opencv,matlab
- armadillo库之对称矩阵的特征值与特征向量
- C++线性代数库Armadillo
- armadillo库小案例
- 矩阵操作比较:Armadillo,Eigen,OpenCV
- win7+vs2010+armadillo, armadillo的安装与配置
- C与C++库之间相互调用
- Armadillo,Eigen,OpenCV 矩阵操作比较(Compare Armadillo, Eigen and OpenCV)
- OpenCV vs. Armadillo vs. Eigen on Linux revisited
- OpenCV图像处理动态库的生成与jni调用
- opencv 1.0 与2.0 之间转换
- opencv Mat与数组之间值传递
- Dlib格式与Opencv之间的转化
- VC与Delphi之间动态链接库互相调用
- VC与Delphi之间动态链接库互相调用
- matlab调用opencv库
- 调用OpenCV静态库
- SQLserver 链接服务器 连接ORACLE配置分享
- 【Python】【Caffe】图像特征与特征库匹配的物体识别方法
- 深入机器学习系列5-bisecting-k-means
- git本地已经有了mater分支如何获取develop分支的源代码(不做合并操作,只拉代码)
- 利用油猴插件实现百度云满速下载
- Armadillo与opencv库之间调用
- IntelliJ IDEA如何创建maven的web项目
- 数据库
- HTML中显示特殊字符,如尖括号 “<”,">"等等
- JAVA WEB getAttribute()和getParameter()的区别
- 文章标题
- sublime3 安装yii插件
- 【R】R语言指定包安装目录
- 百度云(破解)超级会员无时间限制极速下载