0% found this document useful (0 votes)
102 views

Code PDF

This document provides an overview of tools and libraries for computer vision including Matlab and OpenCV. It describes functions in the Matlab Image Processing Toolbox for reading, writing, displaying and manipulating images as well as videos. It also describes how to install and use OpenCV with examples of common functions for images, videos, cameras and display. Finally it lists several online code repositories for computer vision algorithms and applications including features, calibration, geometry, tracking, matching and segmentation.

Uploaded by

bessam123
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
102 views

Code PDF

This document provides an overview of tools and libraries for computer vision including Matlab and OpenCV. It describes functions in the Matlab Image Processing Toolbox for reading, writing, displaying and manipulating images as well as videos. It also describes how to install and use OpenCV with examples of common functions for images, videos, cameras and display. Finally it lists several online code repositories for computer vision algorithms and applications including features, calibration, geometry, tracking, matching and segmentation.

Uploaded by

bessam123
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

CS 556: Computer Vision

Matlab and C (OpenCV)


Toolboxes, Libraries, and Online Code

By: Mohamed R. Amer


Matlab
Matlab: Image Processing Toolbox
• Images
– imread : Read image
– imwrite : Write Image
– imshow : Display image
– im2bw : Convert image to binary image
– im2double : Convert image to double precision
– im2uint8 :Convert image to 8-bit unsigned integers
– rgb2gray : Convert RGB image or colormap to grayscale
– imrotate : Rotate image
– imresize : Resize image
– imtransform : Apply 2-D spatial transformation to image
– bwboundaries Trace region boundaries in binary image
– bwtraceboundary Trace object in binary image
– bwlabel Label connected components in 2-D binary image
Matlab: Image Processing Toolbox
– corner Find corner points in image
– edge Find edges in grayscale image
– edgetaper Taper discontinuities along image edges
– hough Hough transform
– houghlines Extract line segments based on Hough transform
– houghpeaks Identify peaks in Hough transform
– imcontour Create contour plot of image data
– imhist Display histogram of image data
– regionprops Measure properties of image regions
– corr2 2-D correlation coefficient
– mean2 Average or mean of matrix elements
– std2 Standard deviation of matrix elements
– mmreader For reading Videos
Matlab: Image Processing Toolbox
– Image Example (Convert image into grayscale and find its edges):
I= imread('example.jpg');
I= im2double(I); %or I=double(I);
G=rgb2gray(I);
G=uint8(G);
figure;
imshow(G);
imwrite(G, 'out.png');
E=edge(G,'canny‘,0.3);
figure;
imshow(E);
imwrite(E, 'outEdge.pgm');
…….
Matlab: Image Processing Toolbox
– Video Example (Convert an movie into grayscale):
readerobj = mmreader('example.mpg', 'tag', 'myreader1');
numFrames = get(readerobj, 'numberOfFrames');
I=read(readerobj,1);
for k = 1 : numFrames
I=read(readerobj,k);
G=rgb2gray(I);
mov(k).img =G;
end
aviobj = avifile('example.avi')
for k=1: numFrames
aviobj = addframe(aviobj,mov(k).img);
end
aviobj = close(aviobj);
C (OpenCV)
OpenCV: Installation
• Source Code is available online
• Tutorial and step by step installation
• Noah Kuntz Tutorials
OpenCV: Tutorials
• OpenCV Tutorial 1 Getting started and image manipulation,
chapters 1, 2
• OpenCV Tutorial 2 Data Types, chapter 3
• OpenCV Tutorial 3 HighGUI Interface Toolkit, chapter 4
• OpenCV Tutorial 4 Image Processing, chapter 5
• OpenCV Tutorial 5 Image Transforms, chapter 6
• OpenCV Tutorial 6 Histograms and Matching, chapter 7
• OpenCV Tutorial 7 Contours, chapter 8
• OpenCV Tutorial 8 Image Parts and Segmentation, chapter 9
• OpenCV Tutorial 9 Tracking and Motion, chapter 10
• OpenCV Tutorial 10 Camera Models and Calibration, chapter 11
• OpenCV Tutorial 11 Machine Learning, chapter 13
OpenCV: Face Detection and Tracking
• OpenCV Part 1 Introduction, and how to input
from different devices (Images, Videos,
Cameras)
• OpenCV Part 2 Face Detection
• OpenCV Part 3 Face Tracking
• OpenCV Part 4 Face Detection using Eigen
Faces
• OpenCV Part 5 Implementing Eigen Faces
OpenCV: Functions
• OpenCV 1.0 API
• OpenCV 2.1 API
• Functions For Images:
– cvLoadImage
– cvSaveImage
– PyrMeanShiftFiltering
– Watershed
– FindContours
– Threshold
– CvtColor
– 2DRotationMatrix
– Dilate
– Erode
– CornerHarris
– Canny
– HoughLines2
– HoughCircles
– MatchTemplate
OpenCV: Functions
• MatchShapes
• CalcImageHomography
• FindHomography
• CalibrateCamera2
• FindExtrinsicCameraParams2
• Undistort2
• WarpPerspective
• GetPerspectiveTransform
• WarpAffine
• GetAffineTransform.
• FindChessboardCorners
• DrawChessBoardCorners
• FindFundamentalMat
• ComputeCorrespondEpilines
• ConvertPointsHomogenious
• DrawChessBoardCorners
OpenCV: Functions
• Functions For Videos:
– CvCapture
– cvCreateVideoWriter
– cvWriteFrame
• Functions For Camera
– cvCreateCameraCapture
– cvQueryFrame
• Functions For Display
– cvWaitKey
– cvSetMouseCallback
– cvSetTrackbarPos
– cvGetTrackbarPos
– cvNamedWindow
– cvShowImage
Online Code
Keypoints
• Affine Covariant Features (Matlab and Linux binaries)
– Harris-Affine & Hessian Affine
– MSER
– Salient regions
• Ivan Laptev (Matlab)
– Harris-Affine & Hessian Affine
• David Lowe (Matlab)
– Sift
• Luc Van Gool (Matlab and C)
– SURF
• Engin Tola (Matlab and C)
– Daisy
Camera Calibration
• Jean-Yves Bouguet (Matlab)
• Christian Wengert (Matlab)
– Add on to the main toolbox
Epipolar Geometry
• Multiple View Geometry (Matlab)
– Fundamental Matrix
– Image correspondences
– Homography
• Peter Kovesi’s Matlab Functions (Matlab)
– Homography
– Ransac
– Line Fitting
• The Fundamental Matrix Song
Tracking
• Fabian Wauthier (Matlab)
– Motion Tracking
• Hungarian Algorithm (Matlab)
Matching
• DTW (Matlab)
• William Brendel
– CDTW (C)
Segmentation
• NCUT (Matlab)
• Berkeley (Matlab under Linux 64-bits)
• MeanShift (C code and Windows Binaries)
– More details for adding Binary to Matlab
– More details for MeanShift
– More Code for MeanShift
• Watershed (Matlab)
Object Detection
• Pedro F. Felzenszwalb (Matlab under Linux)
• Navneet Dalal (OpenCV and Linux Binaries)
• Bastian Leibe (OpenCV and Linux Binaries)
Other
• Computer Vision Software
• CVPR TOOLBOX
– cvEucdist - Euclidean distance
– cvMahaldist - Mahalanobis distance
– cvGmm - Construct a GMM structure
– cvGmmEm - Train Gaussian Mixture Models (GMM) using EM algorithm.
– cvGmmPdf - Probability Density Function of Mixtures of Gaussian
– cvHarrisCorner - Harris Corner Detector
– cvHisteq - Histogram Equalization
– cvHistnorm - Histogram Normalization or Streching
– cvKmeans - K-means clustering
– cvKnn - K-Nearest Neighbor classification
– cvLda - Fisher's Linear Discriminant Analysis (FLDA or LDA)
– cvLdaInvProj - Inverse LDA Projection
– cvLdaProj - Projects feature vectors into LDA space
– cvLibmsvmPredict - Multi-class extension of LIBSVM [1]
– cvLibmsvmTrain - Multi-class extension of LIBSVM [1]
– cvMatchTemplate - Template Matching
– cvMeanCov - Compute mean and covariance (variance for 1-D)
Other
– cvPca - Principal Component Analysis
– cvPcaDiffs - Distance "in" and "from" feature space [1]
– cvPcaDist - Distance between a point to a PCA space
– cvPcaInvProj - Inverse PCA Projection
– cvPfa - Principal Feature Analysis (Feature Selection)
– cvrKnn - Run Interface of cvKnn
– cvSvmSimple - SVM Classifier for linearly separable data
– cvuNormalize - (CV Utility) Normalize Array in [low, high]
– cvuOpenCvLoad - (CV Utility) Load data in OpenCV CvFileStorage
XML format
– cvuOpenCvSave - (CV Utility) Save data in OpenCV CvFileStorage
XML format
– cvuPowerlawFit - (CV Utility) Curve fitting by power law form y =
p(1)*x^p(2)

You might also like