Home

The table below lists all the MATLAB Image Processing Toolbox (IPT) functions that we have implemented in OpenCL.
For each function, there is a link to a separate web page, which includes the source code, the usage, current data type support and the
implemented algorithm, the MATLAB command line example for that particular function.



Function Category

Function Name

Function Description

Execution Time (in ms)

MATLAB CPU*

GPU Total#

GPU Kernel$

(A)  Data independent

intlut

Convert image pixel values using a lookup table

17.8

 22.6(0.8x)

1.94 (8.6%)

imadjust

Adjust image pixel values

22.0

 15.2(1.4x)

3.31(21.8%)

imlincomb

Linear combination of images

76.4

17.1(4.5x)

0.15(0.9%)

imrotate

Rotate an image

2421.7

17.9 (135.3x)

3.81(21.3%)

(B)  Data sharing

edge

Find edges in an image

 2101.4

37.5 (56.0x)

0.61(1.6%)

imregionalmax

Regional maxima of an image

1262.6

37.9(33.3x)

0.49(1.3%)

ordfilt2

2-D order-statistic filtering

1029.7

41.6(24.8x)

0.79(1.9%)

conv2

Linear filtering of an image using 2D convolution operation

8396.0

56.3(149.1x) 

10.24(18.2%) 

mean2

Average of image elements

5.9

15.3(0.4x)

0.16(1.0%)

imdilate, imerode

Dilate or erode an  image

3916.8

41.9(93.5x)

3.18(7.6%)

(C)Algorithm dependent

fft

Fast Fourier transform

108.3

69.3(1.6x)

2.28(3.3%)

bwdist

Distance transform of a binary image (Euclidean distance transform)

259.3

15.5(16.7x) 

1.29(8.3%)

radon

Radon transform of an image

2677.1

90.4(29.6x)

82.35(91.1%)

(D)  Data dependent

dither

Convert image, increasing apparent color resolution by dithering

349.6

265.8(1.3x) 

 58.1(21.9%)

watershed

Watershed transform

N/A

N/A

N/A

 
   The execution time obtained through the original functions provided by MATLAB on CPU.
#   GPU Total presents two numbers.
     The first number is the total execution time obtained through running the GPU-accelerated functions, including pure kernel execution time,
     CPU-GPU data transfer time, MEX-interface overhead.
     The second number (x) indicates the speedup of GPU Total over MATLAB CPU.
$   GPU Kernel presents two numbers.
     The first number is the pure kernel execution time.
     The second number (x%) indicates the percentage of GPU Kernel over GPU Total.


 

Computing environment and experiment setup:

hardware and software:   Windows XP 32-bit, MATLAB 2008a, Intel CPU Q6600 2.4GHz and ATI Radeon
5870.

Input Data:                     Performance results are obtained on 2K x 2K images of random values by default.
                                      (radon is with 320 angles and a 512 X 512 image, bwdist is with a 1024 x 1024 image)





Feedbacks are welcome or just shout below or write to Jingfei Kong!

Google Gadget to add iframe within Google Sites