[解決済み] OpenCV (Python)でグレースケール画像をRGBに変換する方法は?
2023-01-19 15:54:44
質問
OpenCVを使った画像処理を実時間で学習しています。画像に閾値処理を行い、輪郭を緑でラベル付けしたいのですが、画像が白黒のため緑で表示されません。
プログラムの初期に私は
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
を使ってRGBからグレースケールに変換していましたが、戻るには混乱しますし、関数の
backtorgb = cv2.cvtColor(gray,cv2.CV_GRAY2RGB)
は与えています。
AttributeError: 'module' オブジェクトは 'CV_GRAY2RGB' という属性を持っていません.
以下のコードでは、緑色の輪郭が描画されていないように見えます。これは、グレースケール画像だからでしょうか?もしそうなら、グレースケール画像をRGBに変換して、緑色の輪郭を可視化することはできますか?
import numpy as np
import cv2
import time
cap = cv2.VideoCapture(0)
while(cap.isOpened()):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
ret, gb = cv2.threshold(gray,128,255,cv2.THRESH_BINARY)
gb = cv2.bitwise_not(gb)
contour,hier = cv2.findContours(gb,cv2.RETR_CCOMP,cv2.CHAIN_APPROX_SIMPLE)
for cnt in contour:
cv2.drawContours(gb,[cnt],0,255,-1)
gray = cv2.bitwise_not(gb)
cv2.drawContours(gray,contour,-1,(0,255,0),3)
cv2.imshow('test', gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
どのように解決するのですか?
私のコメントを回答に昇格させています。
簡単な方法です。
グレー画像を使うのではなく、元の「枠」そのものに描画すればいいのです。
難しい方法(実装しようとしていた方法)。
backtorgb = cv2.cvtColor(gray,cv2.COLOR_GRAY2RGB)
が正しい構文です。
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
-
[解決済み] pycharmがタブをスペースに自動変換する
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] 新しいpip backtrackingの実行時問題の解決