0

自律型ロボットのカメラ フィードから信号機を除外しようとしています。キャプチャしたフレームを HSV 色空間に変換し、信号機とほぼ同じ「赤」のすべての赤いオブジェクトを検出できるようになるまでしきい値を設定します。次に、ハフ変換を適用して、それらの中から赤い光を見つけます (これは明らかにサークル)。

ここでの問題は、ハフ変換が単一チャネルの画像でのみ機能することがわかり、3 つを使用しているように見えるため、次のコードを使用して HSV しきい値処理された画像をグレースケールに変換しようとしたことです。

imgFinal = thresholded  #initialising the variable with the thresholded image.
framenew = cv2.cvtColor(threshNew, cv2.COLOR_HSV2GRAY)  

ただし、実行時に「モジュール」オブジェクトに属性「COLOR_HSV2GRAY」がないというエラーが表示されます。このトピックに関するいくつかの質問を見つけましたが、私の問題に対する答えはありませんでした。赤信号を検出するだけで、チャンネルを分離しようとしましたが、そのアプローチをどのように進めるかわかりません。また、他のアプローチにもオープンです。
ありがとうございました!

PS- これはトピックから外れているかもしれませんが、このプロジェクトにどの言語を提案しますか? C++ または Python? 私は両方のコードを書きましたが、どちらを使用するかについて混乱しています。現在、Windows 8.1 PC で開発していますが、最終的なプロジェクトでは Raspberry Pi 3 で実行する必要があります。

4

1 に答える 1

1

HSV の V チャネルはグレースケール イメージのようなものですが、BGR2GRAY グラスケール イメージと同じではありません。

これは、BGR2GRAY から計算されたグレースケール イメージです。

ここに画像の説明を入力

これは HSV イメージの V チャネルです。

ここに画像の説明を入力

「より良い」ものが必要な場合は、いつでも HSV イメージを BGR に戻し、openCV コードを使用して BGR を GRAY に変換できます。

于 2016-03-18T22:29:28.463 に答える