% Estereograma con franjas repetidas y figura oculta

% Parámetros
width = 800;     % ancho de la imagen
height = 600;    % alto de la imagen
stripeWidth = 80; % ancho de la franja base
shift = 25;      % desplazamiento para el efecto 3D

% Crear franja base en color (ruido aleatorio)
stripe = randi([0 255], height, stripeWidth, 3, 'uint8');

% Repetir la franja a lo largo del ancho de la imagen
pattern = repmat(stripe, 1, ceil(width/stripeWidth));
pattern = pattern(:,1:width,:); % recortar al tamaño exacto

% Definir figura oculta (círculo)
[x, y] = meshgrid(1:width, 1:height);
circle = (x - width/2).^2 + (y - height/2).^2 < (120^2);

% Crear estereograma aplicando desplazamiento
stereogram = pattern;
for row = 1:height
    for col = (shift+1):width
        if circle(row, col)
            stereogram(row, col, :) = pattern(row, col-shift, :);
        end
    end
end

% Mostrar resultado
imshow(stereogram);
title('Estereograma con franjas repetidas');


