Вы должны проверить тип исходного изображения и создать изображение того же типа.Следующий код поможет вам понять логику расширения изображения.Допустим, значение пикселя (1,1) вашего изображения равно 128, здесь мы записываем это значение в (1,1), (1,2), (2,1), (2,2) пикселей.
clear;clc;close all;
A=imread('rice.png'); % read the image
[rows, columns]=size(A); % get size of the image
m=2; % Expanding ratio (you can change that value to whatever you want)
newA=zeros(rows*2, columns*2,'uint8'); %new created image should be in same
for i=1:columns %type with original image.
for j=1:rows
newA(i*m,j*m)=A(i,j); % Writing pixel values on (2,2),(2,4),(4,2),(4,4),...
newA((i*m)-1,(j*m)-1)=A(i,j); % Writing pixel values on (1,1),(1,3),(3,1),(3,3),...
newA((i*m),(j*m)-1)=A(i,j); % Writing pixel values on (2,1),(2,3),(4,1),(4,3),...
newA((i*m)-1,(j*m))=A(i,j); % Writing pixel values on (1,2),(1,4),(3,2),(3,4),...
end
end