파이썬 OpneCv를 활용해서 컬러사진을 흑백사진으로 만들고 저장하기.
첫 수업이 시작되고 첫 과제가 나왔다.
물론 코로나로 인해서, 싸강으로 진행되었다. 설레는 마음으로 등교하고 싶었는데 아쉽게 되었다.
첫 과제의 메인 문제는, 간단했는데, 거의 출석 확인용이었다.
그래도 복습할 겸 기록으로 남겨보려고 한다.
내용은 이제 컬러사진이 주어지는데 이 사진을 우리가 알고있는 흑백사진으로 바꾸고, 이걸 저장하는 문제였다.
코드는 간단하다.
먼저 openCv모듈을 설치 해 줘야 하는데, 이 과정은 따로 포스팅을 해야겠다.
opencv를 설치 했으면 이제 불러오고 코드를 짜 주면 된다.
흑백으로 처리해야 할 사진은 이 사진이다.
lena라는 사진인데 영상처리 쪽에서는 매우 유명한 사진이라 한다.
이 사진을
이처럼 바꿔주는 것이다.
검색하면서 짠 코드는 아래와 같다.
import cv2 import numpy as np img = cv2.imread("lena_color_256.tif",cv2.IMREAD_COLOR) cv2.imshow("color_image",img) gray_img = cv2.imread("lena_color_256.tif",cv2.IMREAD_GRAYSCALE) cv2.imshow("grayscale_image",gray_img) cv2.imwrite("gray_lena.tif",gray_img) cv2.waitKey()
먼저 나는 IDE로 파이참을 사용한다. 파이참 프로젝트가 있는 폴더 내에,
컬러 사진 파일을 넣어야한다. 위치를 찾아서 imread("1","2") 1에 써 줘도 되지만,
나는 귀찮으니까 그냥 위와같은 방식을 사용했다. 1에 그냥 파일 이름을 써 주면 된다.
cv2.imread(1,2)는 이제 1번의 사진을 내가 2번의 방법으로 보고싶다. 라는걸 의미하는 것 같다.
cv2.imshow(a,b)는 이제 읽은 사진 파일을 이제 a의 이름으로 b의 형태로 보여줘. 라는걸 의미하는 것 같다.
cv2.imwrite(가,나)는 "가"의 이름으로 내가 만든 "나"의 사진을 저장해줘. 라는 의미이다.
근데 그냥 위에 설명한 코드만 쓰고 실행을 하면, 창이 떴다가 바로 사라져버린다.
여기서 이제
cv2.waitKey()를 해 줘야한다. 대충 기능을 보니까, 이건 키 하나를 입력받을때까지 잠시 기다린다는 의미이다.
아직 영상처리 배우기 첫단계라 좀 포스팅을 두서없이 쓴것 같다.
그래도 배워가면서 천천히 수정 해 볼 것이다.
'언어 > python3' 카테고리의 다른 글
파이썬/ 문자열 특정한 자리수로 나누기, python (0) | 2020.12.13 |
---|---|
[파이썬/python] 파이썬 문자열에서 특정 문자 제거, 변경 (1) | 2020.03.19 |
[파이썬/python] 리스트의 원소로 인덱스에 접근하기 (0) | 2020.03.19 |
[파이썬/python] 리스트 안에있는 특정 원소의 개수 (1) | 2020.03.19 |
파이썬 | 문자를 아스키코드로 바꾸기 (0) | 2020.03.16 |
댓글