1

Pythonを使用してやすりでdatamatrixコードを読み取ろうとしています。

コードを読むために pylibdmtx を使用していますが、ノートブックでしか機能しません。ラズベリーに同じコードを入れると、コードを読み取ることができません。現在、私のラズベリーは qrcode とバーコードのみを読み取っています。

私はraspbianとubuntuコアの2つのラスプを持っていますが、どちらも機能しませんでした。

以下のコード例

import cv2
import time
from pylibdmtx.pylibdmtx import decode


data = None

video = cv2.VideoCapture(0)
video.set(cv2.CAP_PROP_FPS, 19)

while video.isOpened():
    time.sleep(1/9)
    ret, frame = video.read()
    if ret is False:
        break

    decodeObjects = decode(frame,
                           timeout=1000,
                           max_count=1,
                           corrections=3)

    for obj in decodeObjects:
        if obj.data:
            data = obj

    if data:
        break

video.release()
cv2.destroyAllWindows()
print(data)
4

3 に答える 3

0

pylibdmtxはlibdmtxの単なるラッパーです。機能させるには、最初にネイティブ ライブラリをインストールする必要があります。

.whl ファイルには、Windows 用の .DLL ファイルが既に含まれています。

ここに画像の説明を入力

macOS と Linux については、コマンドライン ツールを使用してライブラリをインストールできます。

Mac OS X :

brew install libdmtx

Linux :

sudo apt-get install libdmtx0a

Raspberry Pi用のビルド済みライブラリはないと思います。そのため、自分で構築できます。ソースコードは次のとおりです。

https://github.com/dmtx/libdmtx

libdmtx ライブラリをビルドしてインストールするには、次の 3 つの手順を実行します。

  $ ./configure
  $ make
  $ sudo make install

libdmtx ライブラリをインストールすると、Python コードが機能するはずです。

于 2020-02-10T03:45:51.313 に答える