Project 6 – Color Theory
In this project, you will implement the following:
1. Extract the YUV bands of an image
2. Decimate the Y band and show its effect on the quality of the RGB image
3. Decimate the U band and show its effect on the quality of the RGB image
4. Decimate the V band and show its effect on the quality of the RGB image
# import necessary packages # reading/writing image files
from skimage import io
from skimage import color
# displaying images and plots
import matplotlib.pyplot as plt
# array operations
import numpy as np
# mathematical calculations
import math
import cmath
# DFT calculations
from scipy import fftpack as ft
# histogram calculation
from skimage import exposure
# signal processing operations
from scipy import signal
from scipy.linalg import circulant
# display an image in original size
def my_display_actual_size(img, str_caption): height = img.shape[0]
width = img.shape[1] ndim = img.ndim
isColor = True
if ndim == 1: isColor=False elif ndim != 3: assert False
# determine a figure size big enough to accomodate an axis of xpixels by ypixels # as well as the ticklabels, etc.
margin = 0.05
dpi = 80
figsize = (1.0+margin)*height/dpi, (1.0+margin)*width/dpi
# define the figure
fig = plt.figure(figsize=figsize, dpi=dpi)
# make the axis the right size
ax = fig.add_axes([margin, margin, 1 – 2*margin, 1 – 2*margin])
# display the image
if isColor:
ax.imshow(img, interpolation=’none’)
else:
ax.imshow(img, cmap=’gray’, vmin=0, vmax=255, interpolation=’none’) plt.title(str_caption)
plt.show()
return
# end of function
# STEP 0 Pick an image
In [9]:
In [10]:
In [11]:
# set image folder
image_folder = r”
# read input image
image_file = r’/peppers.png’ image_path = image_folder + image_file imgRGB = io.imread(image_path)
# display image
my_display_actual_size(imgRGB,’Input Image’)
# STEP 1 Transform the image into YUV color space #
# Extract the YUV bands of the image using “my_RGB2YUV()” function #
# ADD YOUR CODE BELOW
# STEP 2.a Demonstrate the effect of the Y band on image resolution #
# Decimate the Y band by a factor of 4 in horizontal and vertical directions #
In [12]:
In [13]:
# ADD YOUR CODE BELOW
#
# Interpolate the decimated Y band back to its original size #
# ADD YOUR CODE BELOW
#
# Convert from YUV back to RGB (use the processed Y band) #
# ADD YOUR CODE BELOW
#
# Calculate and print the RMSE between the above image and the original image #
# ADD YOUR CODE BELOW
# STEP 2.b Demonstrate the effect of the U band on image resolution #
# Decimate the U band by a factor of 4 in horizontal and vertical directions #
In [14]:
# ADD YOUR CODE BELOW
#
# Interpolate the decimated U band back to its original size #
# ADD YOUR CODE BELOW
#
# Convert from YUV back to RGB (use the processed U band) #
# ADD YOUR CODE BELOW
#
# Calculate and print the RMSE between the above image and the original image #
# ADD YOUR CODE BELOW
# STEP 2.c Demonstrate the effect of the V band on image resolution #
# Decimate the V band by a factor of 4 in horizontal and vertical directions #
In [15]:
# ADD YOUR CODE BELOW
#
# Interpolate the decimated V band back to its original size #
# ADD YOUR CODE BELOW
#
# Convert from YUV back to RGB (use the processed V band) #
# ADD YOUR CODE BELOW
#
# Calculate and print the RMSE between the above image and the original image #
# ADD YOUR CODE BELOW
# STEP 3 Display the images obtained in STEP 2 above together with the original image #
# Display the original RGB image and the three RGB images obtained above in a 2×2 grid: # [Original RGB] [Y decimated RGB]
# [U decimated RGB] [V decimated RGB] #
In [16]:
# ADD YOUR CODE BELOW
STEP 4 Comments on the results ADD YOUR COMMENTS HERE
Compare the three RGB images obtained in STEP 2 to the original RGB image in terms of (a) visual quality and (b) RMSE value and explain why decimation of different YUV bands have different effects on the RGB image quality.
In [ ]:
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Read moreEach paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Read moreThanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.
Read moreYour email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.
Read moreBy sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.
Read more