1. 程式人生 > >opencv 的Mat型別轉換

opencv 的Mat型別轉換

1 Mat 轉String

std::vector<uchar> buff;
cv::imencode(".bmp", load_image, buff);
std::string image_string(reinterpret_cast<char*>(&buff[0]), buff.size());

2 String 轉Mat

std::vector<char> vec_data(image_string.c_str(), image_string.c_str() +image_string.size());
cv::Mat dst2 = cv::imdecode(vec_data, CV_LOAD_IMAGE_UNCHANGED);

3 Mat 轉char陣列

char modelImage[MAX_MODEL_IMAGE_SIZE]; //char陣列
int modelImageSize ;//陣列大小
std::vector<uchar> buff;

cv::imencode(".bmp", load_image, buff);
memset(modelImage, 0, MAX_MODEL_IMAGE_SIZE);
memcpy(modelImage, reinterpret_cast<char*>(&buff[0]), buff.size());
modelImageSize = buff.size();

4 char陣列轉Mat

char modelImage[MAX_MODEL_IMAGE_SIZE];
int modelImageSize = MAX_MODEL_IMAGE_SIZE;

string str2(modelImage, modelImageSize);
std::vector<char> vec_data1(str2.c_str(), str2.c_str() + str2.size());
cv::Mat dst21= cv::imdecode(vec_data1, CV_LOAD_IMAGE_UNCHANGED);

5 char陣列與 String之間的轉換

字元陣列轉化成string型別
char ch [] = "ABCDEFG";
string str(ch);//也可string str = ch;

 

將string型別轉換為字元陣列
char buf[10];
string str("ABCDEFG");
strcpy_s(buf, str.c_str());
---------------------  
作者:o打溼井蓋o  
來源:CSDN  
原文:https://blog.csdn.net/weixin_42112458/article/details/83117305  
版權宣告:本文為博主原創文章,轉載請附上博文連結!