Presentation is loading. Please wait.

Presentation is loading. Please wait.

Spring, 2019 School of CSE Pusan National University

Similar presentations


Presentation on theme: "Spring, 2019 School of CSE Pusan National University"— Presentation transcript:

1 Spring, 2019 School of CSE Pusan National University
Image 파일 다루기 Spring, 2019 School of CSE Pusan National University

2 학습목표 학습목표 Python의 Pillow 모듈을 사용하여 이미지를 조작하는 다양한 프로그래밍을 익힌다.

3 Python의 PIL(Python Image Library) 모듈
Python의 media 모듈 Python의 PIL(Python Image Library) 모듈 설치하기 pip install pillow 를 윈도우 cmd 창 에서 입력하여 PIL 모듈을 다운로드 받는다.

4 이미지 열기 아래의 명령어를 실행합니다. >>> from PIL import Image
>>> im = Image.open(“filename.jpg”) >>> im.show()

5 이미지 처리 사진 정보 구하기 사진 자르기 사진에 글자 삽입하기 이미지 처리 >>> im. width()
500 >>> im. height() 375 사진 자르기 >>> box = (20, 20, 100, 100) >>> im = im.crop(box) >>> im.show() >>> im.save_as('pic207cropped.jpg' ) 사진에 글자 삽입하기 >>> from PIL import Image, ImageFont, ImgeDraw >>> im = Image.open(“images.jpg) >>> font = ImageFont.truetype(“abel-regular.ttf”, 16) >>> draw = ImageDraw.Draw(im) >>> draw.text((0,0), “Sample Text”, (0,0,0), font = font)

6 칼라 흑백 변환 칼라 흑백 변환 칼라 사진을 흑백 사진으로 바꾸기
그림 파일의 각 픽셀을 대상으로 빨강, 초록, 파랑 값의 평균을 계산한 후 빨강, 초록, 파랑 값을 앞에서 구한 평균값으로 설정하면 된다. >>> from PIL import Image >>> im = Image.open(“images.jpg”) >>> for i in range(im.height): for j in range(im.width): p = list(im.getpixel((j, i))) grey = (p[0] + p[1] + p[2]) // 3 p[0], p[1], p[2] = (grey, grey, grey) p = tuple(p) im.putpixel((j, i), p) >>> im.show(pic)

7 그림 겹치기 그림에 그림 삽입하기 그림 겹치기 한 그림에 새로운 그림 삽입하기 두 개의 그림 파일을 사용한다.
from PIL import Image im1 = Image.open(‘image1.jpg’ ) im2 = Image.open(‘image2.jpg' ) width, height = im2.width, im2.height for y in range(0, height): for x in range(0, width): from_p = im2.getpixel((x, y)) to_p = im1.putpixel((10 + x, 10 + y), from_p) im1.show()

8 기타 다양한 예제 두 번 보여주기 색상 조정 사용자가 선택한 그림 파일을 두 번 보여주는 프로그램
from PIL import Image im = Image.open(“image.jpg”) im.show() 색상 조정 사용자가 선택한 그림 파일에서 각 픽셀의 초록 값을 반으로 줄인 후 보여주는 프로그램 for y in range(im.height): for x in range(im.width): p = list(im.getpixel(x, y)) p[2] = p[2] // 2 im.putpixel((x, y), tuple(p))

9 연습문제 정사각형으로 구성된 모자이크 필터를 구현하여라 문제를 단순화하기 위해 각 정사각형의 너비를 10픽셀이라고 가정한다
정사각형의 색은 내부 100 픽셀의 평균치다 두 색의 평균은 다음과 같이 계산한다 red = (red_1 + red_2)/2 green = (green_1 + green_2)/2 blue = (blue_1 + blue_2)/2 사용되는 그림 파일은 임의로 선정하여 사용하라

10 요약 Python에서 사용할 수 있는 다양한 모듈 중에서 image 모듈을 사용하는 방법을 익혔다.
칼라 흑백 변환, 그림 겹치기, 그리고 그림 색상 조정 등 컴퓨터에서 그림 파일을 조작하는 방법을 학습하였다.


Download ppt "Spring, 2019 School of CSE Pusan National University"

Similar presentations


Ads by Google