0% found this document useful (0 votes)
55 views

Lab 02

The document provides 11 exercises to practice common image processing techniques in Python using OpenCV. The exercises cover image transformations including rotation, scaling, translation, and perspective transforms. They also cover color space conversions between RGB, gray, CMY, YCbCr, YIQ, YUV color spaces and calculating metrics to compare images like MSE and PSNR. The final exercise is to build a program to perform these tasks using argparse for command line arguments.

Uploaded by

Lê Thanh Tùng
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views

Lab 02

The document provides 11 exercises to practice common image processing techniques in Python using OpenCV. The exercises cover image transformations including rotation, scaling, translation, and perspective transforms. They also cover color space conversions between RGB, gray, CMY, YCbCr, YIQ, YUV color spaces and calculating metrics to compare images like MSE and PSNR. The final exercise is to build a program to perform these tasks using argparse for command line arguments.

Uploaded by

Lê Thanh Tùng
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Ton Duc Thang University

Faculty of Information Technology

4 Exercises
Exercise 1: Write a function to transform an input image based on the following transformation:
1. Rotation with the different degrees (45, -45, 120, -120, 180, 270)
2. Scaling images with scale = 2, 1/2
3. Translation image with tx = 50, ty = 100
For each case, the image result is saved with jpg format

Hint:
• cv2.warpAffine(img,M,(w, h))
• cv2.getRotationMatrix2D(center, angle, scale)

Exercise 2: Write a function to perform perspective transformation for images on Google Drive of lab2.
1. With book.png, P = {(159.0, 125), (263, 183), (160, 336), (38, 234)}
2. With paper1.png, P = {(33, 97), (292, 111), (436, 457), (162, 577)}
3. With ex2.png, P = {(36, 62), (196, 19), (238, 102), (59, 163)}

Hint:
• cv2.getPerspectiveTransform(point1, point2)
• cv2.warpPerspective(I, M, (width, height))

Exercise 3: Write functions to convert an image from RGB color-space to gray with the following cases:
1. The lightness method averages the most prominent and least prominent colors: (max(R, G, B) +
min(R, G, B))/2
2. The average method simply averages the values: (R + G + B)/3.
3. The luminosity method is a more sophisticated version of the average method:
(a) 0.21R + 0.72G + 0.07B
(b) 0.299R + 0.7587G + 0.114B
Exercise 4: Write functions to convert an image from RGB color-space to CMY color-space and reverse
with the following equation:      
C 255 R
M  = 255 − G
Y 255 B

Exercise 5: Write functions to convert an image from RGB color-space to YCbCr and reverse which based
on the equation below:
 
219(0.299R + 0.587G + 0.114B)
  16 +
Y  255 
 
Cb = 128 + 224(−0.169R − 0.331G + 0.5B) 
 255 
Cr  
224(0.5R − 0.419G − 0.081B)
128 +
255

Anh H. Vo - vohoanganh@tdtu.edu.vn 8
Ton Duc Thang University
Faculty of Information Technology

 
256(Y − 0.00093Cb + 0.114Cr)
  −16 +
R  219 
 
G =  −128 + 256(Y − 0.3437Cb − 0.71417Cr) 
 224 
B  
256(Y − 1.77216Cb − 0.00099Cr)
−128 +
224
Exercise 6: Write function to conversion between RGB and YIQ with the following equations
    
Y 0.299 0.587 0.114 R
 I  = 0.596 −0.274 −0.322 G
Q 0.211 −0.523 0.311 B
    
R 1.0 0.956 0.621 Y
G = 1.0 −0.272 −0.649  I 
B 1.0 −1.106 1.703 Q
Exercise 7: Write function to conversion between RGB and YUV with the following equations
    
Y 0.299 0.587 0.114 R
U  = −0.147 −0.289 0.436  G ,
V 0.615 −0.515 −0.100 B
    
R 1.0 0.0 1.140 Y
G = 1.0 −0.395 −0.581 U 
B 1.0 2.032 0.00 V

Exercise 8: Write functions to compare two images according to the following:


• Mean Squared Error (MSE) :
m−1 n−1
1 ��
M SE = [f (x, y) − g(x, y)]2 , a value of 0 for MSE indicates perfect similarity
m.n i=0 j=0
• Peak Signal to Noise Ratio (PSNR):
M2
P SN R = 10log10
M SE
where M is the maximum of the intensity values in an image.
Exercise 9: Write a program to evaluate the results between the transform images and the original image
from the previous exercises.
1. Using MSE
2. Using PSNR
Exercise 10: Write a program to compute the negative image of each gray image which converted in
exercise 3.
Exercise 11: Write a simple digital image processing program which performs the previous tasks (Exercise
1 - 9). It notes that the arguments are typed on command line by using argparse library

Hint:
import argparse
parser = argparse.ArgumentParser()
parser.add argument(’square’, help=’display a square of a given number’, type=int)
args = parser.parse args()
print(args.square**2)

Anh H. Vo - vohoanganh@tdtu.edu.vn 9

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy