gpt4 book ai didi

c++ - 如何快速将 IplImage(OpenCV) 转换为 ALLEGRO_BITMAP (A5)?

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:13 26 4
gpt4 key购买 nike

有没有最快的方法可以将 IplImage 类型从 OpenCV 转换为 Allegro 5.0.x 的 ALLEGRO_BITMAP 类型,而不是将每个像素从一个像素转换到另一个像素?

像这样的 2 个 for 循环:

void iplImageToBitmap(IplImage *source, ALLEGRO_BITMAP* dest) {
if(source!= NULL && dest!= NULL) {
al_set_target_bitmap(dest);
int height = source->height;
int width = source->width;
int x,y;

for( y=0; y < height ; y++ ) {
uchar* ptr = (uchar*) (
source->imageData + y * source->widthStep
);
for( x=0; x < width; x++ ) {
al_put_pixel(x,y,al_map_rgb(ptr[3*x+2],ptr[3*x+1],ptr[3*x]));
}
}
}
}

最佳答案

使用al_lock_bitmap得到一个ALLEGRO_LOCKED_REGION ,然后按照说明设置像素数据。然后使用 al_unlock_bitmap 解锁。

关于c++ - 如何快速将 IplImage(OpenCV) 转换为 ALLEGRO_BITMAP (A5)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7630024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com