opencv Functionality Overview
Basic Image Processing: Image filters, Morphology, Pyramids, Color space
conversions, Geometrical transformations, Histograms.
Advanced Image Processing and Feature extraction: Corner detection, Canny
edge detector, Hough transform, Distance transform, Watershed, Inpainting,
…
Shape analysis and Computational geometry: Image moments, contours,
Delaunay triangulation and Voronoi Tesselation
Motion Analysis: Optical flow, Object tracking (Meanshift & CAMSHIFT),
Motion templates, Kalman filters
Camera calibration, Epipolar geometry
Object detection (Haar classifier)
Advanced Blob tracking (aka Video Surveillance module)
Basic Image Processing: Gaussian Pyramids
cvPyrDown(A,B); A – W×H, B – W/2×H/2
cvPyrUp(B,A1); B – W×H, A – 2W×2H
Basic Image Processing: Morphology
Primitive operations: cvErode(A,C,B); cvDilate(A,C,B);
Erosion: C(x,y)=minB(x’,y’)=1A(x+x’,y+y’)
Dilation: C(x,y)=maxB(x’,y’)=1A(x+x’,y+y’)
Basic Image Processing: Some other important functions
Color space conversion: cvCvtColor(A,B,color_conversion_code);
cvCvtColor(bgr_image, grayscale_image, CV_BGR2GRAY);
cvCvtColor(lab_image, bgr_image, CV_Lab2BGR);
Smoothing image using different methods: cvSmooth(A,B,method,parameters…);
cvSmooth(image, image, CV_GAUSSIAN, 7, 7, 1., 1.); // inplace Gaussian smoothing
// with 7x7 kernel and σ=1.
Computing spatial image derivatives: cvSobel(A,B,dx,dy,kernel_size);
cvSobel(A, Ax, 1, 0, 3); // compute dA/dx using 3x3 Sobel kernel:
-
-
-
1 0 1
2 0 2
1 0 1
Image convolution with arbitrary kernel: cvFilter2D(A,B,kernel,anchor_point);
CvMat* kernel = cvCreateMat(11,11,CV_32F); cvSet(kernel,cvScalar(1./(kernel->rows*kernel->cols)));
cvFilter2D(A, B, kernel, cvPoint(kernel->cols/2,kernel->rows/2)); // slower alternative to
cvSmooth(…, CV_BLUR,…)
Computing image histogram: cvCalcArrHist(image_planes,hist);
int n = 256; CvHistogram* hist = cvCreateHist(1,&n,CV_HIST_ARRAY);
cvCalcArrHist((CvArr**)&grayscale_image, hist); // compute histogram for grayscale image
Feature Extraction: Canny Edge Detector
Computing binary edge map from grayscale image: cvCanny(A,B,t1,t2);
Assisting object segmentation Accelerating face detection
Feature Extraction: Hough Transform
Line Detection: cvHoughLines(image, lines_buffer, params)
Circle Detection: cvHoughCircles(image, centers&radiuses) Vanishing points estimation
Advanced Image Processing: Extended Distance Transform and Watershed
Extended distance transform
(O(N) Voronoi diagram):
cvDistTransform(A, distances,…, labels);
Watershed marker-based segmentation:
cvWatershed(A, markers);
Advanced Image Processing: Inpainting
Reconstruction of marked areas using the neighbor pixels:
cvInpaint( image, mask );
posted on 2018-05-10 15:03 Shawn X.Y. Bai 阅读(168) 评论(0) 编辑 收藏 举报