MATLAB Answers

Vingetting an image using loop

2 views (last 30 days)
This is my work below I keep getting a black image for my vinColor. Any suggestions?
Color = imread('sunflower.jpg');
Center = size(Color)/2+.5;
[l,h,~] = size(Color);
for x=1:l
for y=1:h
d = sqrt((x-Center(1))^2+(y-Center(2))^2);
end
D = 246.9261
r = d./D
end
imshow(Color)
VinColor = Color .* (1-r.^2);
figure(2)
imshow(VinColor)

  4 Comments

Show 1 older comment
Yogesh Bhambhwani
Yogesh Bhambhwani on 14 Nov 2020
I did that since I wanted to find the max d and divide it by all of the d values and to do that I had to include it in the loop others wise it would only divide by the max d and not the other values.
KSSV
KSSV on 14 Nov 2020
If you want to get the max..you have to store the d values in to an array.
for y=1:h
d(y) = sqrt((x-Center(1))^2+(y-Center(2))^2);
end
D = max(d) ;
Yogesh Bhambhwani
Yogesh Bhambhwani on 14 Nov 2020
okay but I need to take that max and divide it by all of the values d how would I do that?

Sign in to comment.

Accepted Answer

Subhadeep Koley
Subhadeep Koley on 14 Nov 2020
Hope this works.
colorImg = im2double(imread('kobi.png'));
center = size(colorImg)/2+.5;
[l,h,~] = size(colorImg);
d = zeros(l, h);
for x=1:l
for y=1:h
d(x, y) = sqrt((x-center(1))^2+(y-center(2))^2);
end
end
D = max(d);
r = d./D;
vinColor = colorImg .* (1-r.^2);
figure
montage({colorImg, vinColor})

  2 Comments

Yogesh Bhambhwani
Yogesh Bhambhwani on 14 Nov 2020
It gives me the error
Undefined function 'montage' for input arguments of type 'cell'.
Subhadeep Koley
Subhadeep Koley on 14 Nov 2020
That's just for visualization. You can use imshow too, like below.
colorImg = im2double(imread('kobi.png'));
center = size(colorImg)/2+.5;
[l,h,~] = size(colorImg);
d = zeros(l, h);
for x=1:l
for y=1:h
d(x, y) = sqrt((x-center(1))^2+(y-center(2))^2);
end
end
D = max(d);
r = d./D;
vinColor = colorImg .* (1-r.^2);
figure
imshow(colorImg)
figure
imshow(vinColor)

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!