How about doing it with Pillow:
from PIL import Image img = Image.open('image.png').convert('L') img.save('greyscale.png')
If an alpha (transparency) channel is present in the input image and should be preserved, use mode LA
:
img = Image.open('image.png').convert('LA')
Using matplotlib and the formula
Y' = 0.2989 R + 0.5870 G + 0.1140 B
you could do:
import numpy as np import matplotlib.pyplot as plt import matplotlib.image as mpimg def rgb2gray(rgb): return np.dot(rgb[...,:3], [0.2989, 0.5870, 0.1140]) img = mpimg.imread('image.png') gray = rgb2gray(img) plt.imshow(gray, cmap=plt.get_cmap('gray'), vmin=0, vmax=1) plt.show()
Related Posts:
- python – how to get the data from an plt.imshow()?
- How do I draw a grid onto a plot in Python?
- How to plot ROC curve in Python
- How to plot time series in python
- Display an image with Python
- How to plot a 2d matrix in python with colorbar? (like imagesc in Matlab)
- ImportError: DLL load failed: The specified module could not be found
- ImportError: DLL load failed: The specified module could not be found
- What is the difference between importing matplotlib and matplotlib.pyplot?
- Purpose of “%matplotlib inline”
- Purpose of “%matplotlib inline”
- TypeError: only size-1 arrays can be converted to Python scalars (matplotlib)
- Showing an image with pylab.imshow()
- ImportError: No module named matplotlib.pyplot
- What is the necessity of plt.figure() in matplotlib?
- How do you change the size of figures drawn with Matplotlib?
- RuntimeWarning: invalid value encountered in divide
- Is “from matplotlib import pyplot as plt” == “import matplotlib.pyplot as plt”?
- ValueError: operands could not be broadcast together with shapes (5,) (30,)
- _tkinter.TclError: no display name and no $DISPLAY environment variable
- ImportError: No module named matplotlib.pyplot
- matplotlib savefig() plots different from show()
- Plotting a 2D heatmap with Matplotlib
- No handles with labels found to put in legend
- How to plot a histogram using Matplotlib in Python with a list of data?
- Plot logarithmic axes with matplotlib in python
- In Matplotlib, what does the argument mean in fig.add_subplot(111)?
- Unable to plot Double Bar, Bar plot using pyplot for ndarray
- matplotlib error – no module named tkinter
- Python,IndexError: arrays used as indices must be of integer (or boolean) type
- pandas DataFrame “no numeric data to plot” error
- How to change the font size on a matplotlib plot
- Permission denied error by installing matplotlib
- Updating matplotlib in virtualenv with pip
- How do you change the size of figures drawn with Matplotlib?
- How do I set the figure title and axes labels font size in Matplotlib?
- How to customize a scatter matrix to see all titles?
- Is there a list of line styles in matplotlib?
- Add Legend to Seaborn point plot
- pyplot scatter plot marker size
- A tool to convert MATLAB code to Python
- Matplotlib automatic legend outside plot
- Plotting multiple different plots in one figure using Seaborn
- Change figure size and figure format in matplotlib
- Add Legend to Seaborn point plot
- Improve subplot size/spacing with many subplots in matplotlib
- How do I plot only a table in Matplotlib?
- Python equivalent to ‘hold on’ in Matlab
- Overcome ValueError for empty array
- Using %matplotlib notebook after %matplotlib inline in Jupyter Notebook doesn’t work
- How to change a ‘LinearSegmentedColormap’ to a different distribution of color?
- Display image as grayscale using matplotlib
- matplotlib using twinx and twiny together (like twinxy)
- Why matplotlib does not plot?
- reducing number of plot ticks
- How to make a 3D scatter plot in matplotlib
- How to draw vertical lines on a given plot in matplotlib
- Modify the legend of pandas bar plot
- Plot a horizontal line using matplotlib
- Changing the “tick frequency” on x or y axis in matplotlib
- How can I set the aspect ratio in matplotlib?
- When to use cla(), clf() or close() for clearing a plot in matplotlib?
- Remove xticks in a matplotlib plot?
- How to add title to seaborn boxplot
- python SyntaxError: invalid syntax %matplotlib inline
- How to update a plot in matplotlib?
- How to make a histogram from a list of data
- How do I change the figure size with subplots?
- ValueError: Unknown projection ‘3d’ (once again)
- How to change plot background color?
- raise LinAlgError(“SVD did not converge”) LinAlgError: SVD did not converge in matplotlib pca determination
- TypeError: Invalid dimensions for image data when plotting array with imshow()
- matplotlib does not show my drawings although I call pyplot.show()
- Plot correlation matrix using pandas
- How can I set the ‘backend’ in matplotlib in Python?
- Python, Matplotlib, subplot: How to set the axis range?
- How to put the legend out of the plot
- Giving graphs a subtitle in matplotlib
- Matplotlib: TypeError: can’t multiply sequence by non-int of type ‘numpy.float64’
- How to plot an array in python?
- Seaborn Lineplot Module Object Has No Attribute ‘Lineplot’
- Matplotlib plots: removing axis, legends and white spaces
- Why do many examples use `fig, ax = plt.subplots()` in Matplotlib/pyplot/python
- Label axes on Seaborn Barplot
- Plot a histogram such that the total area of the histogram equals 1
- matplotlib: plot multiple columns of pandas data frame on the bar chart
- How to change legend size with matplotlib.pyplot
- An equivalent function to matplotlib.mlab.bivariate_normal
- plot a circle with pyplot
- Superscript in Python plots
- IPython, “name ‘plt’ not defined”
- Plotting a python dict in order of key values
- MovieWriter ffmpeg unavailable; trying to use class ‘matplotlib.animation.PillowWriter’ instead
- How to plot normal distribution
- Python basemap module impossible to import
- Equivalent to matlab’s imagesc in matplotlib? [duplicate]
- Installing Pylab/Matplotlib
- TypeError: zip argument #2 must support iteration
- numpy/scipy/ipython:Failed to interpret file as a pickle
- alueError: ordinal must be >= 1