Clear Filters
Clear Filters

fuzzy logic for image processing

5 views (last 30 days)
nayomi ranamuka
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
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
RGB components can be seperated by using ...
red = image(:, :, 1);
green = image(:, :, 2);
blue = image(:, :, 3);
image can be noisy or original ....

Sign in to comment.

Answers (2)

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.
  1 Comment
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...

Sign in to comment.

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


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!