博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python: c_char_p指向的bitmap图像数据,通过c_char_Array最终赋值给PIL的Image对象
阅读量:6939 次
发布时间:2019-06-27

本文共 859 字,大约阅读时间需要 2 分钟。

def GetCurrentImage(self):        ok, bitmap, buff_len = self.GetCurrentFrameBitmap()  #调用C函数,返回位图数据的指针. bitmap是c_char_p类型        if not ok:            return False,None,'GetCurrentFrameBitmap fail:code=%d, msg=%s'% \                (reader.LastErrorCode(), reader.LastErrorMessage())        ret,width,height = self.GetVideoRect()        if not ret:            return False,None,'GetVideoRect fail:code=%d, msg=%s'%(reader.LastErrorCode(), reader.LastErrorMessage())        BitmapType = c_char*buff_len  #创建一个数组对象        arr = BitmapType()   #数组的实例        memmove(arr, bitmap, buff_len)  #拷贝内容        #img = Image.frombytes('RGB', (width, height), arr)        img = Image.frombuffer('RGB', (width, height), arr, 'raw', 'RGB', 0, 1)   #数组直接映射为图片对象        return True,img,'success'

这个方法试了三小时才试出来。

求大神指导更好的方法!

 

转载于:https://www.cnblogs.com/ahfuzhang/p/9975168.html

你可能感兴趣的文章
tomcat9启动后控制台输出乱码问题
查看>>
cssText文本格式化
查看>>
JS数组追加数组采用push.apply的坑
查看>>
如何避免adtbundle新建项目总是产生一个appcompat_v7和fragment_main.xml
查看>>
如何将iOS应用发布到App Store详解
查看>>
POJ 1488
查看>>
1821: [JSOI2010]Group 部落划分 Group
查看>>
1112: [POI2008]砖块Klo
查看>>
MongoDB【第二篇】集群搭建
查看>>
extends和implements的区别
查看>>
Java面向对象之继承
查看>>
Latex小技巧
查看>>
Java多态
查看>>
23模式之: 模板方法模式demo
查看>>
Lua游戏开发之时区问题
查看>>
faster rcnn 笔记
查看>>
ABAP常用函数集锦(转)
查看>>
python3.5 的str类型和bytes类型的转换
查看>>
使用摄像头或视频运行 ORB-SLAM2 SLAM14讲 第一次课后作业
查看>>
Nginx源码剖析之内存池,与内存管理
查看>>