opencv2 中的解码函数,imencode

项目中遇到一种需求,需要把导入数据库中的图像文件数据流转换为图像格式进行图像处理,这个方式有很多,可以存储下来后再读入,这样不是好的程序模式,也可以借助三方库,类似qt,opencv函数来实现图像录入,这里使用opencv2中的imencode函数来说明把数据库中的文件流转换为Mat后进行图像处理。

1.从数据库后的图像文件的数据流 数据指针char* pdat = 获得的图像数据流buffer;

2.std::vector<char> vec_data(pdat, pdat + ndatasize);转换为imencode的输入参数格式;

3.cv::Mat mt = cv::imdecode(vec_data,CV_LOAD_IMAGE_COLOR);实现mat生成;

测试了jpg图像,很正常,其他格式没有试过,应该是对常用格式都支持,欢迎试错。


参考链接:

https://blog.csdn.net/lisarer/article/details/78791851

https://blog.csdn.net/tt_ren/article/details/53227900

猜你喜欢

转载自blog.csdn.net/zccyy1010/article/details/80909321