是否有最快的方法将IplImage类型从OpenCV转换为Allegro 5.0的ALLEGRO_BITMAP类型?X比把每个像素从一个像素到另一个像素好吗?
像这样的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
解锁