armadilo和opencv之间的Mat转换

//Armadilo和opencv mat 的转换 
cv::Mat Armadilo_Mat2Opencv_Mat(arma::mat Armadilo_Mat)
{
	cv::Mat cvMat(Armadilo_Mat.n_rows, Armadilo_Mat.n_cols, CV_32F);
	for (int i = 0; i < Armadilo_Mat.n_rows; i++)
		for (int j = 0; j < Armadilo_Mat.n_cols; j++)
			cvMat.at<float>(i, j) = Armadilo_Mat(i, j);
	return cvMat;
}

//Armadilo和opencv mat 的转换
arma::mat  Opencv_Mat2Armadilo_Mat(cv::Mat Opencv_Mat)
{
	//将OpenCV的Mat转换为Armadillo的Mat
	arma::mat armaMat(Opencv_Mat.rows, Opencv_Mat.cols);
	for (int i = 0; i < Opencv_Mat.rows; i++)
		for (int j = 0; j < Opencv_Mat.cols; j++)
			armaMat(i, j) = Opencv_Mat.at<float>(i, j);
	return armaMat;
}

评论区求一个更好的转换方法

你可能感兴趣的:(matlab代码转C++,opencv,计算机视觉)