【问题标题】:Convert SDL_Surface to IplImage将 SDL_Surface 转换为 IplImage
【发布时间】:2024-01-01 15:02:01
【问题描述】:

我将 IplImage 转换为 SDL_Surface
参考这个link

SDL_Surface *single_channel_ipl_to_surface (IplImage *opencvimg)
{
    SDL_Surface *surface = SDL_CreateRGBSurfaceFrom((void*)opencvimg->imageData,
                           opencvimg->width,
                           opencvimg->height,
                           opencvimg->depth*opencvimg->nChannels,
                           opencvimg->widthStep,
                           1, 1, 1 ,0);
    return surface;
}

如何将 SDL_Surface 转换为 IplImage

【问题讨论】:

    标签: opencv sdl


    【解决方案1】:

    您必须从 SDL_Surface 检索 4 条信息,因此请研究 API 以了解如何检索:

    • 图片的尺寸(宽/高);
    • 图像的位深度
    • 频道数
    • 以及图像的数据(像素);

    之后您可以create an IplImage from scratchcvCreateImageHeader() 后跟cvSetData()

    【讨论】:

    • 让我试一试(这会花我一些时间),然后恢复...顺便谢谢您的回答...