小技巧:用CxImage将从摄像头获取的图像原始数据转成JPG,然

此代码段展示了如何通过CxImage库将从摄像头获取的RGB原始数据转换为JPEG图像。首先,根据图像宽度进行字节对齐,然后利用CxImage创建图像对象并从原始数据中加载,最后编码为JPEG格式并写入到帧数据中。
摘要由CSDN通过智能技术生成

觉得没什么比代码更清楚了。直接“翠花,上代码”.

int VideoPublisher_T::publishVideo(long lw,long lh,ACE_UINT8 * dibData, long size)
{
    ACE_UINT8* jpgImageData = 0;
    long jpgImageDataSize = 0;
    CxImage image;
    Video::FrameDataWriter_var dw =
        Video::FrameDataWriter::_narrow(this->dataWriter_.in());
    if (CORBA::is_nil(dw.in()))
    {
        ACE_ERROR_RETURN((LM_ERROR,"(%t|%T) narrow frame data writer//n"),-1);
    }
    // bytes alignment
    ACE_UINT32 bytesPerLine = 4 * ((lw * 24 + 31)/32);
    // Convert original RGB data to Image
    image.CreateFromArray(
        (unsigned char *)dibData,
        lw,
        lh,
        24,
        bytesPerLine,
        false);
    image.Encode(jpgImageData,jpgImageDataSize,CXIMAGE_FORMAT_JPG);
    image.SetJpegQuality(24);

    Video::Frame frame;
    frame.

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值