Intel R200 深度相机开发.2
为了防止一篇文章内容过多,我写几百字就分隔一篇。
上面的pyrealsense里面出现一个很有趣的东西;
https://github.com/eliben/pycparser
一个用Python写的解析C语言的库,有趣嗷
from __future__ import print_function
import sys
sys.path.extend(['.', '..'])
from pycparser import parse_file, c_generator
def translate_to_c(filename):
""" Simply use the c_generator module to emit a parsed AST.
"""
ast = parse_file(filename, use_cpp=True)
generator = c_generator.CGenerator()
print(generator.visit(ast))
if __name__ == "__main__":
if len(sys.argv) > 1:
translate_to_c(sys.argv[1])
else:
print("Please provide a filename as argument")
一个例子,才C到AST(抽象语法树?)到C。
https://docs.python.org/zh-cn/3/library/ctypes.html?highlight=ctype#module-ctypes
再看这个:
ctypes
是 Python 的外部函数库。它提供了与 C 兼容的数据类型,并允许调用 DLL 或共享库中的函数。可使用该模块以纯 Python 形式对这些库进行封装。
兼容的数据类型
那我们的C SDK接口怎么到Python的?这里有点技术细节,pyrealsense使用pycparser用于从librealsense API,提取所需的枚举和结构的定义用Cython为librealsense API在包裹所述内联的函数,和numpy的用于通用数据混洗。
后面我实在翻译不来了。。。
python setup.py install
源码安装,我推荐这个
pip install pyrealsense
pip安装,我不知道是不是会安装1.0的版本
看个使用的例子:(把Python的文档打开,不停的查的)
# 设置一下日志记录器
import pyrealsense as pyrs
import logging
logging.basicConfig(level=logging.INFO)
serv = pyrs.Service()
# 将打印输出可用设备的数量
# 从设备 ID 和网络的流创建设备
cam = serv.Device(device_id=0, streams=[pyrs.stream.ColorStream(fps=60)])
# 检索 60 帧数据
for _ in range(60):
cam.wait_for_frames()
print(cam.color)
# stop camera and service
cam.stop()
serv.stop()
记录60帧的数据。
https://vtk.org/
开源的3维开源构建包
https://kitware.github.io/vtk-examples/site/VTKBookLaTeX/VTKTextBook/
以及pdf文档
在线的文档位置,过两天用新电脑开发,激动!!!
https://vtk.org/wp-content/uploads/2021/08/VTKUsersGuide.pdf
https://github.com/toinsson/pyrealsense
对了,这个地方是pyrealsense 1.0的库位置。
有必要的话,我解写源码解读
先写到这里,下篇继续。
赞 (0)