본문 바로가기

이미지처리

[PYTHON 3] Tutorials 44. Image Transformation - Resize, Flip, Rotate, Stretch (이미지 변형하기 - 리사이즈, 회전, 뒤집기, 확장...etc) 이번 시간에는 크기 조절, 회전, 뒤집기, 확장 등 이미지 변환에 대해 알아보고자 합니다. 우선 원본 이미지 파일입니다. ▼ 원본 이미지의 현재 크기는 960 x 540 으로 확인됩니다.▼ 프로그램으로 확인해 보아도 동일하게 960 x 540으로 확인이 됩니다. ▼ 아래 코드는 원본을 열고 보여주게 하는 코드입니다. ▼ 960 x 540 사이즈의 이미지를 500 x 500 으로 resize 해 보려고 합니다. 주의할 점은 resize() 메서드 사용시 바깥쪽 () 는 메서드에 해당하는 괄호이며, 내부 () 괄호는 pixel 가로, 세로에 해당하는 괄호입니다. 즉, 괄호가 2개 사용된다는 점입니다. ▼ 강제로 500 x 500 으로 조절한 이미지 입니다. 뭔가 뚱~ 해진듯한 느낌입니다. ▼ 원본 이미지를 .. 더보기
[PYTHON 3] Tutorials 43. Image Merge Effect (서로 다른 채널을 이용 이미지 병합하기 such ghost images) 이번에는 여러 장의 이미지를 가지고 각각의 이미지에서 채널을 분리하여 이 채널(모드)들을 서로 교차시켜 보겠습니다. 간혹 크리피한 이미지들, 가령 귀신 그림마냥 하나의 이미지에 다른 이미지가 살며시 얹혀 있는 그림이 있는데, 이렇게도 구현할 수 있는 방법 중 하나입니다. 말보다는 코드를 통해 보겠습니다. 다소 차이는 있겠으나, 구현 방법은 비슷합니다. 원본 이미지 - 고양이들 찬조출현.▼원본이미지(고양이들)를 열어 cat 이라는 변수에 저장합니다. ▼cat 에서 r,g,b 각각의 채널(모드)로 분리를 합니다. ▼분리한 채널(모드)를 merge(병합) 을 이용하여 새로운 이미지로 만들어 new_img 변수에 저장합니다. ▼이렇게 새로 만든 이미지를 확인하겠습니다. 원본 이미지의 고양이들과 차이가 전~혀 없.. 더보기
[PYTHON 3] Tutorials 42. Getting Individual RGB Channel (RGB 채널 분리하기) 컴퓨터에 저장된 95% 아니, 많게는 99% 이상의 이미지들은 RGB(RED, GREEN, BLUE) 의 조합에 의해 구성된 픽셀(pixel)들입니다. 이번에는 사진에서 각각의 RGB 모드를 따로 분리를 해 보도록 하겠습니다. 사진 편집 프로그램을 다뤄본 사용자라면 각종 효과를 적용시켜 본 경험이 있을텐데요. 이 채널 분리도 그와 유사한 형태로 적용이 가능합니다. 각각의 RGB 를 얼마나 적용하느냐에 따라 사진의 색감이 달라지게 되니까요. 아래는 New York 의 Time Square 의 모습입니다. 원본 이미지.▼ 이미지 처리 모듈인 '필로우'를 불러옵니다.▼ 원본 이미지를 열어 new_york 변수에 저장을 합니다. 그리고 해당 이미지의 모드를 확인하니 RGB 라고 친절히 알려줍니다.▼ 이렇게 알게.. 더보기
[PYTHON 3] Tutorials 40. Cropping Images (이미지 잘라내기) 이전 시간에는 파이썬에서 이미지를 불러오는 모듈인 "Pillow"에 대해 알아보았습니다. 이번에는 이렇게 불러들인 이미지를 기호에 맞게 처리하는 방법 중 하나인 image crop 에 대해 알아보려고 합니다. 앞에서 사용한 코드를 그대로 재활용하겠습니다.▼ 사용할 이미지에서 표시된 부분만 cropping(잘라내기) 후 새로운 파일로 저장을 하려고 합니다. 여기에서 사용할 위치값이 존재하는데, 4개의 인자를 필요로 합니다. (가로 시작점, 세로 시작점, 가로 범위, 세로 범위) 이런 순서로 값을 넣어주어야 합니다.▼ 위에서 언급한 위치값을 area 변수에 저장을 하겠습니다. 가로 시작점:100, 세로 시작점:100, 가로 범위: 1000, 세로 범위:1200 의 값을 area 에 저장을 합니다.▼ 원본 이.. 더보기