To write a python program using OpenCV to do the following image manipulations.
i) Read, display, and write an image.
ii) Access the rows and columns in an image.
iii) Cut and paste a small portion of the image.
iv)To perform the color conversion between RGB, BGR, HSV, and YCbCr color models.
Anaconda - Python 3.7
Choose an image and save it as a filename.jpg ,
Use imread(filename, flags) to read the file.
Use imshow(window_name, image) to display the image.
Use imwrite(filename, image) to write the image.
End the program and close the output image windows.
Convert BGR and RGB to HSV and GRAY
Convert HSV to RGB and BGR
Convert RGB and BGR to YCrCb
Split and Merge RGB Image
Split and merge HSV Image
Developed By: Balachandran S
Register Number: 212222100008
import cv2
image=cv2.imread('NEW ONE.jpg',1)
image=cv2.resize(image,(400,300))
cv2.imshow('display',image)
cv2.waitKey(0)
cv2.destroyAllWindows()
![](https://private-user-images.githubusercontent.com/118886489/305641638-1d031ae7-8812-4e4b-ade9-8cc78050544c.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTEwNzgsIm5iZiI6MTcyMjE5MDc3OCwicGF0aCI6Ii8xMTg4ODY0ODkvMzA1NjQxNjM4LTFkMDMxYWU3LTg4MTItNGU0Yi1hZGU5LThjYzc4MDUwNTQ0Yy5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxODE5MzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02ZGQxMmQ4YTg3OWYwMDg1OWVhOTc1NDA3NTY3MmI4NjY2NzBlNGNjMjAxZjQ1NzZhNjNlYzQzMDllNzdhNjQ2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.XdRWLudDqM7w7qgU-ckwoZz397yMOGa-qWUbPv_vH4s)
import cv2
image=cv2.imread('NEW ONE.jpg',0)
cv2.imwrite('NOPE.jpg',image)
![](https://private-user-images.githubusercontent.com/118886489/305642158-e601465b-9682-4683-a528-fa496463bf09.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTEwNzgsIm5iZiI6MTcyMjE5MDc3OCwicGF0aCI6Ii8xMTg4ODY0ODkvMzA1NjQyMTU4LWU2MDE0NjViLTk2ODItNDY4My1hNTI4LWZhNDk2NDYzYmYwOS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxODE5MzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hOTczMzQ0OWYxOGQwODM1YmY2NWExNmVmYTAzMDAzNzNkNzUzNDliNjY2ZDRmOTYxNGQwNTUxNjE3NzU1MDRhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.V9QBR5t6eQa5m39cK2-NdZ_di13caeB195MjKjQMC_U)
import cv2
image=cv2.imread('NEW ONE.jpg',1)
print(image.shape)
![](https://private-user-images.githubusercontent.com/118886489/305642317-50765677-ebeb-4c79-9fdc-52544e2f55dd.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTEwNzgsIm5iZiI6MTcyMjE5MDc3OCwicGF0aCI6Ii8xMTg4ODY0ODkvMzA1NjQyMzE3LTUwNzY1Njc3LWViZWItNGM3OS05ZmRjLTUyNTQ0ZTJmNTVkZC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxODE5MzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xM2EzMDBhY2FiODAwZGIxZjUwYTYyZGFiNGUwNTQxNjczMzQzMmRjZjEyMTBjMDY4ZDk1OGE3NDEyYmFkZjkxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.s4rUoUFERhTITM91SeTElOJpsyHHacVFsb99b2zjAvg)
import random
import cv2
image=cv2.imread('NEW ONE.jpg',1)
image=cv2.resize(image,(400,400))
for i in range (150,200):
for j in range(image.shape[1]):
image[i][j]=[random.randint(0,255),
random.randint(0,255),
random.randint(0,255)]
cv2.imshow('part image',image)
cv2.waitKey(0)
cv2.destroyAllWindows()
![](https://private-user-images.githubusercontent.com/118886489/305642470-70deb798-953a-4c8f-809d-1a21ebb5aa70.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTEwNzgsIm5iZiI6MTcyMjE5MDc3OCwicGF0aCI6Ii8xMTg4ODY0ODkvMzA1NjQyNDcwLTcwZGViNzk4LTk1M2EtNGM4Zi04MDlkLTFhMjFlYmI1YWE3MC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxODE5MzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03MDUyNDQ1ZGE5NzA1YTA5MDcyYjA2NmNkMTg5MjA1YTQwNWFjOGYxNzM3ZWM3OWZiNWFlNWRjNjQ0MTA4ZTIzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Ae7mJWgox6X0L0M1aelpZBZEgyP3-X3EQX8BbdaVMWc)
import cv2
image=cv2.imread('NEW ONE.jpg',1)
image=cv2.resize(image,(400,400))
tag =image[150:200,110:160]
image[110:160,150:200] = tag
cv2.imshow('partimage1',image)
cv2.waitKey(0)
cv2.destroyAllWindows()
![](https://private-user-images.githubusercontent.com/118886489/305642867-15fff874-ba9e-48e4-9c7a-0b45633731aa.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTEwNzgsIm5iZiI6MTcyMjE5MDc3OCwicGF0aCI6Ii8xMTg4ODY0ODkvMzA1NjQyODY3LTE1ZmZmODc0LWJhOWUtNDhlNC05YzdhLTBiNDU2MzM3MzFhYS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxODE5MzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04MDViOWU1MGRlYTIwNTc3Y2NiYzkzMGQ3ZWIwMGFjYzlhZTJmMTMzYjE4YWJlZGIwYjg1OTgzZGVmMDZiYWE5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.YKUGAp6HWuTsk-U21mYsOWeZWBAeA_ql-LqMw9e4a80)
import cv2
img = cv2.imread('NEW ONE.jpg',1)
img = cv2.resize(img,(300,200))
cv2.imshow('Original Image',img)
hsv1 = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
cv2.imshow('BGR2HSV',hsv1)
hsv2 = cv2.cvtColor(img,cv2.COLOR_RGB2HSV)
cv2.imshow('RGB2HSV',hsv2)
gray1 = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow('BGR2GRAY',gray1)
gray2 = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
cv2.imshow('RGB2GRAY',gray2)
cv2.waitKey(0)
cv2.destroyAllWindows()
![](https://private-user-images.githubusercontent.com/118886489/305642947-488cd41e-a3ee-4c5d-b261-c789f0cc67e4.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTEwNzgsIm5iZiI6MTcyMjE5MDc3OCwicGF0aCI6Ii8xMTg4ODY0ODkvMzA1NjQyOTQ3LTQ4OGNkNDFlLWEzZWUtNGM1ZC1iMjYxLWM3ODlmMGNjNjdlNC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxODE5MzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05NWM5NDFiODRiMTM3YTExN2I1Y2Q5YzhlYmZlNGI5ZmYzNjA3NmYzYmFhOWJjNzYyYjY1YmIyODUyYTI2OGE1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.hx6SmGszfruY9KkmDphPG0P2xSQhCcur0fyrqYGd_Y4)
import cv2
img = cv2.imread('NEW ONE.jpg')
img = cv2.resize(img,(300,200))
img = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
cv2.imshow('Original HSV Image',img)
RGB = cv2.cvtColor(img,cv2.COLOR_HSV2RGB)
cv2.imshow('2HSV2BGR',RGB)
BGR = cv2.cvtColor(img,cv2.COLOR_HSV2BGR)
cv2.imshow('HSV2RGB',BGR)
cv2.waitKey(0)
cv2.destroyAllWindows()
![](https://private-user-images.githubusercontent.com/118886489/305643168-ea3f4953-4df9-471e-ae4a-e9242e0cdbda.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTEwNzgsIm5iZiI6MTcyMjE5MDc3OCwicGF0aCI6Ii8xMTg4ODY0ODkvMzA1NjQzMTY4LWVhM2Y0OTUzLTRkZjktNDcxZS1hZTRhLWU5MjQyZTBjZGJkYS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxODE5MzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mNTg5NTI0NmE5OGIwNmVhOGFmODEzYmE3YWQyMzFlZTk1OGQwMGViYzEwZTMzNjhjNTc3ZjdiMjlmMWE5NmNhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.3u5navsIgl00_7ErqvQdo-pcAKiJrAUHDYJruP_V_R0)
import cv2
img = cv2.imread('NEW ONE.jpg')
img = cv2.resize(img,(300,200))
cv2.imshow('Original RGB Image',img)
YCrCb1 = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
cv2.imshow('RGB-2-YCrCb',YCrCb1)
YCrCb2 = cv2.cvtColor(img, cv2.COLOR_RGB2YCrCb)
cv2.imshow('BGR-2-YCrCb',YCrCb2)
cv2.waitKey(0)
cv2.destroyAllWindows()
![](https://private-user-images.githubusercontent.com/118886489/305643433-29ebbe17-d4b8-45dc-84d4-82e56b1b93b4.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTEwNzgsIm5iZiI6MTcyMjE5MDc3OCwicGF0aCI6Ii8xMTg4ODY0ODkvMzA1NjQzNDMzLTI5ZWJiZTE3LWQ0YjgtNDVkYy04NGQ0LTgyZTU2YjFiOTNiNC5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxODE5MzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00YWYwM2Y3N2E4YzU5NWQwZGIwYWY4YzY1ZjE5YzRlOGVhMDRkZTgwNmI0OGI2MzMwZTY1YzZjODhhNGFlNzYwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.W8R9Y_HocFDpkh_pU_xFd6CcQ555oQDYXf471IX8OlE)
import cv2
img = cv2.imread('NEW ONE.jpg',1)
img = cv2.resize(img,(300,200))
R = img[:,:,2]
G = img[:,:,1]
B = img[:,:,0]
cv2.imshow('R-Channel',R)
cv2.imshow('G-Channel',G)
cv2.imshow('B-Channel',B)
merged = cv2.merge((B,G,R))
cv2.imshow('Merged RGB image',merged)
cv2.waitKey(0)
cv2.destroyAllWindows()
![](https://private-user-images.githubusercontent.com/118886489/305643519-860e80d5-8664-4586-b891-0607478ab71b.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTEwNzgsIm5iZiI6MTcyMjE5MDc3OCwicGF0aCI6Ii8xMTg4ODY0ODkvMzA1NjQzNTE5LTg2MGU4MGQ1LTg2NjQtNDU4Ni1iODkxLTA2MDc0NzhhYjcxYi5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxODE5MzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04MjA2Y2Y1ZmIwMTI3N2JlMTQ2NjEyNWZhZTI0OTVhN2ZmZGRmNTJmOGExMzBlNzBjM2ExMWIzNTJlZGRmNTU2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.HMloAEN98FwvrrKSwSOU0WmJHVJg9LULr7tAlMeJBoc)
import cv2
img = cv2.imread("NEW ONE.jpg",1)
img = cv2.resize(img,(300,200))
img=cv2.cvtColor(img,cv2.COLOR_RGB2HSV)
H,S,V=cv2.split(img)
cv2.imshow('Hue',H)
cv2.imshow('Saturation',S)
cv2.imshow('Value',V)
merged = cv2.merge((H,S,V))
cv2.imshow('Merged',merged)
cv2.waitKey(0)
cv2.destroyAllWindows()
![](https://private-user-images.githubusercontent.com/118886489/305643613-f1f47bb4-d6b1-41ef-87d1-174f211afbf3.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxOTEwNzgsIm5iZiI6MTcyMjE5MDc3OCwicGF0aCI6Ii8xMTg4ODY0ODkvMzA1NjQzNjEzLWYxZjQ3YmI0LWQ2YjEtNDFlZi04N2QxLTE3NGYyMTFhZmJmMy5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxODE5MzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mYjJkMzNiNmFlZjQxMjNlOTBmN2EyMDliMTI1NTc3MGZlZjk3NmY0NTViY2JmZmRkOGQzNWU1OWIxMTE0Y2YzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.T49KCLSPFW-ugHx46OxVOVFelOH5Xc0UXbFXUEiDBM4)
Thus the images are read, displayed, and written ,and color conversion was performed between RGB, HSV and YCbCr color models successfully using the python program.