有没有一种最快的方法可以将 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]));
}
}
}
}