日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

基于C++的OpenCV常用函数

發(fā)布時(shí)間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于C++的OpenCV常用函数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

C++版本的好處:

1、在于可以盡量避免使用指針這種危險(xiǎn)的東西;

2、不用費(fèi)心去release資源了,因?yàn)樵谄鋎estructor里面,系統(tǒng)會(huì)自動(dòng)幫你搞定。

3、在某些情況下會(huì)比C版本運(yùn)行速度快。

在文件中包含 using namespace?cv;

?

1.????????imread(cvLoadImage):loads an image from a file;

2.????????imshow(cvShowImage):displays an image in the specifiedwidow;

3.????????waitKey(cvWaitKey):waits for a pressed key;

4.????????cvtColor(cvCvtColor):converts an image from one colorspace to another;

5.????????reduce(cvReduce):reduces a matrix to a vector;

6.????????minMaxLoc(cvMinMaxLoc):finds the global minimum andmaximum in a whole array or sub-array;

7.????????namedWindow(cvNamedWindow):creates a window;

8.????????destroyWindow(cvDestroyWindow):destroys a window;

9.????????destroyAllWindows(cvDestroyAllWindows):destroys all of the HighGUIwindows;

10.????imwrite(cvSaveImage):saves an image to a specified file;

11.????resize(cvResize):resizes an image;

12.????pyrDown(cvPyrDown):blurs an image and downsamples it;

13.????pyrUp(cvPyrUp):upsamples an image and then blursit;

14.????threshold(cvThreshold):applies a fixed-level threshold toeach array element;

15.????adaptiveThreshold(cvAdaptiveThreshold):applies an adaptive threshold toan array;

16.????VideoCapthure::open(cvCaptureFromFile):open video file or a capturingdevice for video capturing;

17.????VideoCapture::isOpened:returns true if video capturinghas been initialized already;

18.????VideoCapture::release(cvReleaseCapture):closes video file or capturingdevice;

19.????VideoCapture::grab(cvGrabFrame):grabs the next frame from videofile or capturing device;

20.????VideoCaputre::retrieve(cvRetrieveFrame):decodes and returns the grabbedvideo frame;

21.????VideoCapture::read(cvQueryFrame):grabs,decodes and returns the nextvideo frame;

22.????VideoCapture::get(cvGetCaptureProperty):returns the specified VideoCaptureproperty;

23.????VideoCapture::set(cvSetCaptureProperty):sets a property in theVideoCapture;

24.????VideoWriter::open:initializes or reinitializes videowriter;

25.????VideoWriter::isOpened:returns true if video writer hasbeen successfully initialized;

26.????VideoWriter::write:writes the next video frame;

27.????Mat::row:creates a matrix header for thespecified matrix row;

28.????Mat::col:creates a matrix header for thespecified matrix column;

29.????Mat::rowRange:creates a matrix header for thespecified row span;

30.????Mat::colRange:creates a matrix header for thespecified col span;

31.????Mat::diag:extracts a diagonal from a matrix,or creates a diagonal matrix;

32.????Mat::clone:creates a full copy of the arrayand the underlying data;

33.????Mat::copyTo(cvCopy):copies the matrix to another one;

34.????Mat::convertTo(cvConvertScale):converts an array to anotherdatatype with optional scaling;

35.????Mat::assignTo:provides a functional form ofconvertTo;

36.????Mat::setTo:sets all or some of the arrayelements to the specified value;

37.????Mat::reshape:changes the shape and/or thenumber of channels of a 2D matrix without copying the data;

38.????Mat::t:transposes a matrix;

39.????Mat::inv:inverses a matrix;

40.????Mat::mul:performs an element-wisemultiplication or division of the two matrices;

41.????Mat::cross:computes a cross-product of two3-element vectors;

42.????Mat::dot:computes a dot-product of twovectors;

43.????Mat::zeros:returns a zero array of thespecified size and type;

44.????Mat::ones:returns an array of all 1’s of thespecified size and type;

45.????Mat::eye:returns an identity matrix of thespecified size and type;

46.????Mat::create:allocates new array data if needed;

47.????Mat::addref:increments the reference counter;

48.????Mat::release:decrements the reference counterand deallocates the matrix if needed;

49.????Mat::resize:changes the number of matrix rows;

50.????Mat::reserve:reserves space for the certainnumber of rows;

51.????Mat::push_back:adds elements to the bottom of thematrix;

52.????Mat::pop_back:removes elements from the bottomof the matrix;

53.????Mat::locateROI:locates the matrix header within aparent matrix;

54.????Mat::adjustROI:adjusts a submatrix size andposition within the parent matrix;

55.????Mat::operator:extracts a rectangular submatrix;

56.????Mat::operatorCvMat:creates the CvMat header for thematrix;

57.????Mat::operatorIplImage:creates the IplImage header forthe matrix;

58.????Mat::total:returns the total number fo arrayelements;

59.????Mat::isContinuous:reports whether the matrix iscontinuous or not;

60.????Mat::elemSize:returns the matrix element size inbytes;

61.????Mat::elemSize1:returns the size of each matrixelement channel in bytes;

62.????Mat::type:returns the type of a matrixelement;

63.????Mat::depth:returns the depth of a matrixelement;

64.????Mat::channels:returns the number of matrix channels;

65.????Mat::step1:returns a normalized step;

66.????Mat::size:returns a matrix size;

67.????Mat::empty:returns true if the array has noelemens;

68.????Mat::ptr:returns a pointer to the specifiedmatrix row;

69.????Mat::at:returns a reference to thespecified array element;

70.????Mat::begin:returns the matrix iterator andsets it to the first matrix element;

71.????Mat::end:returns the matrix iterator andsets it to the after-last matrix element;

72.????calcHist(cvCalcHist):calculates a histogram of a set ofarrays;

73.????compareHist(cvCompareHist):compares two histograms;

74.????equalizeHist(cvEqualizeHist):equalizes the histogram of agrayscale image(直方圖均衡化);

75.????normalize:normalizes the norm or value rangeof an array;

76.????CascadeClassifier::CascadeClassifier:loads a classifier from a file;

77.????CascadeClassifier::empth:checks whether the classifier hasbeen loaded;

78.????CascadeClassifier::load(cvLoadHaarClassifierCascade):loads a classifier from a file;

79.????CascadeClassifier::read:reads a classifier from aFileStorage node;

80.????CascadeClassifier::delectMultiScale(cvHaarDetectObjects):detects objects of different sizesin the input image(檢測(cè)圖像中的目標(biāo));

81.????CascadeClassifier::setImage(cvSetImagesForHaarClassifierCascade):sets an image for detection(隱藏的cascade(hidden cascade)指定圖像);

82.????CascadeClassifier::runAt(cvRunHaarClassifierCascade):runs the detector at the specifiedpoint(在給定位置的圖像中運(yùn)行cascade of boosted classifier);

83.????groupRectangles:groups the object candidaterectangles;

84.????split(cvSplit):divides a multi-channel array intoseveral single-channel arrays;

85.????merge(cvMerge):creates one multichannel array outof several single-channel ones;

86.????mixChannels(cvMixChannels):copies specified channels frominput arrays to the specified channels of output arrays;

87.????setMouseCallback(cvSetMouseCallback):sets mouse handler for thespecified window;

88.????bilateralFilter:applies the bilateral filter to animage(雙邊濾波);

89.????blur(cvSmooth):blurs an image using thenormalized box filter(均值模糊);

90.????medianBlur:blurs an image using the medianfilter(中值模糊);

91.????boxFilter:blurs an image using the boxfilter;

92.????GaussianBlur:blurs an image using a Gaussianfilter(高斯模糊);

93.????getGaussianKernel:returns Gaussian filtercoefficients;

94.????sepFilter2D:applies a separable linear filterto an image;

95.????filter2D(cvFilter2D):convolves an image with the kernel;

96.????norm(cvNorm):calculates an absolute array norm,an absolute difference norm, or a relative defference norm;

97.????flip(cvFlip):filps a 2D array around vertical,horizontal, or both axes;

98.????Algorithm::get:returns the algorithm parameter;

99.????Algorithm::set:set the algorithm parameter;

100.?Algorithm::write:stores algorithm parameters in afile storage;

101.?Algorithm::read:reads algorithm parameters from afile storage;

102.?Algorithm::getList:returns the list of registeredalgorithms;

103.?Algorithm::create:creates algorithm instance by name;

104.?FaceRecognizer::train:trains a FaceRecognizer with givendata and associated labels;

105.?FaceRecognizer::update:updates a FaceRecognizer withgiven data and associated labels;

106.?FaceRecognizer::predict:predicts a label and associatedconfidence(e.g. distance) for a given input image;

107.?FaceRecognizer::save:saves a FaceRecognizer and itsmodel state;

108.?FaceRecognizer::load:loads a FaceRecognizer and itsmodel state;

109.?createEigenFaceRecognizer:;

110.?createFisherFaceRecognizer:;

111.?createBPHFaceRecognizer:;

112.?getTextSize(cvGetTextSize):calculates the width and height ofa textstring;

113.?putText(cvPutText):draws a text string;

114.?getStructuringElement(cvCreateStructingElementEx):returns a structuring element ofthe specified size and shape for morphological operations;

115.?morphologyEx(cvMorphologyEx):performs advanced morphologicaltransformations;

116.?findContours(cvFindContours):finds contours in a binary image;

117.?drawContours(cvDrawContours):draw contours outlines or filledcontours;

118.?minAreaRect(cvMinAreaRect2):finds a rotated rectangle of theminimum area enclosing the input 2D point set;

119.?floodFill(cvFloodFill):fills a connected component withthe given color;

120.?getRectSubPix(cvGetRectSubPix):retrieves a pixel rectangle froman image with sub-pixel accuracy;

121.?CvSVM::CvSVM:default and training constructors;

122.?CvSVM::train:trains an SVM;

123.?CvSVM::train_auto:trains an SVM with optimalparameters;

124.?CvSVM::predict:predicts the response for inputsample(s);

125.?CvSVM::get_default_grid:generates a grid for SVMparameters;

126.?CvSVM::get_params:returns the current SVM parameters;

127.?CvSVM::get_support_vector:retrieves a number of supportvectors and the particular vector;

128.?CvSVM::get_var_count:returns thenumber of used features(variables count);

129.?CvANN_MLP(multi-layerperceptrons)::CvANN_MLP:the constructors;

130.?CvANN_MLP::create:constructs MLP with the specifiedtopology;

131.?CvANN_MLP::train:trains/updates MLP;

132.?CvANN_MLP::predict:predicts responses for inputsamples;

133.?CvANN_MLP::get_layer_count:returns the number fo layers inthe MLP;

134.?CvANN_MLP::get_layer_size:returns numbers of neurons in eachlayer of the MLP;

135.?CvANN_MLP::get_weights:returns neurons weights of theparticular layer;

136.?CvKNearest::CvKNearest:default and training constructors;

137.?CvKNearest::train:trains the model;

138.?CvKNearest::find_nearest:finds the neighbors and predictsresponses for input vectors;

139.?CvKNearest::get_max_k:returns the number of maximumneighbors that may be passed to the method CvKNearest::find_nearest();

140.?CvKNearest::get_var_count:returns the number of usedfeatures(variables count);

141.?CvKNearest::get_sample_count:returns the total number of trainsamples;

142.?CvKNearest::is_regression:returns type of the problem(truefor regression and false for classification);

143.?HoughLines(cvHoughLines):finds lines in a binary imageusing the standard Hough transform;

144.?HoughLinesP:finds line segments in a binaryimage using the probabilistic Hough transform;

145.?HoughCircles(cvHoughCircles):finds circles in a grayscale imageusing the Hough transform;

146.?line(cvLine):draws a line segment connectingtwo points;

147.?fitLine(cvFitLine):fits a line to a 2D or 3D pointset;

148.?fitEllipse(cvFitEllipse2):fits an ellipse around a set of 2Dpoints;

149.?ellipse(cvEllipse、cvEllipseBox):draws a simple or thick ellipticarc or fills an ellipse sector;

150.?boundingRect(cvBoundingRect):calculatesthe up-right bounding rectangle of a point set;

151.?rectangle(cvRectangle):draws a simple, thick, or filledup-right rectangle;

152.?minEnclosingCircle(cvMinEnclosingCircle):finds acircle of the minimum area enclosing a 2D point set;

153.?circle(cvCircle):draw a circle;

154.?fillPoly:fills the area bounded by one ormore polygons;

155.?approxPolyDP(cvApproxPoly):approximates a polygonal curve(s)with the specified precision;

156.?pointPolygonTest(cvPointPolygonTest):performs a point-in-contour test(判斷點(diǎn)在多邊形中的位置);

157.?convexHull(cvConvexHull2):finds the convex hull of a pointset;

158.?transpose(cvTranspose):transposes a matrix;

159.?invert(cvInvert):finds the inverse orpseudo-inverse of a matrix;

160.?getStructuringElement(cvCreateStructuringElementEx):returns a structuring element ofthe specified size and shape for morphological operations;

161.?absdiff(cvAbsDiff):calculates the per-elementabsolute difference between two arrays or between an array and a scalar;

162.?subtract(cvSub):calculates the per-elementdifference between two arrays or array and a scalar;

163.?multiply(cvMul):calculates the per-element scaledproduct fo two arrays;

164.?divide(cvDiv):performs per-element division oftwo arrays or a scalar by an array;

165.?bitwise_or(cvOr):calculates the per-elementbit-wise disjunction of two arrays or an array and a scalar;

166.?bitwise_and(cvAnd):calculates the per-elementbit-wise conjunction of two arrays or an array and a scalar;

167.?bitwise_not(cvNot):inverts every bit of an array;

168.?bitwise_xor(cvXor):calculates the per-elementbit-wise “exclusive of” operation on two arrays or an array and a scalar;

169.?erode(cvErode):erodes an image by using a specificstructuring element;

170.?dilate(cvDilate):dilates an image by using aspecific structuring element;

171.?min(cvMin):calculates per-element minimum oftwo arrays or an array and a scalar;

172.?max(cvMax):calculates per-element maximum oftwo arrays or an array and a scalar;

173.?add(cvAdd):calculates the per-element sum oftwo arrays or an array and a scalar;

174.?addWeighted(cvAddWeighted):calculates the weighted sum of twoarrays;

175.?scaleAdd(cvScaleAdd):calculats the sum of a scaledarray and another array;

176.?saturate_cast():template function for accurateconversion from one primitive type to another;

177.?sqrt(cvSqrt):calculates a square root of arrayelements;

178.?pow(cvPow):raises every array element to apower;

179.?abs:calculates an absolute value ofeach matrix element;

180.?convertScaleAbs(cvConvertScaleAbs):scales, calculates absolutevalues, and converts the result to 8-bit;

181.?cuberoot(cvCbrt):computes the cube root of anargument;

182.?exp(cvExp):calculates the exponent of everyarray element;

183.?log(cvLog):calculates the natural logarithmof every array element;

184.?Canny(cvCanny):finds edges in an image using theCanny algorithm;

185.?Sobel(cvSobel):calculates the first, second,third, or mixed image derivatives using an extended Sobel operator;

186.?Scharr:Calculates the first x – or y –image derivative using Scharr operator(Scharr 濾波器);

187.?Laplacian(cvLaplace):calculates the Laplacian of animage;

188.?getDerivKernels:returns filter coefficients forcomputing spatial image derivatives;

189.?contourArea(cvContourArea):calculates a contour area;

190.?LUT(cvLUT):performs a look-up table transformof an array;

191.?calcBackProject(cvCalcBackProject):calculates the back projection ofa histogram(反向投影);

192.?arcLength(cvArcLength):calculates a contour perimeter ora curve length;

193.?meanShift(cvMeanShift):finds an object on a backprojection image;

194.?CamShift(cvCamShift):finds an object center, size, andorientation;

195.?TermCriteria:template class definingtermination criteria for iterative algorithms;

196.?createTrackbar(cvCreateTrackbar):creates a trackbar and attaches itto the specified window;

197.?watershed(cvWatershed):performs a marker-based imagesegmentation using the watershed algorithm;

198.?grabCut:runs the GrabCut algorithm;

199.?compare(cvCmp):performs the per-elementcomparison of two arrays or an array and scalar value;

200.?mean(cvAvg):calculates an average(mean) ofarray elements;

201.?meanStdDev(cvAvgSdv):calculates a mean and standarddeviation of array elements;

202.?cartToPolar(cvCartToPolar):calculates the magnitude and angleof 2D vectors;

203.?moments(cvMoments):calculates all of the moments upto the third order of a polygon or rasterized shape;

204.?matchShapes(cvMatchShapes):compares two shapes;

205.?cornerHarris(cvCornerHarris):Harris edge detector;

206.?goodFeaturesToTrack(cvGoodFeaturesToTrack):determines strong corners on an image;

207.?classFeatureDetector:abstract base class for 2D imagefeature detectors;

208.?classFastFeatureDetector:wrapping class for featuredetection using the FAST() method;

209.?classSURF(SurfFeatureDetector、SurfDescriptorExtractor):extracting Speeded Up Robust Featuresfrom an image;

210.?classSIFT(SiftFeatureDetector):extracting keypoints and computingdescriptors using the Scale Invariant Feature Transform(SIFT) algorithm;

211.?SURF::operator(cvExtractSURF):detects keypoints and computesSURF descriptors for them;

212.?drawKeypoints:draw keypoints;

213.?drawMatches:draws the found matches ofkeypoints from two images;

214.?classDescriptorMatcher:abstract base class for matchingkeypoint descriptors. It has two groups of match methods,for matchingdescriptors of an image with another image or with an image set;

215.?findChessboardCorners(cvFindChessboardCorners):finds the positions of internalcorners of the chessboard;

216.?drawChessboardCorners(cvDrawChessboardCorners):renders the detected chessboardcorners;

217.?calibrateCamera(cvCalibrateCamera2):finds the camera intrinsic andextrinsic parameters from several view of a calibration pattern;

218.?initUndistortRectifyMap(cvInitUndistortMap、cvInitUndistortRectifyMap):computes the undistortion andrectification transformation map;

219.?remap(cvRemap):applies a generic geometricaltransformation to an image;

220.?calibrationMatrixValues:computes useful cameracharacteristics from the camera matrix;

221.?findFundamentalMat(cvFindFundamentalMat):calculates a fundamental matrixfrom the corresponding points in two images;

222.?computeCorrespondEpilines(cvComputeCorrespondEpilines):for points in an image of a stereopair, computes the corresponding epilines in the other image;

223.?findHomography(cvFindHomography):finds a perspective transformationbetween two planes;

224.?warpPerspective(cvWarpPerspective):applies a perspectivetransformation to an image;

225.?getPerspectiveTransform(cvGetPerspectiveTransform):calculates a perspective transformfrom four pairs of the corresponding points;

226.?cornerSubPix(cvFindCornerSubPix):refines the corner locations;

227.?calcOpticalFlowPyrLK(cvCalcOpticalFlowPyrLK):calculates an optical flow for asparse feature set using the iterative Lucas-Kanade method with pyramids;

228.?swap:swaps two matrices;

229.?accumulateWeighted(cvRunningAvg):updates a running average;

230.?classBackgroundSubtractorMOG:gaussian mixture-basedbackground/foreground segmentation algorithm;

231.?randu:generates a singleuniformly-distributed(均勻分布) random number or an array ofrandom numbers;

232.?randn:fills the array with normallydistributed(正態(tài)分布) random numbers;

233.?getTickCount:returns the number of ticks;

234.?getTickFrequency:returns the number of ticks persecond(使用getTickCount和getTickFrequency兩個(gè)函數(shù)可以計(jì)算執(zhí)行某個(gè)算法所用時(shí)間);

235.?CV_Assert:checks a condition at runtime andthrows exception if it fails;

236.?saturate_cast:template function for accurateconversion from one primitive type to another;

237.?classRNG:random number generator;

238.?RNG::next:returns the next random number;

239.?RNG::operatorT:returns the next random number ofthe specified type;

240.?RNG::operator():returns the next random number;

241.?RNG::uniform:returns the next random numbersampled from the uniform distribution;

242.?RNG::gaussian:returns the next random numbersampled from the Gaussian distribution;

243.?RNG::fill:fills arrays with random numbers;

244.?getOptimalDFTSize(cvGetOptimalDFTSize):returns the optimal DFT size for agiven vector size;

245.?copyMakeBorder(cvCopyMakeBorder):forms a border around an image;

246.?dft(cvDFT):performs a forward or inverseDiscrete Fourier transform of a 1D or 2D floating-point array;

247.?magnitude:calculates the magnitude(幅度) of 2D vectors;

248.?classFileStorage:XML/YAML file storage class thanencapsulates all the information necessary for writing or reading data to/froma file;

249.?FileStorage::open:open a file;

250.?FileStorage::isOpened:checks whether the file is opened;

251.?FileStorage::release:closes the file and releases allthe memory buffers;

252.?FileStorage::releaseAndGetString:closes the file and releases allthe memory buffers;

253.?FileStorage::getFirstTopLevelNode:returns the first element of thetop-level mapping;

254.?FileStorage::root:returns the top-level mapping;

255.?FileStorage::operator[]:returns the specified element ofthe top-level mapping;

256.?FileStorage::operator*:returns the obsolete C FileStorage structure;

257.?FileStorage::writeRaw:writes multiple numbers;

258.?FileStorage::writeObj:writes the registered C structure(CvMat、CvMatND、CvSeq);

259.?FileStorage::getDefaultObjectName:returns the normalized object name for thespecified name of a file;

260.?getAffineTransform(cvGetAffineTransform):calculates an affine transformfrom three pairs of the corresponding points;

261.?getRotationMatrix2D(cv2DRotationmatrix):calculates an affine matrix of 2Drotation;

262.?warpAffine(cvWarpAffine):applies an affine transformationto an image;

263. matchTemplate(cvMatchTemplate):compares a template against overlapped imageregions;

?

總結(jié)

以上是生活随笔為你收集整理的基于C++的OpenCV常用函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

歡迎分享!

轉(zhuǎn)載請(qǐng)說明來源于"生活随笔",并保留原作者的名字。

本文地址:基于C++的OpenCV常用函数