OpenCV 에서 Basic image processing 는 다음과 같이 9가지를 이야기 하고 있습니다.1: Translation (상하, 좌우 이동)2: Rotation (그림의 회전 ,중심축이 어디냐?)3: Resizing (이미지의 사이즈 조정, Aspect Ratio고려)4: Flipping (수평, 수직으로 뒤집기)5: Cropping (그림 일부만 가져오기)6: Image arithmetic (그림을 더 진하게, 연하게 만들기)7: Bitwise operations (그림의 Bit 연산)8: Masking (마스크)9: Splitting and merging channels ( Color Channel 로 나누고, 합치고)오늘은 Resizing, Flipping에 대해서 알아보겠습니다.Res..
OpenCV 에서 Basic image processing 는 다음과 같이 9가지를 이야기 하고 있습니다.1: Translation (상하, 좌우 이동)2: Rotation (그림의 회전 ,중심축이 어디냐?)3: Resizing (이미지의 사이즈 조정, Aspect Ratio고려)4: Flipping (수평, 수직으로 뒤집기)5: Cropping (그림 일부만 가져오기)6: Image arithmetic (그림을 더 진하게, 연하게 만들기)7: Bitwise operations (그림의 Bit 연산)8: Masking (마스크)9: Splitting and merging channels ( Color Channel 로 나누고, 합치고)오늘은 Transition 과 Rotation 두가지만 알아보겠습니다...
우선 제가 말씀 드리는 내용은 반드시 실습을 해 보셔야 합니다.그렇게 했을 때, 내것이 될 수 있습니다. 그냥 눈으로만 보고 지나간다면 1시간 뒤면 내 기억속에서 사라집니다. 그리고 실습은 가능한 Jupyter notebook으로 하시기 바랍니다.jupyter notebook은 pip 나 anaconda, miniconda 설치로 가능합니다. OpenCV는 이벤트 처리가 쉽고, 그림을 그리는 것이 매우 쉽다. 우선 OpenCV가 가지고 있는 모든 이벤트를 보기위해서 다음과 같이 하면 OpenCV가 지정한 모든 것을 볼 수 있습니다. 그런데 이렇게 하면 너무 많아서 찾기 어려우니... 1234import cv2 for name in dir(cv2): print(name)cs 다음과 같이 하시는 것이 휠씬 ..
이것이 대상 이미지입니다. 우선 해당 이미지에 대한 정보를 보면, 파일 타입은 png, 파일 Size : 579Kb 이고, Width 600, Height : 475 이고, BGR(Blue, Green, Red)의 3개 Channel로 구성되어 있습니다. (왜 BGR로 표시하는 지를 이 글을 읽어보시기 바랍니다. 전혀 중요하지 않지만...) 즉 이 파일을 메모리에 올리면, 600 x 475 x 3 = 855 Kb 메모리를 차지하면서 처리가 되는 것입니다. png 이미지를 jpg로 저장하면, 사이즈가 많이 줄어드는 모습을 볼 수 있습니다. png file size : 579 Kb ==> jpg file size : 173 Kb 로 줄어드는 것을 볼 수 있는데, 이것은 png는 이미지 무손실 압축을 하기 때..
이미지를 주제로 공부를 한지 1년, 이제 공부했던 것들을 정리하면서 내 생각도 정리하고, 해당 내용들을 다른 사람들과 공유해 보고자 한다. 첫번째 주제로 "왜 RGB가 아니라 BGR 로 저장할까?" 사실 그동안 이미지와 색은 RBG로 공부를 해 왔는데, OpenCV의 시작은 BGR로 시작을 한다.그래서 왜 그런지 이유를 찾아 보니, 대가의 어이 상실 답변을 찾았다. 해당 책의 작가는 Dr. Adrian Rosebrock 로 https://www.pyimagesearch.com/ 사이트를 운영하고 있고, 이 분이 만든 PyImageSearch Gurus Course를 통해서 OpenCV에 대한 공부를 하였다. 왜 OpenCV에서는 RGB가 아니라 BGR 로 저장할까?별로 중요하지 않고, OpenCV 개발할..