반응형

분류 전체보기 26

OpenCV 강좌 4 - 도형을 그리자.

이번 강좌에서는 OpenCV를 활용해 그림을 그려보도록 하자. "도형을 왜 그려요?" 위와 같은 의문이 들 수도 있다. 백문불여일견[ 百聞不如一見 ] 이라 하던가. 다음 그림을 보고 아! 하고 무릎을 탁 치며 "도형을 그려 어디다 사용하려고!!"라고 생각한 이전의 나를 반성해보도록 하자. 이 그림을 보고 왜 우리가 도형을 그리는 법을 배워야 하는지 대부분이 알 것이다. 우리가 실제 코드를 작성하고 그 결과를 확인하기 위한 가장 좋은 방법은 영상위에 그 결과를 시각화하는 것이다. 단순히 x, y 좌표값을 주면 솔직히 코드가 제대로 작동하는지 잘 모른다. 단순한 도형 그리기 라도 기본기라고 생각하고 제대로 배워보자. 각종 도형 그리기 함수 함수 설명 cv2.line(img, pt1, pt2, color, t..

OpenCV이 BGR 포맷을 쓰는 이유

이미지를 불러오거나 우리가 도형을 그리기 위해 color에 입력하는 순서는 흔히 접하는 RGB 순서가 아니라 BGR 순서이다. 왜 그런지 가끔씩 호기심이 들 때가 있어 이번 포스팅에서는 그 이유에 대한 해답을 알아가 보자. 왜 BGR을 쓸까? rgb = bgr[:,:,::-1] 우리가 OpenCV를 사용하다 보면 위 코드를 자주 사용하게 된다. 우리 일상에서는 RGB순으로 대부분 사용할 것이다. 하지만 OpenCV는 BGR을 기본 포맷으로 사용하기 때문에 위 코드를 이용해 RGB순서로 배열을 바꿔줘야 하는 번거로움이 있다. https://www.learnopencv.com/why-does-opencv-use-bgr-color-format/ Why does OpenCV use BGR color format..

OpenCV2 강좌 3 - 비디오 프레임 캡처 및 표시

저번 강의에서는 이미지 파일을 입출력을 배웠습니다. 이번 시간에는 동영상의 입출력에 대해 배워볼까 합니다. 비디오란? 비디오를 다루려면 비디오에 대한 구성을 알고 있어야 합니다. 비디오를 간단히 생각하면 이전에 배운 여러 장의 이미지 파일이 순차적으로 재생되면서 잔상효과로 인하여 마치 실제 움직이는 것처럼 보입니다. 비디오 캡처는 아날로그 비디오를 디지털 비디오로 변환하는 과정입니다. 프레임(frame, 동영상을 구성하는 사진 1장 단위)은 비디오에서 캡처한 한 장의 영상입니다. 비디오는 이러한 프레임으로 구성된 연속 시퀀스(Sequence)입니다. 비디오 캡처와 관련된 함수 함수 설명 출력 cv2,VideoCapture(device) 웹캠 같은 장치에서 비디오를 불러온다. 카메라가 한개이면 0, 두 개..

OpenCV 강좌 2 - 영상 입출력과 Display

이전까지 OpenCV를 설치하는 과정까지 진행하였습니다. 오늘은 OpenCV를 활용하여 이미지, 동영상을 불러오고 컴퓨터에서 화면을 띄우는 과정까지 진행하도록 하겠습니다. 함수 설명 출력 cv2.imread(filename, flags) 영상파일(BMP,JPEG,PNG,TIFF 등)을 numpy.ndarray의 배열로 읽어 반환한다. retval cv2.imwrite(filename,img) numpy.ndaaray의 배열 img를 filename의 영상파일로 저장 retval cv2.namedWindow(winname,flag) winname을 갖는 윈도우를 생성한다. X cv2.imshow(winname, img) img를 winname에 표시한다. X cv2.witKey(delay) delay만큼(..

OpenCV 강좌 1 - Pycharm에서 OpenCV를 사용하자.

이제부터 본격적으로 OpenCV에 관해서 다루어 보겠습니다. Pycharm 설치에 관한 글들은 제 블로그가 아니라도 흔히 찾아보실 수 있습니다. 혹시 아직 pycharm을 설치하시지 않으신 분은 다른블로그에서 설치하고 오세요.(굳이 Pycharm이 아니라 일반 Python IDE에서 OpenCV를 사용하셔도 됩니다,) 혹시 OpenCV가 무엇인지 궁금하신 분들은 이전 포스팅 [Python/OpenCV 강좌] - OpenCV 강좌 0 - 강좌에 앞서을 참고하시면 되겠습니다. OpenCV 강좌 0 - 강좌에 앞서 오늘부터 OpenCV에 관해 공부하면서 복습 겸 블로그에 OpenCV에 관한 강좌를 올리게 되었습니다. 그래서 오늘은 OpenCV란 무엇이고, 강좌에 사용될 환경에 관해 드리겠습니다. OpenCV개..

OpenCV 강좌 0 - 강좌에 앞서

오늘부터 OpenCV에 관해 공부하면서 복습 겸 블로그에 OpenCV에 관한 강좌를 올리게 되었습니다. 그래서 오늘은 OpenCV란 무엇이고, 강좌에 사용될 환경에 관해 드리겠습니다. OpenCV개요 OpenCV(Open Source Computer Vision)는 영상처리, 컴퓨터 비전, 비디오 처리, 기계학습(흔히 인공지능이라고 알고 있는) 학습에 관한 라이브러리입니다. 위의 분야들은 사람이 눈을 통해 물체를 인지하는 것처럼 컴퓨터가 카메라를 통해 물체를 인지하는 방법에 대해 연구하는 분야입니다. 물론 OpenCV와 유사한 라이브러리도 있겠지만 제가 OpenCV를 사용하는 이유가 있습니다. OpenCV 장점 1. 오래되었다. OpenCV는 Intel에서 c언어로 개발된 IPL(Image Process..

반응형