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
|