imagenescomparando
Publicado por alexanchz (9 intervenciones) el 06/10/2011 04:18:10
consulta por favor;
tengo:''t'' una imagen cargada y duardada y ''p'' otra imagen que en este caso es la imagen 't'solo que en grises,me piden comparar dos imagenes y eso es lo que no entiendo, matlab me recibe las imagenes y las guarda como una matriz,cuando me piden comparar eh buscado y eh encontrado el comando ''corr2'' que sirve para comparar,lo eh aplicado a estas dos imagenes pero me sale error esta mal mi aplicacion a la hora de comparar o necesito otro comando,ya que si me piden comparar supongo que matlab compara como matrices,esa es mi duda ya que si yo comparo una imagen gris y una a color en este caso sus matrices son distintas,que comando es sugerible para comparar imagenes,o estoy aplicando mal el corr2 ya que si yo comparo matriz si me las compara pero con mis imagenes no,salvo esan imagenes en gris iguales o distintas donde estara el error,quizas en las dimensiones de las imagenes,supongo.
>>[c,d]=uigetfile({'*.jpg';'*.png';'*.bmp'});
>>t=imread([d,c]);
>>imshow(t)
>>figure(2)
>>g=rgb2gray(t);
>>imshow(g)
;
para vectores
A =
4 5 6
5 7 8
>> B=[2 3 4;4 5 6]
B =
2 3 4
4 5 6
>> corr2(A,B)
ans =
0.9608
para 2imagenes iguales pero a color;
>> [c,d]=uigetfile({'*.jpg';'*.png';'*.bmp'});
>> t=imread([d,c]);
>> imshow(t)
>> corr2(t,t)
??? Error using ==> mtimes
Input arguments must be 2-D.
Error in ==> corr2 at 26
r = sum(sum(a.*b))/sqrt(sum(sum(a.*a))*sum(sum(b.*b)));
pero para dos imagenes iguales en escala gris resulta
>> g=rgb2gray(t);
>> corr2(g,g)
ans =
1
es logico ya que son iguales
y para dos imagenes en gris pero diferentes de la forma
>> g=rgb2gray(t);
>> g1=0.5.*g;
>> corr2(g,g1)
ans =
0.9999
y aun asi me vota valores.
porque cuando comparo imagenes a color me vota error incluso cuando son imagenes iguales....?
alguna recomendacion
tengo:''t'' una imagen cargada y duardada y ''p'' otra imagen que en este caso es la imagen 't'solo que en grises,me piden comparar dos imagenes y eso es lo que no entiendo, matlab me recibe las imagenes y las guarda como una matriz,cuando me piden comparar eh buscado y eh encontrado el comando ''corr2'' que sirve para comparar,lo eh aplicado a estas dos imagenes pero me sale error esta mal mi aplicacion a la hora de comparar o necesito otro comando,ya que si me piden comparar supongo que matlab compara como matrices,esa es mi duda ya que si yo comparo una imagen gris y una a color en este caso sus matrices son distintas,que comando es sugerible para comparar imagenes,o estoy aplicando mal el corr2 ya que si yo comparo matriz si me las compara pero con mis imagenes no,salvo esan imagenes en gris iguales o distintas donde estara el error,quizas en las dimensiones de las imagenes,supongo.
>>[c,d]=uigetfile({'*.jpg';'*.png';'*.bmp'});
>>t=imread([d,c]);
>>imshow(t)
>>figure(2)
>>g=rgb2gray(t);
>>imshow(g)
;
para vectores
A =
4 5 6
5 7 8
>> B=[2 3 4;4 5 6]
B =
2 3 4
4 5 6
>> corr2(A,B)
ans =
0.9608
para 2imagenes iguales pero a color;
>> [c,d]=uigetfile({'*.jpg';'*.png';'*.bmp'});
>> t=imread([d,c]);
>> imshow(t)
>> corr2(t,t)
??? Error using ==> mtimes
Input arguments must be 2-D.
Error in ==> corr2 at 26
r = sum(sum(a.*b))/sqrt(sum(sum(a.*a))*sum(sum(b.*b)));
pero para dos imagenes iguales en escala gris resulta
>> g=rgb2gray(t);
>> corr2(g,g)
ans =
1
es logico ya que son iguales
y para dos imagenes en gris pero diferentes de la forma
>> g=rgb2gray(t);
>> g1=0.5.*g;
>> corr2(g,g1)
ans =
0.9999
y aun asi me vota valores.
porque cuando comparo imagenes a color me vota error incluso cuando son imagenes iguales....?
alguna recomendacion
Valora esta pregunta


0