
Ayuda, Transformación de Perspectiva de una Imagen en Matlab
Publicado por Lamt (6 intervenciones) el 10/04/2018 22:58:59
Hola a todos, hoy vengo con este problema, que no se a que se deba espero me puedan ayudar :)
Lo que realmente quiero lograr es un efecto como esto en una Imagen:

Este es mi codigo
Funcion de perspectiva de una imagen:
El siguiente código, es la corrida de mi función en un nuevo programa:
Imagen de entrada:

Cuando lo corro, me sale unicamente esto:

Anexo mi referencia de la fuente que consulté para la elaboración del codigo

Lo que realmente quiero lograr es un efecto como esto en una Imagen:
Este es mi codigo
Funcion de perspectiva de una imagen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
%%Funcion de perspectiva de una imagen
%%IMAGEN
%%FACTOR, K PARA GENERAR LA INCLINACION
%%k - perspectiva
%%G salida de la imagen
function [ G ] = perspectiva( I, k )
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
k=abs(k)
G=0;
tamCol=round(size(I,1)*size(I,2)*k);
if(tamCol < 2000) %%tamaño de la imagen maximo permitido columnas
G=zeros(size(I,1), tamCol , size(I,3));
for i=1:size(I,1)
for j=1:size(I,2)
ncol=round(i*j*k);
G(i,ncol,:)=I(i,j,:)+1;
end;
end;
end;
G=uint8(G);
end
El siguiente código, es la corrida de mi función en un nuevo programa:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
close All;
clear All;
clc;
I=imread('C:\Users\lamt\Documents\Topico_I\Salidas\Delf.jpg');
tic; G1=perspectiva(I, 0.1); toc;
tic; G2=perspectiva(I, 1); toc;
tic; G3=perspectiva(I, 1); toc;}
tic; G4=perspectiva(I, 1); toc;
figure;
image(I); title('Imagen original');
figure;
subplot(2,2,1); image(G1); title('K = 0.00');
subplot(2,2,2); image(G2); title('K = 0.00');
subplot(2,2,3); image(G3); title('K = 0.00');
subplot(2,2,4); image(G4); title('K = 0.00');
imwrite(G1, 'C:\Users\lamt\Documents\Topico_I\Salidas\IPerspectiva1.jpg');
imwrite(G2, 'C:\Users\lamt\Documents\Topico_I\Salidas\IPerspectiva2.jpg');
imwrite(G3, 'C:\Users\lamt\Documents\Topico_I\Salidas\IPerspectiva3.jpg');
imwrite(G4, 'C:\Users\lamt\Documents\Topico_I\Salidas\IPerspectiva4.jpg');
Imagen de entrada:

Cuando lo corro, me sale unicamente esto:
Anexo mi referencia de la fuente que consulté para la elaboración del codigo
Valora esta pregunta


0