-
[OpenCV]_2. OpenCV 이미지 다루기programming/Python 2021. 1. 26. 17:26
Opencv의 가장 기초인 이미지 다루기 입니다.
이미지 읽기
cv2.imread()
import cv2 img01 = cv2.imread('D:\Desktop\ssca_en-core\OpenCV\images\myImg\lena.jpg', cv2.IMREAD_COLOR) img01 = cv2.imread('D:\Desktop\ssca_en-core\OpenCV\images\myImg\lena.jpg', 1) #cv2.IMREAD_COLOR 과 동일합니다. img02 = cv2.imread('D:\Desktop\ssca_en-core\OpenCV\images\myImg\lena.jpg', cv2.IMREAD_GRAYSCALE) img03 = cv2.imread('D:\Desktop\ssca_en-core\OpenCV\images\myImg\lena.jpg', cv2.IMREAD_UNCHANGED) img01.shape #출력값(256, 256, 3)
cv2.imread(fileName, flag) 이용하여 이미지 파일을 읽습니다. 이미지 파일의 경로는 절대/상대 모두 가능합니다.
이미지 파일을 flag값에 따라서 읽습니다. 위의 코드와 같이 flag에는 3가지 방법이 있습니다.
- cv2.IMREAD_COLOR : 이미지 파일을 Color로 읽어들입니다. 투명한 부분은 무시되며, Default값입니다. 숫자로 1입니다.
- cv2.IMREAD_GRAYSCALE : 이미지를 Grayscale로 읽어 들입니다. 실제 이미지 처리시 가장 많이 사용합니다. 숫자로 0입니다.
- cv2.IMREAD_UNCHANGED : 이미지파일을 alpha channel까지 포함하여 읽습니다. 숫자로 -1 입니다.
img.shape을 이용하여 img가 어떤 형태의 행렬인지 확인합니다. 확인하면 이미지는 3차원 행렬로 반환됩니다.
(256,256,3) 으로 반환되는데요 순서대로 Y축(세로) X축(가로) , 3은 색을 표현하는 BGR값입니다. 보통은 RGB로 많이 표현하는데 opencv는 B(Blue), G(Green), R(Red)로 표현을 합니다.
이미지 보기
cv2.imshow()
cv2.imshow('Original', img01) cv2.imshow('Grayscale', img02) cv2.imshow('Unchange', img03) cv2.waitKey(0) cv2.destroyAllWindows()
cv2.imshow(title, image) 읽어드린 이미지를 원도우창에 보여줍니다.
- title (str) – 윈도우 창의 이름
- image (numpy.ndarray) – cv2.imread() 의 return값, 이미지
cv2.waitKey() 는 keyboard입력을 대기하는 함수로 0이면 key입력까지 무한대기이며 특정 시간동안 대기하려면 값을 넣어주면 됩니다.
cv2.destroyAllWindows() 는 화면에 나타난 윈도우를 종료합니다.
cv2.waitKey(0) 와
cv2.destroyAllWindows() 는 항상 같이사용하면 됩니다.
실행이미지
이미지 저장하기
cv2.imwrite()
cv2.imwrite('Lenagray.png', img02) cv2.imwrite('Lenaunchange.png', img03)
cv2.imwrite(fileName, image)를 이용해서 이미지를 저장합니다.
- fileName (str) – 저장될 파일명
- image – 저장할 이미지
'programming > Python' 카테고리의 다른 글
[OpenCV]_4. OpenCV 이미지 Processing (0) 2021.02.07 [OpenCV]_3. OpenCV 도형 그리기 (0) 2021.02.06 [OpenCV]_1. OpenCV 시작하기 (0) 2021.01.25 [Python]_6. 리스트(List) (0) 2021.01.24 [Python]_5. 반복문(For,While) (0) 2021.01.02