功能FI2MAT将执行从FreeImage到OpenCV Mat的转换.
我现在无法彻底测试每种类型的FreeImage格式,但它应该按预期工作.如果某些格式存在问题,请告诉我.
请记住,并非所有类型都可以通过imshow正确呈现,因此您可能需要先转换图像.
这里的代码带有一个例子:
#include
#include
using namespace cv;
void FI2MAT(FIBITMAP* src, Mat& dst)
{
//FIT_BITMAP //standard image : 1 - , 4 - , 8 - , 16 - , 24 - , 32 - bit
//FIT_UINT16 //array of unsigned short : unsigned 16 - bit
//FIT_INT16 //array of short : signed 16 - bit
//FIT_UINT32 //array of unsigned long : unsigned 32 - bit
//FIT_INT32 //array of long : signed 32 - bit
//FIT_FLOAT //array of float : 32 - bit IEEE floating point
//FIT_DOUBLE //array of double : 64 - bit IEEE floating point
//FIT_COMPLEX //array of FICOMPLEX : 2 x 64 - bit IEEE floating point
//FIT_RGB16 //48 - bit RGB image : 3 x 16 - bit
//FIT_RGBA16 //64 - bit RGBA image : 4

该博客介绍了如何使用C++将FreeImage的FIBITMAP格式转换为OpenCV的Mat。提供了函数FI2MAT,可以处理不同类型的FreeImage格式,并在转换后适当地调整颜色空间。代码示例演示了如何加载图像并执行转换。
最低0.47元/天 解锁文章


被折叠的 条评论
为什么被折叠?



