Vingetting an image using loop

2 vues (au cours des 30 derniers jours)
Yogesh Bhambhwani
Yogesh Bhambhwani le 13 Nov 2020
Commenté : Subhadeep Koley le 14 Nov 2020
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 commentaires
KSSV
KSSV le 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 le 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?

Connectez-vous pour commenter.

Réponse acceptée

Subhadeep Koley
Subhadeep Koley le 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 commentaires
Yogesh Bhambhwani
Yogesh Bhambhwani le 14 Nov 2020
It gives me the error
Undefined function 'montage' for input arguments of type 'cell'.
Subhadeep Koley
Subhadeep Koley le 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)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Display Image dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by