OpenCV数据格式转换成Halcon数据格式HObject
来源:互联网 发布:元胞数组 编辑:程序博客网 时间:2024/06/06 02:40
HObject MatToHImage(Mat pImage,HObject &Hobj)
{
if(pImage.channels()==1)
{
int height=pImage.rows;
int width=pImage.cols;
uchar *dataGray=new uchar[width*height];
for(int i=0; i<height; i++)
{
memcpy(dataGray+width*i, pImage.data+pImage.step*i,width);
}
GenImage1(&Hobj,"byte",pImage.cols,pImage.rows,(Hlong)(dataGray));
delete[ ] dataGray;
}
if(pImage.channels()==3)
{
int height=pImage.rows;
int width=pImage.cols;
Mat ImageRed, ImageGreen, ImageBlue;
ImageRed=Mat(height,width,CV_8UC1);
ImageGreen=Mat(height,width,CV_8UC1);
ImageBlue=Mat(height,width,CV_8UC1);
vector<Mat> ImageChannels;
split(pImage,ImageChannels);
ImageBlue=ImageChannels.at(0);
ImageGreen=ImageChannels.at(1);
ImageRed=ImageChannels.at(2);
uchar* dataRed=new uchar[pImage.cols*pImage.rows];
uchar* dataGreen=new uchar[pImage.cols*pImage.rows];
uchar* dataBlue=new uchar[pImage.cols*pImage.rows];
for(int i=0; i<height; i++)
{
memcpy(dataRed+width*i, ImageRed.data+ImageRed.step*i,width);
memcpy(dataGreen+width*i, ImageGreen.data+ImageGreen.step*i,width);
memcpy(dataBlue+width*i, ImageBlue.data+ImageBlue.step*i,width);
}
GenImage3(&Hobj,"byte",pImage.cols,pImage.rows,(Hlong)(dataRed),(Hlong)(dataGreen),(Hlong)(dataBlue));
delete[ ] dataRed;
delete[ ] dataGreen;
delete[ ] dataBlue;
}
return Hobj;
}
{
if(pImage.channels()==1)
{
int height=pImage.rows;
int width=pImage.cols;
uchar *dataGray=new uchar[width*height];
for(int i=0; i<height; i++)
{
memcpy(dataGray+width*i, pImage.data+pImage.step*i,width);
}
GenImage1(&Hobj,"byte",pImage.cols,pImage.rows,(Hlong)(dataGray));
delete[ ] dataGray;
}
if(pImage.channels()==3)
{
int height=pImage.rows;
int width=pImage.cols;
Mat ImageRed, ImageGreen, ImageBlue;
ImageRed=Mat(height,width,CV_8UC1);
ImageGreen=Mat(height,width,CV_8UC1);
ImageBlue=Mat(height,width,CV_8UC1);
vector<Mat> ImageChannels;
split(pImage,ImageChannels);
ImageBlue=ImageChannels.at(0);
ImageGreen=ImageChannels.at(1);
ImageRed=ImageChannels.at(2);
uchar* dataRed=new uchar[pImage.cols*pImage.rows];
uchar* dataGreen=new uchar[pImage.cols*pImage.rows];
uchar* dataBlue=new uchar[pImage.cols*pImage.rows];
for(int i=0; i<height; i++)
{
memcpy(dataRed+width*i, ImageRed.data+ImageRed.step*i,width);
memcpy(dataGreen+width*i, ImageGreen.data+ImageGreen.step*i,width);
memcpy(dataBlue+width*i, ImageBlue.data+ImageBlue.step*i,width);
}
GenImage3(&Hobj,"byte",pImage.cols,pImage.rows,(Hlong)(dataRed),(Hlong)(dataGreen),(Hlong)(dataBlue));
delete[ ] dataRed;
delete[ ] dataGreen;
delete[ ] dataBlue;
}
return Hobj;
}
0 0
- OpenCV数据格式转换成Halcon数据格式HObject
- Halcon与Opencv图像数据格式转换
- Halcon与Opencv图像数据格式转换
- OpenCV数据格式转换
- OpenCV的Mat和Halcon的HObject类型互相转换
- halcon中数据格式
- 数据格式转换
- 数据格式
- 数据格式
- 数据格式
- 数据格式
- OpenCV基本数据格式
- opencv 常用数据格式
- Sybase数据格式成db2数据格式
- 其他数据格式转换成JSON格式
- java对象数据转换成json数据格式
- 将图片转换成caffe的数据格式
- 将图片转换成caffe的数据格式
- GestureDetector封装手势检测上下滑动
- Android Framework内核之旅
- 版本控制-git(二)
- Redis 3.0 源码注释
- Bellman-Ford算法和Dijkstra算法
- OpenCV数据格式转换成Halcon数据格式HObject
- Java:类与继承
- Java中4大基本加密算法解析
- c#连接sql数据库并调用
- HDU 3001 Travelling
- 二叉树的操作
- 【Android】各式各样的弹出框与对菜单键、返回键的监听
- 一、网络基础
- 淘宝架构发架