OpenCV、cv2.imshowとcv2.imwriteでの出力結果の違い
前提・実現したいこと
OpenCV,Pythonを触り始めたばかりの初心者です。
OpenCV,Pythonを用いてラプラシアンフィルタをしようと思ったのですが、
cv2.imshowとcv2.imwriteで出力結果が異なります。
結果としてはcv2.imwriteのほうがおそらく正しい処理がされていたのですが、cv2.imshowでも正しく表示させたいです。
どうすればよいでしょうか。
環境はpython3.6、Spyderを使用してます。
画像は順に元画像、cv2.imwrite、cv2.imshowで表示した画像です。
発生している問題・エラーメッセージ
上記の通り出力画像が異なります。
該当のソースコード
Python
1#-*- coding:utf-8 -*- 2import cv2 3 4# 入力画像を読み込み 5img = cv2.imread('sushi.jpg') 6 7# グレースケール変換 8gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) 9 10#8近傍ラプラシアン 11dst = cv2.Laplacian(gray, cv2.CV_32F, ksize=3) 12 13# 結果を出力 14cv2.imwrite('lap8sushi.jpg', dst) 15 16cv2.imshow('lap8sushi.jpg', dst) 17 18cv2.waitKey(0) 19cv2.destroyAllWindows()
試したこと
上記ソースコードではjpg画像を用いてますが、bmp画像でも同じような結果になりました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。