PythonでOpenCVを使ってカラー画像からグレーの画像を取り出したいです。
- [ cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)] 機能で正しくグレー画像を取り出したい。
前提
画像から物体を認識するPythonのコードを書いています。
機能を実装中に以下の現象が発生しました。
発生している問題・エラーメッセージ
画像がグレーにならないで、中途半端な黄色と青のカラー画像になる。 
該当のソースコード
Python
1import cv2 2import numpy as np 3 4# 画像の読み込み 5image = cv2.imread("0001.jpg") 6 7# 画像をグレースケールに変換 8gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 9
試したこと
cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)でグレーの画像になることを期待していました。しかしそうはなりませんでした。
補足情報(FW/ツールのバージョンなど)
Google Colaboration上でPythonを動かしています。
> 中途半端な黄色と青のカラー画像になる。
は、どのようにして確認しましたでしょうか?
Google Colabの画面上に出てきました。画像が貼れないので確認していただけないのが残念です。
表示の問題である可能性もあります。グレーにした画像を保存して確認できませんか?
※ところで何故「画像が貼れない」のでしょうか?
質問にあるコードには書かれていませんが、以下を実行するとグレースケールで表示されます。
from google.colab.patches import cv2_imshow
cv2_imshow(gray)
一方、matplotlib の imshow() で表示すると、「中途半端な黄色と青のカラー画像」が表示されます。matplotlib をお使いの場合、グレイスケールの画像を表示する際には cmap を指定する必要があります。
from matplotlib import pyplot as plt
plt.imshow(gray, cmap="gray")
申し訳ありません。画像の貼り付け方法を知らず、ご迷惑をおかけしております。今teratailの記事で調べています。
melianさんのコメントの内容で解決しませんか?
「画像の貼り付け方法」については”画像の挿入”ボタンがあるのでそれを利用してください。(https://teratail.com/help/question-tips#questionTips33 のアドバイスのところを参照)

回答1件
あなたの回答
tips
プレビュー