본문 바로가기

728x90

OpenCV

(8)
OpenCV :: Mat Class 사용법 정리 (생성 및 기본연산, C++) // 1 Mat m1(3, 3, CV_32F); // 32bit float형 3x3 행렬 // 2 Mat m2; m2 = Mat(5, 3, CV_64FC2); // 64bit float형 5x3 행렬 channel 수는 2 // 3 동적할당으로 생성 Mat* m3 = new Mat(Size(640, 480), CV_8UC3); // 480x640 해상도의 컬러이미지(3 channel) delete m3; 1 ) m1 행렬의 경우 32bit float형의 3행 3열 행렬이 생성된다. 2 ) m2 행렬의 경우 64bit float형의 5행 3열 채널 수는 2인 행렬이 생성된다. (총 원소의 개수는 5 x 3 x 2로 30개) 3 ) m3 행렬의 경우 동적할당으로 생성했으..
Silicon Mac(M1)에서 OpenCV C++ 개발환경 설정 정리 (Xcode) home brew(https://brew.sh/)와 Git이 설치되어 있다는 가정하에 진행합니다. '::' 뒤는 터미널 명령어 뒤에 [숫자]가 붙은 폴더는 경로를 기억해주세요. 폴더명을 [숫자]로 간략하게 표현하겠습니다. cmake 설치 :: brew install cmake OpenCV 라이브러리 설치 설치할 폴더 생성[1] (원하는 곳에 생성 - 저의 경우 ~/opt/open_cv 이름으로 생성했습니다.) :: git clone https://github.com/opencv/opencv.git (reference: https://github.com/opencv/opencv) [1]에 build 폴더[2] 생성 (그럼 [1]에 opencv, build 이름의 두개의 폴더가 생성되어 있을겁니다.) [2]..
컴퓨터비전인강 4주차 :: 영상의 변환 Ch 05. 기하학적 변환 - 02. 영상의 확대와 축소 Ch 05. 기하학적 변환 - 03. 이미지 피라미드 Ch 05. 기하학적 변환 - 04. 영상의 회전 오늘은 오랜만에 카페에 와서 공부했습니다. 집 근처에 카페가 리모델링하고 더 좋아졌더라고요. 이번 강의에서는 영상의 크기 변환과 회전 변환에 대해서 배워보았습니다^^ 영상의 크기 변환(Scale transformation) 영상의 크기를 원본 영상보다 크게 또는 작게 만드는 변환 openCV에서 이미 영상의 크기를 변환해주는 함수를 제공해줌 cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None) -> dst dsize: 결과 영상 크기를 튜플 형태로 입력 (w, h), (0,..
컴퓨터비전인강 4주차 :: 영상에서 특정 색상 추출 Ch 03. 기본적인 영상 처리 기법 - 07. 특정 색상 영역 추출하기 Ch 03. 기본적인 영상 처리 기법 - 08. 히스토그램 역투영 Ch 05. 기하학적 변환 - 01. 영상의 이동 변환과 전단 변환 오늘은 영상에서 특정 색상을 검출해 내는 방법과 영상의 변환에 대해서 공부해 보았습니다. 현재 AR 관한 프로젝트를 같이 진행하고 있는 사람으로서 영상의 변환 행렬 계산 쪽을 더 빨리 공부하고 싶다는 생각으로 ch4를 건너뛰게 됐네요..ㅎㅎ RGB 색 공간에서 색 추출하기 mask 영상: 특정 부분(목표)을 흰색으로 나머지를 검은색으로 하는 이진 영상 RGB 색공간에서 녹색 추출하기 0 < R < 100 128 < G < 255 0 dst lowerb와 upperb 에는 하한 값과 상한 값의 ndar..
컴퓨터비전인강 2주차 :: 키보드, 마우스 이벤트 처리 및 트랙바 생성법 Ch 02. OpenCV-Python 기초 사용법 - 07. 키보드 이벤트 처리하기 Ch 02. OpenCV-Python 기초 사용법 - 08. 마우스 이벤트 처리하기 Ch 02. OpenCV-Python 기초 사용법 - 09. 트랙바 사용하기 오늘은 openCV를 사용하여 윈도우창에서 발생하는 키보드, 마우스 이벤트를 처리하는 방법과 추가적으로 트랙바를 생성하는법에 대해서 공부해 보았습니다. >> 키보드 이벤트 처리하기 cv2.waitKey(delay=None) -> retval delay: 밀리초 단위 대기 시간. delay 키보드 이벤트 처리 예제 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 img = cv2.imread('cat.bmp', cv2.IMREAD_GRAYSCALE)..
컴퓨터비전인강 2주차 :: openCV 웹캠, 비디오 재생 및 저장 Ch 02. OpenCV-Python 기초 사용법 - 04. OpenCV 그리기 함수 Ch 02. OpenCV-Python 기초 사용법 - 05. 카메라와 동영상 처리하기 1 Ch 02. OpenCV-Python 기초 사용법 - 06. 카메라와 동영상 처리하기 2 오늘은 openCV에서 영상 위에 선이나, 도형, 문자를 그리는 기능과 카메라와 동영상을 어떻게 불러오고 저장하는지에 대해 공부해 보았습니다. >> openCV 그리기 함수 openCV는 영상에 선, 도형, 문자열을 그리는 함수를 제공한다. 그리기 함수를 사용할 경우 영상 데이터 자체를 변경하기 때문에 원본데이터를 유지하고 싶다면 복사본을 만든 후 복사본 위에 그리기를 실행해야 한다. cv2.line(img, pt1, pt2, color, th..
컴퓨터비전인강 1주차 :: matplotlib 이미지 openCV로 불러오기, 픽셀 참조 Ch 01. OpenCV-Python 시작하기 - 07. Matplotlib 사용하여 영상 Ch 02. OpenCV-Python 기초 사용법 - 01. 영상의 속성과 픽셀 값 처리 Ch 02. OpenCV-Python 기초 사용법 - 02. 영상의 생성, 복사, 부분 영상 Ch 02. OpenCV-Python 기초 사용법 - 03. 마스크 연산과 ROI 두 번째 학습 기록지 작성 포스팅입니다. 확실히 100% 환급 챌린지에 참여하니 빨리 공부하고 블로그 작성해야지! 하는 생각이 들더군요. 공부도 하고 블로그 글도 작성하고 참여하길 잘했다는 생각이 듭니다ㅎ 오늘은 openCV-python에서 영상의 픽셀을 참조하는 방법과 영상을 복사하거나 잘라내어 view를 만드는 방법, 마스크 연산 관련 함수에 대해 배..
컴퓨터비전인강 1주차 :: 영상의 이해 및 openCV 주요함수 Ch 01. OpenCV-Python 시작하기 - 02. 영상의 구조와 표현 Ch 01. OpenCV-Python 시작하기 - 05. 영상 파일 불러와서 출력하기 Ch 01. OpenCV-Python 시작하기 - 06. OpenCV 주요 함수 설명 - 인사말 - 오늘부터 패스트캠퍼스에서 수강중인 "openCV를 활용한 컴퓨터비전과 딥러닝" 강의에 대한 학습 기록지를 작성하려합니다! 컴퓨터비전 공부를 제대로 시작해보기 위해 패스트캠퍼스의 100% 환급 이벤트에 참여해 보았는데요. 매주 2번씩 이런 학습 기록을 3달간 작성해야 한다니 과연 제가 해낼수 있을지...큭 일단 시작해보겠습니다ㅎ 오늘 학습한 내용은 영상의 전반적인 이해와 openCV 라이브러리에서 자주 사용되는 주요 함수에 대해 알아 보았습니다. ..

728x90