Manipulating Images
- Shin Yoonah, Yoonah
- 2022년 7월 16일
- 2분 분량
최종 수정일: 2022년 8월 8일
I'm going to introduce you about two functions of manipulating images
1.Copying an Image
Copying which allows you to create a new image independent of the original is frequently used in our life. But, do you know how it works?
This is how computer works when you copy an image
*assume baboon as a png image*
from PIL import image Picture of Memory

import cv2
import numpy as np
baboon = cv2.imread("baboon.png") ----> Stored in 00100010 memory
baboon = np.array(Image.open("baboon.png"))
Use id function to find the object's memory address
id(baboon):00100010
A=baboon ----> Assign the baboon array to "A" (Copying)
id(A):00100010 ---> The memory address is same as the original
B=baboon.copy()
id(B):10101010 ----> The memory address is different
See how the memory address works!!
baboon[;,;,] = 0 -----> Set all the elements to the baboon array to ZERO
The array "A" will change as it points to the same locations in memory
"Baboon" "A" "B"

00100010 00100010 10101010
*Both the baboon array of array "A" will be zero but because we used the copy method array "B" will be unaffected*
2.Flipping images
= changes the image orientation
Flip an image by changing the index value of pixel or intensity
ex) Convert the column indexes to row indexes the image will have a different orientation
For color images *Cube format*
= Convert all the color channels at the same time
Flipping images using PIL & Open CV
1.Using PIL
from PIL import ImageOps
im_flip = ImageOps.flip(Image) ----> flip function to flip the image
im_mirror = ImageOps.mirror(Image) -----> mirror the image using the mirror function
image.transpose(Image.FLIP_TOP_BUTTOM) ----> using transpose() method/the image module has built in attributes to
describe the type of flip
2.Using Open CV
import cv2
im_flip = cv2.flip(Image,0) ----> parameter = flipcode/if flipcode is 0, flip vertically around the 4 axis
im_flip = cv2.rotate(Image, cv2.Rotate_90_CLOCKWISE) ---> rotate() function; open CV module has built-in
attributes to describe the type of flip
---> Values are represented by integers
Copyright Coursera All rights reserved
Comments