Archive

Posts Tagged ‘Image Processing’

Adobe moves to Web apps with Hydra

October 22nd, 2007

Seems that a company leader for image graphics software - , is about to release a new language which will enhance the capacities of image filtering on the Web. Language’s codename is Hydra, and you can find at Adobe Labs section. T

That’s what John Nack said about nice advanced technology:

“Hydra is tuned to run ridiculously fast on modern graphics cards (GPUs), and ’ll be tuned for multi-core CPUs as well…Here’s a key point, though: the same Hydra technology is being used to power the fast filters in After Effects CS3. Therefore an AE plug-in developer could effectively also develop runtime effects for Flash, while a Flash developer could leverage her work inside AE.”

Here are some benefits of :

  • Familiar syntax that is based on GLSL, which is C-based
  • Allows the same filter to run efficiently on different GPU and CPU architectures, including multi-core and multiprocessor systems in a future update
  • Abstracts out the complexity of executing on heterogeneous hardware
  • Supports 3rd party creation and sharing of filters and effects
  • Delivers excellent performance in products

Some of the filtering examples you can find at Kevin Goldsmith’s blog.

Design, Gadgets , , ,

Matlab. Dilate, Erode & Open-Close functions

March 22nd, 2007

matlab_in-actionWhile playing around with basic types of grayscale and binary images in , I’ve found few nice functions to be used to perform simple morphological changes and noise clearance of an image.

If you have to use a basic morphological changes to your grayscale image, I think ’s impossible to avoid imerode() and imdilate() functions, which give the ability of (as you guessed!) erosion and dilation binary, grayscale or packed images.

Of course, to perform these changes you should use strel() function with predefined structural elements, which will be used in dilation and/or erosion functions. The links provided in the post will give a huge amount of description concerning these functions with examples of its usage.

The other function I’d like to mention are fully dependent on dilate/erode pair, since combining these two, we can provide better elimination of noise with keeping initial image morphology.

The functions imopen() and imclose() use same arguments passing through therefore you can achieve better with writing simply another few lines of code.

Links , , ,

Matlab: Threshold

March 1st, 2007

Even though we have threshold built-in function in , ’s not really convenient to be used, because an automated threshold level identification can give an opportunity for the user to control the intensity of the image he is working on.
I think the best explanation of the theoretical part is a simple example. So, here we are, the user is given the choice of inputting his own threshold level, so the program will work on .

Image = imread(’picturename.tif’);
%Input the user desired threshold level
thresh = input(’Enter a threshold level [between 0 & 1]:’);
%Convert an image to grayscale
ImFin = im2bw(Image, thresh);

For those who need more sophisticated ways of processing an image via later pixel calculation, the user will have use this tiny piece of code:


%translate coordinates of ImFin to matrix I
I = size(ImFin);
%Initialize basic variables
sum_white = 0;
sum_black=0;
%Coordinates nested loop for eliminating pixels position
for i=1:I(1)
for j=1:I(2)
%Color condition
if ImFin(i,j) ~=0;
sum_white = sum_white+1;
else
sum_black = sum_black+1;
end
end
end
a = [sum_white, sum_black];

Due to the fact that we’ve transformed the image to binary type, can contain only two types of color, 0(black) or 1(white), thus using

plot()

function we can compare the results of images, and if a new matrix “a” have the same results as

imhist()

function.

Threshold function is quite useful in case of silhouette recognition, when we have a picture with monochrome background, so ’s easy to establish the difference between foreground and background objects of the image.

Design, Gadgets , , , ,

Image Processing: Outside and Inside views

February 27th, 2007

matlab_logo
Working with different graphical editors, like Photoshop, Illustrator, Corel Draw, I’ve never gone really deep into details of actual algorithms. Simply, because I didn’t have to. Since every tool does what I want - ’s enough!

But, taking Data course, I’ve witnessed bunches of maths inside. And after calculating an average number of filters used in any graphic editor, I just want to take off my hat in front of these people who created these applications, and thank them. Guys, you’re a crazy maths geeks!

Another regards should be sent to Matlab Community for releasing such a powerful tool, and those people who support the community and post really helpful material, because concerning so many features of I got lost in this pile of commands, functions and processing features.

Design, Gadgets , , , ,