# Steve on Image Processing

## R2013a – image processing and computer vision

I've mentioned the R2013a release in two previous posts (15-May-2013 and 12-Mar-2013). Today I want to point out that R2013a is a pretty significant release in terms of new features related to image processing and computer vision.

Here's the quick summary of what's new in Image Processing Toolbox, Computer Vision System Toolbox, and Image Acquisition Toolbox.

Image Processing Toolbox version 8.2

• Image segmentation using active contours
• Classes and functions for representing and applying 2-D and 3-D geometric transformations
• Classes for defining the world coordinate system of an image
• Code generation for conndef, imcomplement, imfill, imhmax, imhmin, imreconstruct, imregionalmax, imregionalmin, iptcheckconn, and padarray functions (using MATLAB Coder)
• GPU acceleration for imrotate, imfilter, imdilate, imerode, imopen, imclose, imtophat, imbothat, imshow, padarray, and bwlookup functions (using Parallel Computing Toolbox)

Computer Vision System Toolbox version 5.2

• Cascade object detector training using Haar, Histogram of Oriented Gradients (HOG), and Local Binary Patterns (LBP) features
• Fast Retina Keypoint (FREAK) algorithm for feature extraction
• Hamming distance method for matching features
• Multicore support in matchFeatures function and Foreground Detector System object
• Functions for corner detection, geometric transformation estimation, and text and graphics overlay, augmenting similar System objects

Image Acquisition Toolbox version 4.5

• Kinect for Windows sensor support for acquiring images, depth maps, skeleton data, and related metadata

I've written extensively here in the past about geometric transformations (the spatial transformations category includes 21 different posts over a three-year period). Now there is much more to say. The new geometric transformation functionality represents a ground-up redesign, based partially on customer response and feedback to the functionality (such as imtransform) added way back in 2001. I hope to recruit a developer on the Image Processing Toolbox team to post here soon about the changes.

In the meantime, here's an example from the documentation for the new function imsharpen.

a = imread('hestain.png');
imshow(a)
title('Original Image');

b = imsharpen(a);
imshow(b)
title('Sharpened Image');


Get the MATLAB code

Published with MATLAB® R2013a

### 4 Responses to “R2013a – image processing and computer vision”

1. Kay-Uwe Kirstein replied on :

Hi Steve,

what is the actual difference between the new imsharpen(..) function compared to calling imfilter(.., fspecial(‘unsharp’))?
BTW, it looks like the ‘unsharp’ case has been removed from the fspecial doc (but the example image is still there..)

Cheers,
Kay-Uwe

2. Steve Eddins replied on :

Kay-Uwe—Good question. That filter, which appeared in IPT 1.0 way back in 1993, was an overly simplistic approach that is not consistent with how image sharpening is done in modern image editing. imsharpen uses larger highpass filter as well as nonlinear thresholding near edges. It also handles color images automatically by converting to L*a*b* space, sharpening the L* plane, and converting back. We took fspecial(‘unsharp’,…) out of the documentation intentionally in order to discourage its further use.

3. hafiz shehbaz ali replied on :

What is difference between you these two different categories of commands.
1. commands which use matlab coder
2.commands which use parallel computing toolbox
Code generation for conndef, imcomplement, imfill, imhmax, imhmin, imreconstruct, imregionalmax, imregionalmin, iptcheckconn, and padarray functions (using MATLAB Coder)

GPU acceleration for imrotate, imfilter, imdilate, imerode, imopen, imclose, imtophat, imbothat, imshow, padarray, and bwlookup functions (using Parallel Computing Toolbox)

4. Steve Eddins replied on :

Hafiz—If you have the product MATLAB Coder, then the functions listed are supported for code generation.

If you have the product Parallel Computing Toolbox, then the functions listed are accelerated if your computer has a supported GPU.

Steve Eddins is a software development manager in the MATLAB and image processing areas at MathWorks. Steve coauthored Digital Image Processing Using MATLAB. He writes here about image processing concepts, algorithm implementations, and MATLAB.

These postings are the author's and don't necessarily represent the opinions of MathWorks.