0

以前は機能していたアプリケーションがあります。最近、完全に再インストールして、アプリケーションを再び動作させようとしましたが、タイトルの問題に直面しました。調査または機能させるための次のステップについてアドバイスをいただければ幸いです。

何が起こるのですか:

ctypes_opencv.cvLoadImage('tmp.bmp', 1) #or a fully specified path

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\python32_32bit\lib\site-packages\ctypes_opencv\highgui.py", line 289, in cvLoadImage
    z = pointee(_cvLoadImage(filename, iscolor))
ctypes.ArgumentError: argument 1: <class 'TypeError'>: wrong type

highgui.pyの_cvLoadImageを直接使用しようとしましたが、同じエラーが発生しました。私はそれがpointee()関数に到達しているとは思わない。

TypeErrorが発生しないようにするために、関数に渡すことができるものを見つけることができませんでした。明らかな何かが欠けていることを願っていますが、以前に機能していたコードは変更していません。

このシステムのセットアップ:

  • Windows7
  • python 3.2.3 32ビット(以前のインストールは3.1.x 32ビットでしたが、今回はインストーラーが見つかりませんでした)
  • opencv 1.0(ctypes_opencvとopencv> 1.0で運が良かったことはありません)
  • ctypes_opencv 0.8.0
4

1 に答える 1

0

アーグ。私はそれを考え出した。ctypes_opencvは明らかにユニコード文字列を受け入れません。したがって、バイトリテラルを使用すると機能します。

ctypes_opencv.cvLoadImage(b'tmp.bmp', 1) 

それは私の3.1.xインストールで動作していたので、私はまだそれを試すことを心配していませんでした。3.xの最初から、すべての文字列はすでにUnicodeではありませんでしたか?私は自分でコードを書いたので、最後に使用してから変更されていないと確信しています。

于 2012-04-20T06:24:45.680 に答える