0

Web で Python の画像エッジ検出コードを探していたところ、興味深いものを見つけました。残念ながら、このエラーが発生し続けます: 'cv2.cv.cvseq' object has no attribute 'total'

障害のあるコード行は

lines = HoughLines2( dst, storage, CV_HOUGH_STANDARD, 1, CV_PI/180, 100, 0, 0 );

コード全体には、ハフ標準とハフ確率を切り替えるオプションがあります。確率論的アプローチを使用するように設定すると(したがって、「lines.total」コードを必要としません)、正常に実行されるため、必要なものすべてをインストールしてインポートしました。

4

2 に答える 2

2

古い「cv」バージョンを使用する理由がわかりませんが、新しい「cv2」バージョンは非常に単純で、すべてのオブジェクトは python リストまたは numpy 配列として返されます。これはユーザーの観点から簡単に処理できます。

HoughLines 関数の出力は、形状 (1,行数,2) および (1,行数,4) の numpy 配列です。すべてのnumpy関数が手元にあるので、好きなことをすることができます.

これは、あなたが言及したのと同じ、つまりハフ標準とハフ確率を切り替える行を検出するためのサンプルです: houghlines.py

以下は、そのコードを使用して得た結果です。

ハフ標準:

ここに画像の説明を入力

ハフ確率 :

ここに画像の説明を入力

もちろん、検出される行は、試したパラメーター値によって異なります。パラメータの値を好きなように変更して試してみてください。

于 2012-06-05T08:49:21.747 に答える
0

彼らはcv2でcvseqを廃止しました。opencv2.3.1にはモジュールcv2.cv.cvseqはありません。

あなたは使用する必要があります

lines = cv2.HoughLines(dst, 1, CV_PI/180, 100, 0)

http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=houghlines#cv2.HoughLines

cv2ライブラリは、はるかにユーザーフレンドリーで、高速で効果的です。OpenCV2.3.1または2.4.0に進む必要があります。OpenCV2.3.1のインストールで問題が発生した場合-http ://jayrambhia.wordpress.com/2012/05/02/install-opencv-2-3-1-and-simplecv-in-ubuntu-12-04-precise -pangolin-arch-linux /

于 2012-06-05T08:59:11.080 に答える