Convert jpg to rgb python

Note

Click here to download the full example code

This example opens an RGB JPEG image and writes out each channel as a separate FITS (image) file.

This example uses pillow to read the image, matplotlib.pyplot to display the image, and astropy.io.fits to save FITS files.

By: Erik Bray, Adrian Price-Whelan

License: BSD

import numpy as np
from PIL import Image
from astropy.io import fits

Set up matplotlib and use a nicer set of plot parameters

Load and display the original 3-color jpeg image:

image = Image.open('Hs-2009-14-a-web.jpg')
xsize, ysize = image.size
print(f"Image size: {ysize} x {xsize}")
print(f"Image bands: {image.getbands()}")
ax = plt.imshow(image)

Convert jpg to rgb python

Out:

Image size: 232 x 400
Image bands: ('R', 'G', 'B')

Split the three channels (RGB) and get the data as Numpy arrays. The arrays are flattened, so they are 1-dimensional:

Out:

Reshape the image arrays to be 2-dimensional:

Out:

Write out the channels as separate FITS images. Add and visualize header info

Out:

SIMPLE  =                    T / conforms to FITS standard
BITPIX  =                   64 / array data type
NAXIS   =                    2 / number of array dimensions
NAXIS1  =                  400
NAXIS2  =                  232
EXTEND  =                    T
LATOBS  = '32:11:56'
LONGOBS = '110:56  '

Delete the files created

Total running time of the script: ( 0 minutes 0.204 seconds)

Gallery generated by Sphinx-Gallery

Main Content

rgb2gray

Convert RGB image or colormap to grayscale

Syntax

Description

example

I = rgb2gray(RGB) converts the truecolor image RGB to the grayscale image I. The rgb2gray function converts RGB images to grayscale by eliminating the hue and saturation information while retaining the luminance. If you have Parallel Computing Toolbox™ installed, rgb2gray can perform this conversion on a GPU.

Examples

collapse all

Convert RGB Image to Grayscale Image

Read and display an RGB image, and then convert it to grayscale.

Read the sample file, peppers.png, and display the RGB image.

RGB = imread('peppers.png');
imshow(RGB)

Convert jpg to rgb python

Convert the RGB image to a grayscale image and display it.

I = rgb2gray(RGB);
figure
imshow(I)

Convert jpg to rgb python

Convert RGB Colormap to Grayscale Colormap

Read an indexed image with an RGB colormap. Then, convert the colormap to grayscale.

Read the sample file, corn.tif, which is an indexed image with an RGB colormap.

[X,map] = imread('corn.tif');

Display the image.

Convert jpg to rgb python

Convert the RGB colormap to a grayscale colormap and redisplay the image.

newmap = rgb2gray(map);
imshow(X,newmap)

Convert jpg to rgb python

Input Arguments

collapse all

RGB — Truecolor image m-by-n-by-3 numeric array

Truecolor image, specified as an m-by-n-by-3 numeric array.

If you have Parallel Computing Toolbox installed, RGB can also be a gpuArray.

Data Types: single | double | uint8 | uint16

map — Colormap c-by-3 numeric matrix

Colormap, specified as a c-by-3 numeric matrix with values in the range [0, 1]. Each row of map is a three-element RGB triplet that specifies the red, green, and blue components of a single color of the colormap.

If you have Parallel Computing Toolbox installed, map can also be a gpuArray.

Data Types: double

Output Arguments

collapse all

I — Grayscale image m-by-n numeric array

Grayscale image, returned as an m-by-n numeric array.

If you have Parallel Computing Toolbox installed, then I can also be a gpuArray.

newmap — Grayscale colormap c-by-3 numeric matrix

Grayscale colormap, returned as an c-by-3 numeric matrix with values in the range [0, 1]. The three columns of newmap are identical, so that each row of map specifies a single intensity value.

If you have Parallel Computing Toolbox installed, then newmap can also be a gpuArray.

Data Types: double

Tips

  • rgb2gray supports the generation of C code using MATLAB® Coder™.

Algorithms

rgb2gray converts RGB values to grayscale values by forming a weighted sum of the R, G, and B components:

0.2989 * R + 0.5870 * G + 0.1140 * B 

These are the same weights used by the rgb2ntsc (Image Processing Toolbox) function to compute the Y component.

The coefficients used to calculate grayscale values in rgb2gray are identical to those used to calculate luminance (E'y) in Rec.ITU-R BT.601-7 after rounding to 3 decimal places.

Rec.ITU-R BT.601-7 calculates E'y using the following formula:

0.299 * R + 0.587 * G + 0.114 * B

Extended Capabilities

C/C++ Code Generation Generate C and C++ code using MATLAB® Coder™.

When generating code, if you choose the generic MATLAB Host Computer target platform, rgb2gray generates code that uses a precompiled, platform-specific shared library. Use of a shared library preserves performance optimizations but limits the target platforms for which code can be generated.

GPU Code Generation Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

Thread-Based Environment Run code in the background using MATLAB® backgroundPool or accelerate code with Parallel Computing Toolbox™ ThreadPool.

This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.

GPU Arrays Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.

This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).

Distributed Arrays Partition large arrays across the combined memory of your cluster using Parallel Computing Toolbox™.

This function fully supports distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).

How do you convert an image to RGB in Python?

“how to convert grayscale image to rgb in python” Code Answer's.
import cv2..
image = cv2. imread('C:/Users/N/Desktop/Test.jpg').
gray = cv2. cvtColor(image, cv2. COLOR_BGR2GRAY).
cv2. imshow('Original image',image).
cv2. imshow('Gray image', gray).

How do I convert JPG to RGB?

How to convert JPG to RGB.
Upload jpg-file(s) Select files from Computer, Google Drive, Dropbox, URL or by dragging it on the page..
Choose "to rgb" Choose rgb or any other format you need as a result (more than 200 formats supported).
Download your rgb..

How do I get RGB in Python?

How to find the RGB value of a pixel in Python.
red_image = PIL. Image. open("red_image.png") Create a PIL.Image object..
red_image_rgb = red_image. convert("RGB") Convert to RGB colorspace..
rgb_pixel_value = red_image_rgb. getpixel((10,15)) Get color from (x, y) coordinates..

Is OpenCV BGR or RGB?

OpenCV follows BGR order, while matplotlib likely follows RGB order. Therefore, when we display an image loaded in OpenCV using matplotlib functions, we may want to convert it into RGB mode. If we did not switch brg order, we get rgb inverted picture.