1

opencvへのpythonバインディングで適応しきい値処理を機能させようとしています(クロスコンパイルがまだ機能していないため、ビーグルボードを使用しているため、opencv 2.0を機能させることができません)グレースケール画像 (ccg.jpg) と次のコードがあります

import opencv
from opencv import highgui
img = highgui.cvLoadImage("ccg.png")
img_bw = opencv.cvCreateImage(opencv.cvGetSize(img), opencv.IPL_DEPTH_8U, 1)
opencv.cvAdaptiveThreshold(img, img_bw, 125, opencv.CV_ADAPTIVE_THRESH_MEAN_C, opencv.CV_THRESH_BINARY, 7, 10)

これを実行すると、次のエラーが表示されます。

RuntimeError:  openCV Error:
    Status=Formats of input arguments do not match
    function name=cvAdaptiveThreshold
    error messgae=
    file_name=cvadapthresh.cpp
    line=122

また、source 引数と dest 引数の両方を同じ (グレースケール) にしてみましたが、エラーが発生しました

サポートされていない形式または形式の組み合わせ

私がどこで間違っているのか、誰にも手がかりがありますか?

4

1 に答える 1

2

私はswigインターフェースのユーザーではありませんが、Cでは、cvLoadImage関数はデフォルトで3チャンネルRGBとして画像をロードするため、それがswigにも当てはまる場合は、コードを変更して次のようにロードする必要がありますimg。グレースケール(CV_LOAD_IMAGE_GRAYSCALE)または中間ステップを実行して、を使用してグレースケールに変換しcvCvtColorます。

于 2010-04-21T11:22:55.417 に答える