Увеличить изображение с помощью Matlab - PullRequest
0 голосов
/ 28 апреля 2019

не могли бы вы помочь мне с моим алгоритмом масштабирования, мой код запрашивает масштаб, который вы хотите на изображении; если я наберу 2, он работает отлично.

2-кратное увеличение изображения

Но если я наберу 3х или больше, я получу что-то вроде этого:

3-кратное увеличение изображения

l = imread('coins.png');
l = double(l);
[fil,col] = size(l);
A = zeros(3*fil,3*col);
B = zeros(3*fil,3*col); 
s = input('Whats the zoom?');

for i=1:fil
 for j=1:col
    A(i,j) = l(i,j);
    x = s*i; 
    y = s*j;
    B(x-s+1,y-s+1) = A(i,j);
 end
end

for i=1:s:(3*fil)-1
 for j=2:s:(3*col)-1
    B(i,j) = (B(i,j-1) + B(i,j+1))/2; 
 end
end

for i=2:s:(3*fil)-1
 for j=1:(3*col)-1
    B(i,j) = (B(i-1,j) + B(i+1,j))/2;
 end
end

A = uint8(A);
B = uint8(B);
subplot(1,2,1);
imshow(A);
subplot(1,2,2);
imshow(B);

Буду признателен за рекомендации и спасибо за ваше время

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...