尝试将图像转换为流以与 Spire.Barcode ScanStream 功能一起使用

问题描述 投票:0回答:1

我目前正在创建一个应用程序,可以从图像中读取条形码,然后显示图像。

我使用 Spire.Barcode 作为我的库,因为它似乎具有最佳的识别率。 目前我必须加载图像两次,一次扫描条形码,然后第二次将其加载到 UI 中

用户选择一个文件夹,然后扫描该文件夹中的所有图像的条形码,然后再次打开,调整大小并保存到内存中以在 UI 中显示

def scan_single_image_for_barcode(image_path):
    try:
        barcode = spire.BarcodeScanner.ScanFileWithBarCodeType(image_path, spire.BarCodeType.Code39)
        print(f"Barcode From spire= {barcode} and barcode {barcode[0]}")
        if barcode[0] is not None:
            barcode = barcode[0]
    except Exception as e:
        print(f"Error scanning image '{image_path}': {e}")
        barcode = None
    return barcode

image_path 指向图像。

我希望有一种方法可以加载图像一次,将图像数据传递到扫描仪,然后调整大小并存储数据。

Spire 确实有一个名为 ScanStream 的函数,但到目前为止,我尝试将图像转换为流/字节的每种方法都不起作用,最常见的错误是

'_io.BytesIO' object has no attribute 'Ptr'
我认为这可能与 Spire.Barcode 是一个 C 库有关。

我尝试过使用io.BytesIO。我使用了 toBytes() 函数中内置的 PIL。 我尝试用谷歌搜索并查看文档,但我真的不知道。

不太确定从这里去哪里。 非常感谢任何帮助。

python python-imaging-library barcode bytesio
1个回答
0
投票
Python 的 Spire.Barcode 的

BarcodeScanner 类提供了多种从流中扫描条形码的函数。您可以根据您的需要选择合适的。

© www.soinside.com 2019 - 2024. All rights reserved.