Sundermeyer MAR 550 Spring Laboratory in Oceanography: Data and Methods MAR550, Spring 2013 Miles A. Sundermeyer Image Processing/Analysis
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox/Product Overview Overview of Image Processing Toolbox A collection of functions that extend the capability of MATLAB numeric computing for image processing operations, including: Spatial image transformations Morphological operations Neighborhood and block operations Linear filtering and filter design Transforms Image analysis and enhancement Image registration Deblurring Region of interest operations
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox/Product Overview Loading and writing images To read an image, use ‘imread’ Example: >> imfinfo('pout2.png') >> I = imread('pout.tif'); >> imshow(I) >> whos I >> >> II = imread(‘StarWars.tif’); >> whos II >> imshow(StarWars(:,:,1:3); >> >> imwrite (II(:,:,1:3), ‘StarWars.png');
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox/Introduction/Image Types in the Toolbox Image TypeInterpretation Binary (aka bilevel) Logical array of 0s and 1s, interpreted as b&w Indexed (aka pseudocolor) Array of class logical, uint8, uint16, single, or double whose pixel values are direct indices into an m-by-3 colormap. Grayscale (aka intensity, gray scale, or gray level) Array of class uint8, uint16, int16, single, or double whose pixel values specify intensity values. Truecolor (aka RGB image ) An m-by-n-by-3 array of class uint8, uint16, single, or double whose pixel values specify intensity values.
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox/Introduction/Image Types in the Toolbox The Separated Color Planes of an RGB Image
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox/Introduction/Image Types in the Toolbox red greenblue
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies by: G. A. Stuart (2007)
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d) The time evolution of a centrally injected patch of green dye was observed in response to a preset sequence of 8 mixing events
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d)
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d) Computing and subtracting image background >> bkgd = blkproc(newa,[5 5],[50 nanmedian(x(:)));
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d) Identify ‘dark bits’ >> bkgcutoff = 165; >> darkbits = find(ambkg<bkgcutoff & ~(ambkg==nan));
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d) Linearly interpolate over masked portions of image >> newdarkbits = griddata(Xgrid(lightbits),Ygrid(lightbits),a(lightbits),... Xgrid(darkbits),Ygrid(darkbits),'linear');
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d)
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d)
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d)
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d)
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d)
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d)
Sundermeyer MAR 550 Spring Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d)
Sundermeyer MAR 550 Spring Two-Dimensional dye variance Inferred Eddy Diffusivity Time (s) Area of Ellipse (m 2 ) H = 2.3 x m 2 s -1 Observed area Fitted slope Image Processing/Analysis Image Processing Toolbox Example: Lab Studies (cont’d) Calculate growth rate of dye variance to determine effective horizontal diffusivity
Sundermeyer MAR 550 Spring Laboratory in Oceanography: Data and Methods MAR550, Spring 2013 Miles A. Sundermeyer Image Processing/Analysis Part II
Sundermeyer MAR 550 Spring Image Processing/Analysis Mapping Toolbox/Getting Started/Product Overview Overview of Mapping Toolbox A collection of functions that extend the capability of MATLAB numeric computing for mapping and GIS operations, including: Geospatial data import and access Vector map data and geographic data structures Geo-referenced images and data grids Map projections and coordinates Map display and interaction Geographic calculations for vector and raster data A map viewer and other graphical user interfaces
Sundermeyer MAR 550 Spring Image Processing/Analysis Mapping Toolbox/Getting Started/Your First Maps Loading and plotting simple map data Example: >> worldmap world% create an empty map axis >> load coast % load and plot coastlines >> plotm(lat, long) Example: >> h = worldmap('Europe')% create a new map axes for Europe >> % and add data to the map >> geoshow('landareas.shp', 'FaceColor', [ ]) >> geoshow('worldlakes.shp', 'FaceColor', 'cyan') >> geoshow('worldrivers.shp', 'Color', 'blue') >> geoshow('worldcities.shp', 'Marker', '.', 'MarkerEdgeColor', 'red')
Sundermeyer MAR 550 Spring Image Processing/Analysis Mapping Toolbox/Getting Started/Your First Maps The Map Viewer is an interactive tool for browsing map data Example: >> mapview >> % To import Mapping Toolbox demo data, change directory to: >> cd(fullfile(matlabroot,'toolbox','map','mapdemos')) >> % (can also get here by navigating to 'toolbox/map/mapdemos') >> % Import a vector data layer >> boston_roads = shaperead('boston_roads.shp');...
Sundermeyer MAR 550 Spring Image Processing/Analysis Mapping Toolbox/Understanding Map Data/Understanding Vector Geo-Data Points, Lines, Polygons Vector geospatial data is used to represent linear features such as rivers, coastlines, boundaries, and highways Example: >> lat = [ ]; long = [ ];
Sundermeyer MAR 550 Spring Image Processing/Analysis Mapping Toolbox Example: Allens Pond Nutrient Loading / Tidal Flushing Study Case Studies in Estuarine Dynamics (MAR620), Spring 2008 Sylvan Nurseries Quanset Nurseries Zylfee Brook gauge Tide gauge (still need datum) Isaac's Brook gauge Unable to gauge Audubon Field Station Fresh Pond (velocity only) Margaret's Brook (velocity only) Current Inlet (approximate location) Inlet does not connect to this channel Water Column sampling Zylfee Brook (velocity only) TBD
Sundermeyer MAR 550 Spring Image Processing/Analysis Mapping Toolbox Example: Allens Pond Nutrient Loading / Tidal Flushing Study Case Studies in Estuarine Dynamics (MAR620), Spring 2008
Sundermeyer MAR 550 Spring Image Processing/Analysis Mapping Toolbox Example: Allens Pond Nutrient Loading / Tidal Flushing Study Case Studies in Estuarine Dynamics (MAR620), Spring 2008
Sundermeyer MAR 550 Spring Image Processing/Analysis Mapping Toolbox Example: Allens Pond Nutrient Loading / Tidal Flushing Study Case Studies in Estuarine Dynamics (MAR620), Spring 2008
Sundermeyer MAR 550 Spring Image Processing/Analysis Mapping Toolbox Example: Allens Pond Nutrient Loading / Tidal Flushing Study Case Studies in Estuarine Dynamics (MAR620), Spring 2008
Sundermeyer MAR 550 Spring Image Processing/Analysis Mapping Toolbox Example: Allens Pond Nutrient Loading / Tidal Flushing Study Case Studies in Estuarine Dynamics (MAR620), Spring 2008
Sundermeyer MAR 550 Spring Image Processing/Analysis Mapping Toolbox Useful Tidbits: Mass GIS website: