如何将double数组转为opencv mat

#include <opencv2/opencv.hpp>

void testConversion()
{//double x[100][100];
	//cv::Mat A(100, 100, CV_64F);
	//std::memcpy(A.data, x, 100 * 100 * sizeof(double));
	double (*data)[2] = new double[10][2]{
	   {2.5,   2.4},
	   {0.5,   0.7},
	   {2.2,   2.9},
	   {1.9,   2.2},
	   {3.1,   3.0},
	   {2.3,   2.7},
	   {2,     1.6},
	   {1,     1.1},
	   {1.5,   1.6},
	   {1.1,   0.9}
	};

	cv::Mat mData(10, 2, CV_64F);
	//cv::Mat  mData(10, 2, CV_16UC1, &data);//这个结果是不对的
	memcpy(mData.data, data, 10 * 2 * sizeof(double));
	cout << "mData\n" << mData << endl;

	return;
}
int main()
{

	testConversion();
	// First row contains 3 white pixels
	// Second row contains 3 black pixels
	//double temp[2][3] = { {255.0, 255, 255}, {0, 0, 0} };

	//cv::Mat mat = cv::Mat(2, 3, CV_64F);
	// The first element of temp decays to int* data.
	// It means that mat.data tracks temp.
	//mat[0][0]=0.55

	// Change the upper left pixel to black from temp,
	// the change affects mat.
	//temp[0][0] = uchar(0);

	//cv::namedWindow("title", cv::WINDOW_NORMAL);
	//cv::imshow("title", mat);
	//cv::waitKey();
	return 0;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值