2022.04.22 금일은 Open CV의 주로 사용되고있는 함수에 대한 강의였다.
전 강의와 블로그에서도 설명했었던 imread 함수가 다시 강의에서 설명되었다.
imread의 Default ( 기본값 )은 Color인데
이는 컬러영상을 로드하게 되어도 문제없이 로드된다는 것인데이를 GrayScale로 아주 간단하게 바꿀 수 있었다.
imread의 매개변수에 flag라는 변수가 있는데 이를cv.IMREAD_GRAYSCALE 이라는 상수값으로 받아올 경우 트루컬러 영상을 흑백영상으로 받아올 수 있는 기능이 있었다.이외에도 IMREAD_UNCHANGED라는 영상 파일 속성을 그대로 로드하는 상수값도 사용할 수 있다.
또한 이미지의 저장도 아주 간단하게 할 수 있는데imwrite라는 함수로 간단하게 영상을 저장할 수 있다.경로를 바꿔주고싶다면 filename의 매개변수에 경로와 파일이름을 넣어주면 되는데중요한 건 확장자명도 같이 입력해 줄 수 있다는 것이다.
내가 Cat이라는 영상을 jpg로 저장하고싶다면 Cat.jpg
png로 저장하고 싶다면 Cat.png라는 filename을 지정해주면 간단하게 확장자 변환을 하여 저장할 수 있다.
namedwindow라는 함수에서는
영상을 show할 수 있는 Window창을 생성해주는 함수인데
영상크기를 조절할 수 있는 상수들이 플래그가 존재한다.
WINDOW_NORMAL 과 WINDOW_AUTOSIZE라는 플래그가 존재한다.
NORMAL은 윈도우 창 사이즈를 자유롭게 조절할 수 있는데 모니터 해상도가 낮아
영상을 볼 수 없을 때 활용하는 것이 효율적이다.
destroywindow라는 함수에서는
생성된 Window창을 다시 반환시켜주는 함수인데
사실 프로그램이 종료될때 자동으로 반환되기때문에
특정 함수에서 윈도우 창을 종료하고 싶은 상황이 아니거나
간단하게 프로그램을 짜는 경우에서는 굳이 사용하지 않아도 된다고 한다.
imshow라는 함수에서는
생성된 window이름을 넣어줘야하는데 혹시 코드 위에서 깜빡하고 생성하지 않았다고 해서 큰일이 나지는
않는 것 같다.
만약 해당되는 window창이 없을때에는 자동으로 생성이 된다고 하니
이또한 정말 좋은 기능인 것 같다.
여기서 또 중요한게 있다.
uint16 이나 int32의 우리가 일반적으로 많이 사용하는 자료형을 가진 행렬이 입력으로 들어오게 되면
행렬 원소값을 255로 나눠서 출력한다고 하는데
이게 무슨 말이냐면
uint 16 이나 int32의 범위를 보게되면
0~65535의 범위값을 가지는 정수들의 자료형인데
예를 들어 65535라는 값 어떠한 원소가 가지고 있다면 이를 255로 나눠서 사용한다는 것이다.
65535를 255로 나누면 255.99609375 라는 값이 나오게 되는데 이는 버려져서 255라는 값으로 사용될 것 같다.
어떻게 보면 좋은 기능이지만 원소를 건드리기 때문에 사실 영상에 변환 ( 손실 )이 가게되고
이렇게 사용하지 않는 것이 가장 좋을 것 같다.
이 외에도 float32, float64는 행렬원소값에 255를 곱해서 출력... 등이 있는데 위와 동일 한 말일 것 같다.
마지막으로
WaitKey라는 함수는
반환값이 있는데 우리가 입력한 키보드값을 ASCII로 변환하여 반환해준다.
따라서 이를 잘 이용하면 키도드에 따른 기능활용을 잘 할 수 있을 수 있다.
주요 특수키 코드에는 ESC : 27 ENTER : 13 TAB : 9 가 있다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
'Program > OPEN_CV' 카테고리의 다른 글
[Open CV] OpenCV-Python 시작하기 _ 실전코딩 ( 이미지 슬라이드쇼 ) (0) | 2022.04.24 |
---|---|
[Open CV] OpenCV-Python 시작하기 _ Matplotlib 사용하여 영상 출력하기 (0) | 2022.04.23 |
[Open CV] OpenCV-Python 시작하기 _ 영상 파일 불러와서 출력하기 (0) | 2022.04.21 |
[Open CV] OpenCV-Python 시작하기 _ VS Code 설치와 개발 환경 설정 (0) | 2022.04.20 |
[Open CV] OpenCV-Python 시작하기 _ OpenCV 소개와 설치 (0) | 2022.04.19 |