clear all;
clc;
I1=imread('im2.jpg');
[m,n]=size(I1);
a= min(min(I1));
b= max(max(I1));
maxi=1;
for i=2:m-1
for j=2:n-1
if (I1(i,j)>maxi)
maxi=I1(i,j);
end
r1=maxi;
end
end
res=(a+b)/r1;
clc;
I1=I1/res;
imshow(I1);
Tuesday, June 9, 2009
Histograma por un escalar Ejemplo A
clear all;
clc;
I1=imread('im2.jpg');
[m,n]=size(I1);
a= min(min(I1));
b= max(max(I1));
maxi=1;
for i=2:m-1
for j=2:n-1
if (I1(i,j)>maxi)
maxi=I1(i,j);
end
r1=maxi;
end
end
res=(a+b)/r1;
clc;
I1=I1*res;
imshow(I1);
clc;
I1=imread('im2.jpg');
[m,n]=size(I1);
a= min(min(I1));
b= max(max(I1));
maxi=1;
for i=2:m-1
for j=2:n-1
if (I1(i,j)>maxi)
maxi=I1(i,j);
end
r1=maxi;
end
end
res=(a+b)/r1;
clc;
I1=I1*res;
imshow(I1);

clear all;
clc
***************************************************
LECTURA DE IMAGENES
**************************************************
I1=imread('detec1.jpg');
I2=imread('detec2.jpg')
[m,n]=size(I1)
***************************************************
UMBRALIZACION IMAGEN 1
**************************************************
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)>
UMBRALIZACION IMAGEN 2
**************************************************
[m,n]=size(I2)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)>
I1(i,j)=0;
else I2(i,j)=255;
end
end
end
***************************************************
RESTA DE MATRIZ 1 Y 2
**************************************************
imshow(abs(I2-I1));
Wednesday, June 3, 2009
humbralizacion - deteccion de esquina
clear all;
clc
I1=imread('im1.jpg');
[m,n]=size(I1)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I1(i,j)=255;
end
end
end
V=double(zeros(2,4));
i=1;
j=1;
for i=10:m-1
for j=10:n-1
if (I1(i,j)==255)
V(1,1)=i;
V(1,2)=j;
end
end
end
i=1;
j=1;
for i=m-1:2
for j=n-1:2
if (I1(i,j)==255)
V(2,1)=i;
V(2,2)=j;
end
end
end
i=1;
j=1;
for j=n-1:2
for i=m-1:2
if (I1(i,j)==255)
V(3,1)=i;
V(3,2)=j;
end
end
end
i=1;
j=1;
for j=2:n-1
for i=2:m-1
if (I1(i,j)==255)
V(4,1)=i;
V(4,2)=j;
end
end
end
imshow(I1);
clc
I1=imread('im1.jpg');
[m,n]=size(I1)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I1(i,j)=255;
end
end
end
V=double(zeros(2,4));
i=1;
j=1;
for i=10:m-1
for j=10:n-1
if (I1(i,j)==255)
V(1,1)=i;
V(1,2)=j;
end
end
end
i=1;
j=1;
for i=m-1:2
for j=n-1:2
if (I1(i,j)==255)
V(2,1)=i;
V(2,2)=j;
end
end
end
i=1;
j=1;
for j=n-1:2
for i=m-1:2
if (I1(i,j)==255)
V(3,1)=i;
V(3,2)=j;
end
end
end
i=1;
j=1;
for j=2:n-1
for i=2:m-1
if (I1(i,j)==255)
V(4,1)=i;
V(4,2)=j;
end
end
end
imshow(I1);
detección de movimiento
clear all;
clc
I1=imread('detect1.bmp');
I2=imread('detect2.bmp')
[m,n]=size(I1)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I1(i,j)=255;
end
end
end
[m,n]=size(I2)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I2(i,j)=255;
end
end
end
imshow(abs(I2-I1));
clc
I1=imread('detect1.bmp');
I2=imread('detect2.bmp')
[m,n]=size(I1)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I1(i,j)=255;
end
end
end
[m,n]=size(I2)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I2(i,j)=255;
end
end
end
imshow(abs(I2-I1));
codigo mathlab humbral + detección de esquina
clear all;
clc
I1=imread('im1.jpg');
[m,n]=size(I1)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I1(i,j)=255;
end
end
end
V=double(zeros(2,4));
i=1;
j=1;
for i=10:m-1
for j=10:n-1
if (I1(i,j)==255)
V(1,1)=i;
V(1,2)=j;
end
end
end
i=1;
j=1;
for i=m-1:2
for j=n-1:2
if (I1(i,j)==255)
V(2,1)=i;
V(2,2)=j;
end
end
end
i=1;
j=1;
for j=n-1:2
for i=m-1:2
if (I1(i,j)==255)
V(3,1)=i;
V(3,2)=j;
end
end
end
i=1;
j=1;
for j=2:n-1
for i=2:m-1
if (I1(i,j)==255)
V(4,1)=i;
V(4,2)=j;
end
end
end
imshow(I1);
clc
I1=imread('im1.jpg');
[m,n]=size(I1)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I1(i,j)=255;
end
end
end
V=double(zeros(2,4));
i=1;
j=1;
for i=10:m-1
for j=10:n-1
if (I1(i,j)==255)
V(1,1)=i;
V(1,2)=j;
end
end
end
i=1;
j=1;
for i=m-1:2
for j=n-1:2
if (I1(i,j)==255)
V(2,1)=i;
V(2,2)=j;
end
end
end
i=1;
j=1;
for j=n-1:2
for i=m-1:2
if (I1(i,j)==255)
V(3,1)=i;
V(3,2)=j;
end
end
end
i=1;
j=1;
for j=2:n-1
for i=2:m-1
if (I1(i,j)==255)
V(4,1)=i;
V(4,2)=j;
end
end
end
imshow(I1);
Codigo Mathlab Detección moviemineto
clear all;
clc
I1=imread('detect1.bmp');
I2=imread('detect2.bmp')
[m,n]=size(I1)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I1(i,j)=255;
end
end
end
[m,n]=size(I2)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I2(i,j)=255;
end
end
end
imshow(abs(I2-I1));
clc
I1=imread('detect1.bmp');
I2=imread('detect2.bmp')
[m,n]=size(I1)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I1(i,j)=255;
end
end
end
[m,n]=size(I2)
for i=2:m-1
for j=2:n-1
if (I1(i,j)<80)
I1(i,j)=0;
else I2(i,j)=255;
end
end
end
imshow(abs(I2-I1));
Tuesday, May 26, 2009
umbralizacion
import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;
public class ejemplo1 implements PlugInFilter
{
ImagePlus imp;
public int setup(String arg, ImagePlus imp)
{
this.imp = imp;
return DOES_ALL;
}
public void run(ImageProcessor ip)
{
int a=ip.getWidth();
int b=ip.getHeight();
for(int i=0;i
{
for(int j=0;j
{
int m=ip.getPixel(i,j);
if(p<50)
{
m=0;
}
if(p>50)
{
m=255;
}
im.putPixel(i,j,255-p);
}
}
}
}
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;
public class ejemplo1 implements PlugInFilter
{
ImagePlus imp;
public int setup(String arg, ImagePlus imp)
{
this.imp = imp;
return DOES_ALL;
}
public void run(ImageProcessor ip)
{
int a=ip.getWidth();
int b=ip.getHeight();
for(int i=0;i
{
for(int j=0;j
{
int m=ip.getPixel(i,j);
if(p<50)
{
m=0;
}
if(p>50)
{
m=255;
}
im.putPixel(i,j,255-p);
}
}
}
}
Wednesday, May 6, 2009
Filtro de la mediana offline
clear;
V=uint8(zeros(9,1));
A=imread('auto.jpg');
[m,n]= size(A);
B=uint8(zeros(m,n));
for i=2:m-1;
for j=2:n-1
V=[A(i-1, j-1),A(i-1, j),A(i-1, j+1),A(i, j-1),A(i, j),A(i, j+1),A(i+1, j-1),A(i+1, j),A(i+1, j+1)];
C=sum(V);
B(i,j)=uint8(C/9);
end
end;
A(2:m-1,2:n-1)=B(2:m-1,2:n-1);
imshow(A);
V=uint8(zeros(9,1));
A=imread('auto.jpg');
[m,n]= size(A);
B=uint8(zeros(m,n));
for i=2:m-1;
for j=2:n-1
V=[A(i-1, j-1),A(i-1, j),A(i-1, j+1),A(i, j-1),A(i, j),A(i, j+1),A(i+1, j-1),A(i+1, j),A(i+1, j+1)];
C=sum(V);
B(i,j)=uint8(C/9);
end
end;
A(2:m-1,2:n-1)=B(2:m-1,2:n-1);
imshow(A);
Filtro de la Mediana online (Math Lab)
V=uint8(zeros(9,1));
I1=imread('im1.jpg');
[m,n]=size(I1);
for i=2:m-1;
for j=2:n-1
V=uint8(I1(i-1,j-1)+I1(i-1,j)+I1(i-1,j+1)+I1(i,j-1)+I1(i,j)+I1(i,j+1)+I1(i+1,j-1)+I1(i+1,j)+I1(i+1,j+1));
I1(i,j)=V/9;
end
end
imshow(I1);
I1=imread('im1.jpg');
[m,n]=size(I1);
for i=2:m-1;
for j=2:n-1
V=uint8(I1(i-1,j-1)+I1(i-1,j)+I1(i-1,j+1)+I1(i,j-1)+I1(i,j)+I1(i,j+1)+I1(i+1,j-1)+I1(i+1,j)+I1(i+1,j+1));
I1(i,j)=V/9;
end
end
imshow(I1);
Tuesday, May 5, 2009
ejemplo de paso de fitro online
Wednesday, April 29, 2009
Media Online leyendo una imagen escala de grises
A=imread('auto.jpg');
B=uint8(zeros(9,1));
[m,n]= size(A);
for i=2:m-1
for j=2:n-1
B=[A(i-1, j-1),A(i-1, j),A(i-1, j+1),A(i, j-1),A(i, j),A(i, j+1),A(i+1, j-1),A(i+1, j),A(i+1, j+1)];
B = sort(B);
A(i,j)= B(5);
end
end ;
imshow(A);
B=uint8(zeros(9,1));
[m,n]= size(A);
for i=2:m-1
for j=2:n-1
B=[A(i-1, j-1),A(i-1, j),A(i-1, j+1),A(i, j-1),A(i, j),A(i, j+1),A(i+1, j-1),A(i+1, j),A(i+1, j+1)];
B = sort(B);
A(i,j)= B(5);
end
end ;
imshow(A);
codigo filtro media ofline
SHUNSHITO SE PUBLICA EL LA ENTRADA JIJI ATT. PAUL BRITO
V=unit8(zeros(9,1));
I1=imgread('im1.jpg');
I2=uint8(Zeros(m,n));
[m,n]=size(I1)
for i=2:m-1;
forj=2:n-1;
V=[I1(i-1,j-1),I1(i-1,j),I1(i-1,j+1),I1(i,j-1),I1(i,j),I1(i,j+1),I1(i+1,j-1),I1(i+1,j),I1(i+1,j+1)];
V=sort(V);
I2(i,j)=V[5];
end;
end;
I1(2:m-1;1:n-1)=I2(2:m-1;2:n-1);
imageshow(I1);
V=unit8(zeros(9,1));
I1=imgread('im1.jpg');
I2=uint8(Zeros(m,n));
[m,n]=size(I1)
for i=2:m-1;
forj=2:n-1;
V=[I1(i-1,j-1),I1(i-1,j),I1(i-1,j+1),I1(i,j-1),I1(i,j),I1(i,j+1),I1(i+1,j-1),I1(i+1,j),I1(i+1,j+1)];
V=sort(V);
I2(i,j)=V[5];
end;
end;
I1(2:m-1;1:n-1)=I2(2:m-1;2:n-1);
imageshow(I1);
Mediana
P=[25,25,25,25,25;25,35,45,128,25;25,45,35,35,25;25,45,35,35,25;25,25,25,25,25]
A=P;
n=5;
for i = 2:n-1,
for j = 2:n-1,
A(i,j)=(A(i-1,j-1)+A(i-1,j)+A(i-1,j+1)+A(i,j-1)+A(i,j)+A(i,j+1)+A(i+1,j-1)+A(i+1,j)+A(i+1,j+1))/9;
end;
end
A=P;
n=5;
for i = 2:n-1,
for j = 2:n-1,
A(i,j)=(A(i-1,j-1)+A(i-1,j)+A(i-1,j+1)+A(i,j-1)+A(i,j)+A(i,j+1)+A(i+1,j-1)+A(i+1,j)+A(i+1,j+1))/9;
end;
end
Filtro mediana Matlab online
Filtro de la Mediana online (Math Lab)
V=uint8(zeros(9,1));I1=imread('im1.jpg');
[m,n]=size(I1);
for i=2:m-1;
for j=2:n-1
V=uint8(I1(i-1,j-1)+I1(i-1,j)+I1(i-1,j+1)+I1(i,j-1)+I1(i,j)+I1(i,j+1)+I1(i+1,j-1)+I1(i+1,j)+I1(i+1,j+1));
I1(i,j)=V/9;
end
end
imshow(I1);
Wednesday, April 22, 2009
Codigo para un histograma en matlab
******************************************************************************
Codigo para la creacion de un histograma de una matriz de mxn
******************************************************************************
clear;
k=1;
cont=0;
temp=0;
max=0;
fil=input('ingrese filas: ') ;
col=input ('ingrese columnas: ') ;
for i=1:fil
for j=1:col
A(i,j)=input('valor: ');
B(k)=A(i,j); k=k+1;
end
end ;
B = ( sort(B) )
for m=1:length(B)
for n=1:length(B)
if(B(m)== B(n))
cont=cont+1;
end
end
C(m)=cont;
cont=0;
end;
disp(C);
Codigo para la creacion de un histograma de una matriz de mxn
******************************************************************************
clear;
k=1;
cont=0;
temp=0;
max=0;
fil=input('ingrese filas: ') ;
col=input ('ingrese columnas: ') ;
for i=1:fil
for j=1:col
A(i,j)=input('valor: ');
B(k)=A(i,j); k=k+1;
end
end ;
B = ( sort(B) )
for m=1:length(B)
for n=1:length(B)
if(B(m)== B(n))
cont=cont+1;
end
end
C(m)=cont;
cont=0;
end;
disp(C);
******************************************************************************
Codigo para la creacion de un histograma de una matriz de mxn
******************************************************************************
******************************************************************************
clear;
k=1;
cont=0;
temp=0;
max=0;
fil=input('ingrese filas: ') ;
col=input ('ingrese columnas: ') ;
for i=1:fil
for j=1:col
A(i,j)=input('valor: ');
A(i,j)=input('valor: ');
B(k)=A(i,j); k=k+1;
end
end ;
B = ( sort(B) )
for i=1:k-1
temp=B(i);
if (temp>max)
max=temp;
end
end ;
for m=1:length(B)
for n=1:length(B)
if(B(m)== B(n))
cont=cont+1;
end
end C(m)=cont; cont=0; end; disp(cont); disp(C);
Histograma
/*
* To change this template, choose Tools Templates
* and open the template in the editor.
*/
package simu;
/**
*
* @author Administrador
*/
import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;
public class histograma implements PlugInFilter {
ImagePlus imp;
public int setup(String arg, ImagePlus imp) {
this.imp = imp;
return DOES_ALL;
}
public void run(ImageProcessor ip) {
//ip.invert();
//imp.updateAndDraw();
//IJ.wait(500);
//ip.invert();
//imp.updateAndDraw();
int w = ip.getWidth();
int h = ip.getHeight();
int num[]= new int[256] ;
for (int i=0; i<255; i="0;"> for (int j=0; j int p= ip.getPixel(i, j);
num[p]++;
}
}
for (int i=0; i for (int j=0; j
ip.putPixel(255, i, j);
}
}
for (int i=0; i<256;>
* To change this template, choose Tools Templates
* and open the template in the editor.
*/
package simu;
/**
*
* @author Administrador
*/
import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;
public class histograma implements PlugInFilter {
ImagePlus imp;
public int setup(String arg, ImagePlus imp) {
this.imp = imp;
return DOES_ALL;
}
public void run(ImageProcessor ip) {
//ip.invert();
//imp.updateAndDraw();
//IJ.wait(500);
//ip.invert();
//imp.updateAndDraw();
int w = ip.getWidth();
int h = ip.getHeight();
int num[]= new int[256] ;
for (int i=0; i<255; i="0;"> for (int j=0; j
num[p]++;
}
}
for (int i=0; i
ip.putPixel(255, i, j);
}
}
for (int i=0; i<256;>
Inversor
package simu;
/**
*
* @author Administrador
*/
import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;
public class i_filtro {
public class Filter_Plugin implements PlugInFilter {
ImagePlus imp;
public int setup(String arg, ImagePlus imp) {
this.imp = imp;
return DOES_ALL;
}
public void run(ImageProcessor ip) {
//ip.invert();
//imp.updateAndDraw();
//IJ.wait(500);
//ip.invert();
//imp.updateAndDraw();
int w = ip.getWidth();
int h = ip.getHeight();
for (int i=0; i
for (int j=0; j
int p= ip.getPixel(i, j);
ip.putPixel(i, j, 255-p);
}
}
}
}
}
/**
*
* @author Administrador
*/
import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.filter.*;
public class i_filtro {
public class Filter_Plugin implements PlugInFilter {
ImagePlus imp;
public int setup(String arg, ImagePlus imp) {
this.imp = imp;
return DOES_ALL;
}
public void run(ImageProcessor ip) {
//ip.invert();
//imp.updateAndDraw();
//IJ.wait(500);
//ip.invert();
//imp.updateAndDraw();
int w = ip.getWidth();
int h = ip.getHeight();
for (int i=0; i
for (int j=0; j
int p= ip.getPixel(i, j);
ip.putPixel(i, j, 255-p);
}
}
}
}
}
Histogramas de una imagen a color
Histogramas de una imagen a color
Un histograma, en el caso de una imagen en escala de 256 tonalidades del blanco al negro, se realiza fácilmente con la ayuda de la informática; en primer lugar crearemos un vector (array) que contenga 256 posiciones, una por cada nivel de gris, el algoritmo recorrerá cada uno de los pixeles de la imagen, aumentando en una unidad el valor guardado en la posición del array correspondiente al tono del pixel
El histograma proporciona una descripción de la apariencia global de una imagen.
Si los niveles de gris están concentrados hacia el extremo oscuro del rango de la escala de gris, la apariencia global de la imagen será oscura y si sucede justo lo contrario, la imagen correspondiente será brillante.
Si aparecen tres histogramas, de forma que el tratamiento de imágenes en color se complica por la aparición de nuevos componentes. El histograma no contiene los tonos del negro al blanco, sino del negro al color correspondiente (rojo, verde ó azul -RGB-).
Esto da lugar a un conjunto de técnicas de procesado que básicamente podemos dividir en dos grupos: ecualización y especificación de histograma. Ambas técnicas se basan en la aplicación de una determinada función (T) a los niveles de gris de la imagen original (r) para obtener los niveles de gris de la imagen transformada (s): s=T(r)
• T(r) es de valor único y monótonamente creciente en el intervalo 0≤r≤1 (de forma que se preserve el orden entre blanco y negro de la escala de grises)
• 0≤T(r)≤1 para 0≤r≤1 (de manera que se garantice que la aplicación es coherente con el rango de valores de pixel permitidos)
El histograma de una imagen da una idea de la probabilidad de que aparezca cada nivel de gris disponible en la misma, podríamos decir, por tanto, que correspondería a la función densidad de probabilidad de dichos niveles de gris.
• T(r) es de valor único y monótonamente creciente en el intervalo 0≤r≤1 (de forma que se preserve el orden entre blanco y negro de la escala de grises)
• 0≤T(r)≤1 para 0≤r≤1 (de manera que se garantice que la aplicación es coherente con el rango de valores de pixel permitidos)
El histograma de una imagen da una idea de la probabilidad de que aparezca cada nivel de gris disponible en la misma, podríamos decir, por tanto, que correspondería a la función densidad de probabilidad de dichos niveles de gris.
Consideramos los niveles de gris como cantidades continuas (no discretas como realmente son).
Saturday, April 18, 2009
Matlab
Matlab (matrix laboratory) es una IDE (Integrated Development Environment) que permite programar en lenguaje M , este software fue creado por The MathWorks en el año de 1984, que permite programación con matrices, puesto que su dato basico son matrices, es especialmente popular para el desarrollo de aplicaciones en el hambito matemático.
PAUL BRITO
El uso de MAtlab para nuestro caso servirá para el tratamiento de imagenes, para el caso descrito MAtlab trata una imagen como un conjunto de pixeles que pueden ser representados en una matriz de m x n.
El uso de MAtlab para nuestro caso servirá para el tratamiento de imagenes, para el caso descrito MAtlab trata una imagen como un conjunto de pixeles que pueden ser representados en una matriz de m x n.
Friday, April 17, 2009
Subscribe to:
Comments (Atom)






