fuzzy logic for image processing

2 visualizaciones (últimos 30 días)
nayomi ranamuka
nayomi ranamuka el 28 de Mayo de 2011
Respondida: Arkadiy Turevskiy el 7 de Mzo. de 2014
Dear all,
I want to use fuzzy logic for image processing. But I've following problem.
1) How to transfer the input image for fuzzy logic functions.
I need to evaluate each pixels in a particular area.
Thank you.
  2 comentarios
nayomi ranamuka
nayomi ranamuka el 29 de Mayo de 2011
Furthermore I need r,g,b components separately for determining membership function. Can anybody help me ?
jagkaran
jagkaran el 25 de Oct. de 2011
u can gather your info from http://www.icgst.com/gvip/volume9/issue5/p1150913709.pdf
RGB components can be seperated by using ...
red = image(:, :, 1);
green = image(:, :, 2);
blue = image(:, :, 3);
image can be noisy or original ....

Iniciar sesión para comentar.

Respuestas (2)

Vito
Vito el 25 de Oct. de 2011
"Fuzzy logic" is one of variants of neural networks.
From - for restrictions, for image processing doesn't approach.
"Fuzzy logic" it is equivalent to statistics.
"Membership Functions"-functions of distribution probability.
Therefore the result which is received on an output, no more than a probability estimation of input values.
Considering that result of any logical expression - one value (for sample: (a) or not (a) =true), application "Fuzzy logic" as an image handling facility is extremely restricted.
If the task - an estimation pixel in area "Fuzzy logic" can be used.
Let's admit, the image represents RGB.
The array from three values - R, G, B will be input.
input (R, G, B)-> output (estimation).
But on an output, there will be a probability allocation of these values to all set.
If it is necessary to estimate in some area it is necessary to break set into classes (for example: a red class, a green class, a blue class).
The first network (anfis1).
R G B output
trnData = [255 0 100 (R*1+G*2+B*3)/1530=355/1530=0.23;
50 255 0 (R*1+G*2+B*3)/1530=305/1530=0.1993;
0 200 255 (R*1+G*2+B*3)/1530=455/1530 = 0.2974;];
........ We receive fuzzy sets (areas).
Output defines area and pixel. The estimation shows a level of product of sets R, G, B.
Changing, after training value of any of input parameters, we will receive a pixel estimation (and accordingly area).
output (anfis1) = range [0, 1];
That is we can analyze the image about color blending.
For example.
estimation = 1 = (R or G or B) = white color (perfect square)
estimation = 0.5 = (R or G or B) = gray color (half of square)
It is possible to add and the second network.
The second network (anfis2).
trnData = [output (anfis1) R G B estimation = (R*1+G*2+B*3)/1530]
output (anfis2) = range [0, 1];
Changing value output (anfis1), we will receive various points in once square.
------------- |
| A |output (anfis2)
| |
| _ ______ |
output (anfis1)
A (x=output (anfis1), y=output (anfis2)) = A (0.5,0.5) will correspond to pixel having gray color.
But it is better to use powerful neural networks.
  1 comentario
Dil
Dil el 16 de Oct. de 2013
Can you explain how can I link the output from image processing to fuzzy controller model? For example say we calculate some distance between two objects in the image. how can i set this distance as an input to the fuzzy controller? thank you...

Iniciar sesión para comentar.


Arkadiy Turevskiy
Arkadiy Turevskiy el 7 de Mzo. de 2014
This new example might help: Fuzzy Logic Image Processing .

Categorías

Más información sobre Fuzzy Logic Toolbox en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by