import cv2
img_color = cv2.imread('Billiard.jpg', cv2.IMREAD_COLOR)
cv2.namedWindow('Show Image')
cv2.imshow('Show Image',img_color)
cv2.waitKey(0)
cv2.destroyAllWindows()
이번 영상에서는 이미지 파일을 읽어와 화면에 보여주고,
다시 파일로 저장하는 방법을 다룬다.
강좌는 파이참을 사용하여 진행한다.
진행하기 전에 이미지 파일을 프로젝트에 추가해주어야 한다.
다운로드 한 이미지를 프로젝트 이름 위에 드래그 앤 드롭을 해준다.
추가된 이미지를 더블 클릭하면 해당 이미지를 열어볼 수 있다.
프로젝트 이름을 선택하고 마우스 오른쪽 버튼을 눌러 Python 버튼을 누릅니다.
example을 입력하고 프로젝트 파일을 만듭니다.
img_color = cv2.imread('Billiard.jpg', cv2.IMREAD_COLOR)
cv2.imread 값을 리턴해서 변수에 대입하여 이미지를
Color 이미지에 접근하도록 합니다.
첫 번째 아규먼트는 읽어올 이미지 파일입니다.
절대 경로 및 상대 경로 모두 가능하다.
두 번째 아규먼트는 이미지를 읽을 때 사용하는 플래그이다.
retval = cv.imread(filename[, flags])
cv2.IMREAD_COLOR : 투명도 정보를 가진 알파 채널을 무시하고 이미지 파일을 컬러로 읽습니다.
cv2.IMREAD_GRAYSCALE : 이미지 파일을 grey scale 이미지로 읽어옵니다.
cv2.IMREAD_UNCHANGED : 투명도 정보를 가진 알파 채널을 포함하여 이미지 파일을 컬러로 읽습니다.
두 번째 플래그는 다음 3가지를 주로 사용한다.
import cv2
img_color = cv2.imread('Billiard.jpg', cv2.IMREAD_COLOR)
cv2.namedWindow('Show Image')
cv2.imshow('Show Image',img_color)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.namedWindow('Show Image')
namedWindow() 함수를 호출하여 윈도의 컬러 이미지가 보이도록 한다.
첫 번째 아규먼트가 윈도 식별자이다.
namedWindow() 함수는 트랙바를 윈도에 붙이는 등 특별한 경우를 제외하고는 생략이 가능하다.
cv2.imshow('Show Image',img_color)
imshow() 함수를 사용하여 지정한 윈도의 이미지를 보여준다.
namedWindow() 함수 선언 없이도 cv2.imshow()로 선언해도 윈도가 자동으로 생성된다.
첫 번째 아규먼트는 윈도 식별자이다.
두 번째 아규먼트는 윈도에 보여줄 이미지의 변수이다.
실행하면 첫 번째 아규먼트를 타이틀로 하는 윈도가 생성된다.
cv2.waitKey(0)
아규먼트로 지정한 시간만큼 사용자의 키보드 입력을 대기한다
단위는 초이다.
아규먼트를 0으로 하면 키보드 입력을 무한히 대기한다.
윈도를 키보드 입력이 있을 때까지 화면에 띄워놓기 위해 사용한다.
cv2.destroyAllWindows()
프로그램 종료 전 윈도를 위한 자원을 해제한다.
컬러이미지가 포함된 윈도우를 확인할 수 있다.
아무 키나 누르면 윈도가 닫히고 프로그램이 종료된다.
다시 실행할 때에는 맨 위에 사선 창 버튼을 클릭 후
실행 -> 소스 코드 파일 이름이 붙은 'Python:example' 다시 실행 버튼을 눌러준다.
그레이스케일 이미지로 변환
컬러 이미지를 그레이스케일 이미지로 변환한다.
img_grey = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY)
cv2의 컬러 변환 함수, cvtColor()를 사용해서 컬러 이미지를 그레이스케일로 변환한다.
cvtColor 함수의 첫 번째 아규먼트로는 변환할 대상 이미지를 지정한다.
두 번째 아규먼트로는 변환할 색 공간을 지정해 준다.
여기선 컬러이미지를 그레이 스케일 이미지로 변환하겠다고 지정하였다.
cvtColor 함수의 리턴이 img_grey 가 된다.
cv2.imshow("Show Image", img_grey)
cv2.waitKey(0)
윈도의 그레이 스케일 이미지를 보이도록 하고, 키보드 입력을 대기하도록 한다.
먼저 윈도에 컬러 이미지가 보인다.
그리고 Key 아무거나 누르게 되면
그레이 스케일 이미지로 변환되어 보여진다.
한 번 더 Key 아무거나 누르면 프로그램이 종료된다.
만일 컬러이미지와 그레이 스케일 이미지를 동시에 보고 싶다면
cv2.imshow("Show GrayScale Image", img_grey)
윈도 이름을 새로운 이름으로 수정하면 된다.
프로그램을 실행하면 컬러 이미지와 그레이 스케일 이미지가 별도의 윈도에서 각각 보인다.
이미지 저장하기
변환된 그레이스케일 이미지를 저장해보자.
cv2.imwrite('savedImage.jpg',img_grey)
imwrite 함수를 사용하여 이미지를 파일로 저장할 수 있다.
imwrite() 함수 첫번째 아규먼트는 저장할 파일 이름을 지정한다.
두번째 아규먼트로 저장할 이미지 변수를 지정한다.
프로그램을 종료시키면 프로젝트 창에 이미지 파일이 추가된다.
해당 파일을 더블클릭해보면 그레이 스케일 이미지를 볼 수 있다.
import cv2
img_color = cv2.imread('Billiard.jpg', cv2.IMREAD_COLOR)
cv2.namedWindow('Show Image')
cv2.imshow('Show Image',img_color)
cv2.waitKey(0)
img_grey = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY)
cv2.imshow("Show Image", img_grey)
cv2.waitKey(0)
cv2.imwrite('savedImage.jpg',img_grey)
cv2.destroyAllWindows()
이번 영상에서는 opencv 영상을 사용하기 위해 기본이 되는
이미지를 불러오는 방법과 화면에 보여주고 다시 파일로 저장하는 방법을 알아보았다.
다음 영상에서는 웹캠과 동영상 다루는 방법에 대해 알아보자.
https://youtu.be/w8iO9X5jcf8?list=PLwfJJiO20qkDue05S5MNhgYNnClMVlagN
'Computer Vision > OpenCV : Python' 카테고리의 다른 글
강좌 - 1. PyCharm에서 OpenCV 사용하는 방법 (0) | 2025.03.26 |
---|