# fuzzy logic for image processing

5 views (last 30 days)
nayomi ranamuka on 28 May 2011
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.
nayomi ranamuka on 29 May 2011
Furthermore I need r,g,b components separately for determining membership function. Can anybody help me ?
jagkaran on 25 Oct 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 ....

Vito on 25 Oct 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.
Dil on 16 Oct 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...

Arkadiy Turevskiy on 7 Mar 2014
This new example might help: Fuzzy Logic Image Processing .

### Categories

Find more on Fuzzy Logic Toolbox in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!