基本的なチュートリアルのPython:Pythonのグレー画像例PythoにRGB画像を変換します

小さなPythonのに続いて、RGB画像の例は、すべての人のためにグレースケール画像Pythoに変換されるもたらすでしょう。それは良い基準値を持っています。私が手助けをしたいです。小さな直列一緒に従うことを、是非、ご覧
質問:

私はmatplotlibのは、RGBの画像を読み込み、グレースケールに変換使用しようとしています。

MATLABでは、私はこれを使用します。

img = rgb2gray(imread('image.png')); 

matplotlibのチュートリアルでは、彼らはそれをカバーしていません。彼らはただ画像を読み込みます

import matplotlib.image as mpimg
img = mpimg.imread('image.png')

その後、彼らは、配列をスライスしたが、これは、私は、グレースケールにRGB変換を理解して何からではありません。

lum_img = img[:,:,0]

エディタ:

私はそれは難しいnumpyのを信じていないか、または組み込み関数に変換するには、RGBからグレーに何をmatplotlibのを見つけます。これは、その中に業務を処理する一般的なイメージではないでしょうか?

私はそれが5分以内に取り込んだ画像関数imreadを使用することができ、非常に簡単な関数を書きました。これは非常に非効率的ですが、私は内蔵の主要なことを願っています理由です。

セバスチャンは、私の能力を改善したが、私はまだビルトイン見つけることを願っています。

MATLABの(NTSC / PAL)を達成するために:

import numpy as np
  
def rgb2gray(rgb):
  
 r, g, b = rgb[:,:,0], rgb[:,:,1], rgb[:,:,2]
 gray = 0.2989 * r + 0.5870 * g + 0.1140 * b
  
 return gray

回答:

PILの使い方

from PIL import Image
img = Image.open('image.png').convert('LA')
img.save('greyscale.png')

matplotlibの式を使用します

Y' = 0.299 R + 0.587 G + 0.114 B

あなたはこれを行うことができます:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
  
def rgb2gray(rgb):
 return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])
  
img = mpimg.imread('image.png') 
gray = rgb2gray(img) 
plt.imshow(gray, cmap = plt.get_cmap('gray'))
plt.show()

最後に、我々は非常に広いPythonの学習リソースの収集をお勧めします、[入力する]をクリック]、ここでのビジネス経験の可能性がある、経験、研究ノートを学ぶ前に、私のコレクションであり、プロジェクトの戦闘への情報に基づいてゼロに沈静化、我々は一番下に、メッセージを残すことができ、前方に置くことを知っていない、我々は進歩一緒に勉強します
。このPythonのRGB画像をグレースケール画像に変換されるオーバーPytho小さなシリーズはすべての内容全体を共有する例です。

公開された20元の記事 ウォンの賞賛4 ビュー20000 +

おすすめ

転載: blog.csdn.net/haoxun11/article/details/104931764