OpenCV 기본 모듈 설명(C++)

OpenCV 라이브러리는 여러 모듈로 구성됩니다.

그러나 초보자로서 모듈을 사용하고 싶은데 어떤 헤더 파일에 있는지 모를 경우가 많습니다.

이를 위해 책의 내용을 정리해보려고 합니다.

주요 모듈 목록

calib3d

핵무기

DNN

피처2d

플란넬

고귀한

img 코덱

imgproc

ml

물체 감지

사진

바느질

동영상

동영상

다른 모듈도 많이 있는데 위의 모듈만 나열하고 간략한 설명과 해당 헤더 파일을 첨부합니다.

calib3d

#포함하다

카메라 보정 및 3D 재구성용 모듈

https://docs.opencv.org/3.4/d2/d28/calib3d_8hpp.html

OpenCV: opencv2/calib3d.hpp 파일 참조

double cv::fisheye::calibrate (InputArrayOfArrays objectPoints, InputArrayOfArrays imagePoints, const Size &image_size, InputOutputArray K, InputOutputArray D, OutputArrayOfArrays rvecs, OutputArrayOfArrays tvecs, int flags=0, TermCriteria=TermCriteria c

docs.opencv.org

핵무기

#포함하다

행렬, 벡터 및 산술 함수와 같은 OpenCV 핵심 클래스가 포함된 모듈

https://docs.opencv.org/3.4/da/d47/core_8hpp.html

OpenCV: opencv2/core.hpp 파일 참조

void cv::batchDistance(InputArray src1, InputArray src2, OutputArray dist, int dtype, OutputArray nidx, int normType=NORM_L2, int K=0, InputArray mask=noArray(), int update=0, bool crosscheck=false)

docs.opencv.org

DNN

#포함하다

심층 신경망 기능 모듈

https://docs.opencv.org/3.4/d9/d8c/dnn_8hpp.html

OpenCV: opencv2/dnn.hpp 파일 참조

OpenCV 3.4.19-dev 오픈 소스 컴퓨터 비전

docs.opencv.org

피처2d

#포함하다

2차원 특징 추출, 특징 벡터 기술 및 매칭 방법

https://docs.opencv.org/3.4/d5/d0d/features2d_8hpp.html

OpenCV: opencv2/features2d.hpp 파일 참조

무효 cv::drawMatches (InputArray img1, const std::vector< KeyPoint > &keypoints1, InputArray img2, const std::vector< KeyPoint > &keypoints2, const std::vector< DMatch > &matches1to2, InputOutputArray outImg, const Scalar &matchColor=Scalar :: 모두 (-1), const

docs.opencv.org

플란넬

#포함하다

다차원 공간에서 빠른 K-최근접 이웃 알고리즘

https://docs.opencv.org/3.4/dc/dc1/flann_8hpp.html

OpenCV: opencv2/flann.hpp 파일 참조

docs.opencv.org

고귀한

#포함하다

영상 화면 출력, 마우스 이벤트 처리 등의 사용자 인터페이스

https://docs.opencv.org/3.4/d4/dd5/highgui_8hpp.html

OpenCV: opencv2/highgui.hpp 파일 참조

void cv::addText (const Mat &img, const String &text, Point org, const String &nameFont, int pointSize=-1, Scalar color=Scalar::all(0), int weight=QT_FONT_NORMAL, int style=QT_STYLE_NORMAL, int 간격 =0)

docs.opencv.org

img 코덱

#포함하다

비디오 파일 입출력

https://docs.opencv.org/3.4/d6/d87/imgcodecs_8hpp.html

OpenCV: opencv2/imgcodecs.hpp 파일 참조

cv::ImwriteFlags { cv::IMWRITE_JPEG_QUALITY = 1, cv::IMWRITE_JPEG_PROGRESSIVE = 2, cv::IMWRITE_JPEG_OPTIMIZE = 3, cv::IMWRITE_JPEG_RST_INTERVAL = 4, cv::IMWRITE_JPEG_LUMA_QUALITY = 5, cv::IMWRITE_QUALITY = LUMA5 ::IMWRITE_JPEG_QUALITY

docs.opencv.org

imgproc

#포함하다

필터링, 기하 변환 및 색 공간 변환과 같은 이미지 처리 기능

https://docs.opencv.org/3.4/dd/d46/imgproc_8hpp.html

OpenCV: opencv2/imgproc.hpp 파일 참조

열거 cv::ColorConversionCodes { cv::COLOR_BGR2BGRA = 0, cv::COLOR_RGB2RGBA = COLOR_BGR2BGRA, cv::COLOR_BGRA2BGR = 1, cv::COLOR_RGBA2RGB = COLOR_BGRA2BGR, cv::COLOR_BGR2RGLOBOR = 2, cv::COLOR_BGRA_BGRA2RBOLBGRBOL =

docs.opencv.org

ml

#포함하다

통계 분류 및 회귀와 같은 기계 학습 알고리즘

https://docs.opencv.org/3.4/d3/d29/ml_8hpp.html

OpenCV: opencv2/ml.hpp 파일 참조

int cv::ml::simulatedAnnealingSolver(SimulatedAnnealingSolverSystem &solverSystem, double initialTemperature, double finalTemperature, double coolingRatio, size_t iterationsPerStep, double *lastTemperature=NULL, cv::RNG &rngEnergy=cv::theRNG())

docs.opencv.org

물체 감지

#포함하다

얼굴 및 보행자 감지와 같은 물체 감지

https://docs.opencv.org/3.4/d8/da3/objdetect_8hpp.html

OpenCV: opencv2/objdetect.hpp 파일 참조

무효 cv::groupRectangles_meanshift (std::vector< Rect > &rectList, 표준::벡터< double > &foundWeights, 표준::벡터< double > &foundScales, double detectThreshold=0.0, 크기 winDetSize=크기(64, 128))

docs.opencv.org

사진

#포함하다

HDR 및 노이즈 감소와 같은 사진 조작 기능

https://docs.opencv.org/3.4/dc/d81/photo_8hpp.html

OpenCV: opencv2/photo.hpp 파일 참조

void cv::fastNlMeansDenoisingMulti (InputArrayOfArrays srcImgs, OutputArray dst, int imgToDenoiseIndex, int temporalWindowSize, const std::vector &h, int templateWindowSize=7, int searchWindowSize=21, int normType=NORM_L2)

docs.opencv.org

바느질

#포함하다

스플라이스 비디오

https://docs.opencv.org/3.4/dc/d7a/stitching_8hpp.html

OpenCV: opencv2/stitching.hpp 파일 참조

OpenCV 3.4.19-dev 오픈 소스 컴퓨터 비전

docs.opencv.org

동영상

#포함하다

광학 흐름, 배경 차이 및 기타 비디오 처리 기술

https://docs.opencv.org/3.4/d5/d71/video_8hpp.html

OpenCV: opencv2/video.hpp 파일 참조

OpenCV 3.4.19-dev 오픈 소스 컴퓨터 비전

docs.opencv.org

동영상

#포함하다

비디오 파일 입출력

https://docs.opencv.org/3.4/dc/d3d/videoio_8hpp.html

OpenCV: opencv2/videoio.hpp 파일 참조

enum cv::VideoCaptureAPIs { cv::CAP_ANY = 0, cv::CAP_VFW = 200, cv::CAP_V4L = 200, cv::CAP_V4L2 = CAP_V4L, cv::CAP_FIREWIRE = 300, cv::CAP_FIREWARE = ​​CAP_FIREWIRE, 이력서: :CAP_IEEE1394=CAP_FIREWIRE, cv::CAP_DC1394=CAP_FIRE

docs.opencv.org

책 출처: https://github.com/sunkyoo/opencv4cvml

GitHub – sunkyoo/opencv4cvml: “Computer Vision and Machine Learning with OpenCV 4” 소스 코드 (Gilbot, 2019)

이것은 책 “Computer Vision and Machine Learning with OpenCV 4″(Gilbot, 2019)의 소스 코드입니다.
– GitHub – sunkyoo/opencv4cvml: “Computer Vision and Machine Learning with OpenCV 4” 소스 코드(Gilbot, 2019).

github.com