ProgrammingComputerVisionwithPythonJanErikSolemProgrammingComputerVisionwithPythonCopyright©2012JanErikSolem.Thisversionoftheworkisapre-productiondraftmadeavailableunderthetermsoftheCreativeCommonsAttribution-Noncommercial-NoDerivativeWorks3.0UnitedStatesLicense.http://creativecommons.org/licenses/by-nc-nd/3.0/us/2ContentsPreface7PrerequisitesandOverview..............................8IntroductiontoComputerVision...........................9PythonandNumPy...................................10NotationandConventions...............................10Acknowledgments...................................111BasicImageHandlingandProcessing131.1PIL–thePythonImagingLibrary........................131.2Matplotlib....................................161.3NumPy........................................201.4SciPy........................................311.5Advancedexample:Imagede-noising.....................392LocalImageDescriptors452.1Harriscornerdetector..............................452.2SIFT-Scale-InvariantFeatureTransform...................522.3MatchingGeotaggedImages..........................633ImagetoImageMappings733.1Homographies...................................733.2Warpingimages..................................783.3CreatingPanoramas...............................914CameraModelsandAugmentedReality1034.1ThePin-holeCameraModel...........................1034.2CameraCalibration................................1094.3PoseEstimationfromPlanesandMarkers...................1104.4AugmentedReality................................11435MultipleViewGeometry1275.1EpipolarGeometry................................1275.2ComputingwithCamerasand3DStructure..................1365.3MultipleViewReconstruction..........................1445.4StereoImages...................................1526ClusteringImages1616.1K-meansClustering................................1616.2HierarchicalClustering.............................1696.3SpectralClustering................................1757SearchingImages1857.1Content...