加载图片 - LoadImageFromRGBData
函数简介
从RGB数据加载图片到内存。此函数支持从采集卡或其他RGB数据源直接加载图片,适用于需要处理实时图像数据的场景,如视频采集、图像处理等。
接口名称
LoadImageFromRGBData
DLL调用
long LoadImageFromRGBData(long ola, int width, int height, long rgbdata, int stride)
参数定义:
ola
(长整型数): OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。width
(整型数): 图片宽度,单位像素height
(整型数): 图片高度,单位像素rgbdata
(长整型数): RGB图片数据的地址stride
(整型数): RGB图片数据的行跨度(每行字节数)
示例:
// 从采集卡数据加载图片
int width = 1920; // 图片宽度
int height = 1080; // 图片高度
long rgbData = GetCaptureCardData(); // 获取采集卡数据地址
int stride = width * 3; // RGB格式,每像素3字节
long imagePtr = LoadImageFromRGBData(ola, width, height, rgbData, stride);
if (imagePtr != 0) {
// 使用加载的图片
// ...
// 使用完后释放内存
FreeImagePtr(ola, imagePtr);
}
COM调用
long LoadImageFromRGBData(int width, int height, long rgbdata, int stride)
参数定义:
width
(整型数): 图片宽度,单位像素height
(整型数): 图片高度,单位像素rgbdata
(长整型数): RGB图片数据的地址stride
(整型数): RGB图片数据的行跨度(每行字节数)
示例:
# 从采集卡数据加载图片
width = 1920 # 图片宽度
height = 1080 # 图片高度
rgbData = GetCaptureCardData() # 获取采集卡数据地址
stride = width * 3 # RGB格式,每像素3字节
imagePtr = ola.LoadImageFromRGBData(width, height, rgbData, stride)
if imagePtr:
# 使用加载的图片
# ...
# 使用完后释放内存
FreeImagePtr(imagePtr)
返回值
长整型数: 返回加载的OLAImage对象的地址。如果失败返回0。
注意事项
- RGB数据必须是有效的内存地址,否则可能导致程序崩溃
- 图片尺寸必须与实际数据匹配,否则可能导致图片显示异常
- stride参数必须正确设置,通常为width * 3(RGB格式)
- 图片使用完后需要调用 FreeImagePtr 接口释放内存
- 确保RGB数据在图片使用期间保持有效
- 建议在加载大图片时注意内存使用
- 如果数据源是采集卡,请确保采集卡驱动正常工作
- RGB数据格式必须为24位真彩色(每像素3字节)
- 图片加载失败时返回0,请检查参数是否正确
- 建议在使用前验证RGB数据的有效性