Halcon——opencv的Mat和Halcon的Hobject互转

 Mat转Hobject:

void Mat_2_HImage(Mat img, Hobject & HImage)
{

	int height = img.rows;
	int width = img.cols;
	
	uchar *dataGray = new uchar[width*height];

	for(int i = 0; i<height; i++)
	{
		memcpy(dataGray + width*i,img.data + img.step*i, width);
	}
	gen_image1(&HImage,"byte",width,height,(Hlong)(dataGray));
	
	delete[] dataGray;

}

Hobject转Mat:

void HImage_2_Mat(Hobject *HImage, Mat *dst)
{

	HTuple hv_Pointer, hv_byte;
	int W = 0, H = 0;
	cout<<"get_image_pointer1 before"<<endl;
	
	uchar* pdata =NULL;
	char  type[128] ={0};
	Hlong width =0;
	Hlong height =0;

	Herror err_ =get_image_pointer1(*HImage, (Hlong*)&pdata, type, &width, &height);

	W =width;
	H =height;

	memcpy(dst->data, pdata, W*H);

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值