【エラー: OpenCV コードからの不明な C++ 例外】

プロジェクトのシナリオ:

opencv の kmeans モジュールによるリモート センシング画像のセグメンテーション


問題の説明

error: Unknown C++ exception from OpenCV code

c = (cv.TERM_CRITERIA_EPS+ cv.TERM_CRITERIA_MAX_ITER,10, 0.1)
k=2
ret, label, center = cv.kmeans(image, k, None, c, 10, cv.KMEANS_RANDOM_CENTERS)

原因分析:

opencvのバージョンが高すぎてPythonのバージョンが低いという人もいます。バージョンを変えるのは面倒だと思ったので試しませんでした。そこで、opencv に関する情報を確認したところ、ここに画像の説明を挿入
処理するデータが要素ごとに 1 行を占有する必要がある場合、ここでは単一の特徴をクラスタリングしているため、データの形状は n 行 1 列である必要があり、n は次のようなものであることがわかりました。要素の数。


解決:

kmeans を実行する前に次のコードを追加します: image_1 = image.reshape((image.shape[0]*image.shape[1],1))

おすすめ

転載: blog.csdn.net/m0_46403007/article/details/124255092