小编smi*_*y84的帖子

BytesIO对象到映像

我试图在程序中使用枕头将摄像机的字节字符串保存到文件中。这是一个示例,该示例包含一个来自我的相机的小原始字节字符串,该字符串应使用LSB和12位表示分辨率为10x5像素的灰度图像:

import io
from PIL import Image

rawBytes = b'_\x00`\x00[\x00^\x00`\x00`\x00\\\x00\\\x00Z\x00\\\x00_\x00[\x00\\\x00\\\x00`\x00]\x00\\\x00^\x00_\x00\\\x00\\\x00]\x00]\x00_\x00]\x00]\x00Z\x00\\\x00^\x00\\\x00Z\x00^\x00_\x00]\x00^\x00Z\x00\\\x00Z\x00\\\x00]\x00_\x00]\x00^\x00Z\x00[\x00[\x00X\x00]\x00]\x00Z\x00'
rawIO = io.BytesIO(rawBytes)
rawIO.seek(0)
byteImg = Image.open(rawIO)
byteImg.save('test.png', 'PNG')
Run Code Online (Sandbox Code Playgroud)

但是我在第7行(带有Image.open)收到以下错误:

OSError: cannot identify image file <_io.BytesIO object at 0x00000000041FC9A8>
Run Code Online (Sandbox Code Playgroud)

Pillow的文档暗示这是要走的路。

我试图从中应用解决方案

但无法正常运作。为什么这不起作用?

python io python-imaging-library python-3.x

5
推荐指数
1
解决办法
6093
查看次数

使用带有 C 扩展的安装工具作为包的一部分

我编写了一个 C 扩展来从专有库访问相机的错误消息。结构是

setup.py
dicamsdk\
|---__init__.py
|---control.py
|---pcoError.c
Run Code Online (Sandbox Code Playgroud)

setup.py

from setuptools import setup, Extension, find_packages
from dicamsdk.control import __version__

pcoErrorModule = Extension("dicamsdk.pcoError",
                           sources=["dicamsdk/pcoError.c"],
                           include_dirs=['C:\Program Files (x86)'
                                         '\Digital Camera Toolbox'
                                         '\Sensicam SDK\include'],
                           define_macros=[("PCO_ERRT_H_CREATE_OBJECT", None)],
                           )
setup(
    name="pydicamsdk",
    platforms=["win-amd64", 'win32'],
    license="GNU GPLv3",
    ext_modules=[pcoErrorModule],
    packages=find_packages(),
    version=__version__
)
Run Code Online (Sandbox Code Playgroud)

control.py打算导入已编译的 C 扩展

from . import pcoError
Run Code Online (Sandbox Code Playgroud)

当我尝试构建(或安装)软件包时,我总是收到错误ImportError: cannot import name 'pcoError'

它似乎唯一有效的方法是注释掉导入control.py并使用setup.py build_ext --inplace. 只需使用编译后的内容,我就可以构建/安装我的库。

我是否有一个解决方案可以setup.py首先编译我的扩展以实现简单的安装?

c python packaging setuptools python-extensions

5
推荐指数
1
解决办法
2800
查看次数