Foros del Web » Programación para mayores de 30 ;) » Java »

Eliminar ruido de una imagen

Estas en el tema de Eliminar ruido de una imagen en el foro de Java en Foros del Web. Hola a todos los del foro!! Estoy haciendo una aplicación en Java que consiste en abrir una imagen y eliminar su ruido, es decir, difuminar ...
  #1 (permalink)  
Antiguo 22/09/2008, 06:14
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Eliminar ruido de una imagen

Hola a todos los del foro!!
Estoy haciendo una aplicación en Java que consiste en abrir una imagen y eliminar su ruido, es decir, difuminar la imagen.
Estoy utilizando Java y lo que hago es abrir la imagen en un JLabel y entonces me creo un botón (Jbutton) que al cliquear sobre él, me elimina el ruido de la imagen mostrada y me lo muestra en otro JLabel, de la siguiente forma:

private JButton getextraerRuido() {
if (volver == null) {
extraerRuido = new JButton();
extraerRuido.setBounds(new Rectangle(220, 400, 131, 53));
extraerRuido.setText("Extraer Ruido");
extraerRuido.setToolTipText("Extraer el ruido de la imagen");
extraerRuido.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent arg0) {

icon1=new ImageIcon(file1.getPath(),file1.getName());
BufferedImage bufferedimage = toBufferedImage (icon1.getImage()); // este método me transforma una Image en BufferedImage.
BufferedImage dstbimg = new BufferedImage(bufferedimage.getHeight(),bufferedim age.getWidth(),BufferedImage.TYPE_INT_RGB);
Kernel kernel = new Kernel(3,3,k_media_3x3);
ConvolveOp cop = new ConvolveOp(kernel);
Image miImagen = Toolkit.getDefaultToolkit().createImage((cop.filte r(bufferedimage,dstbimg)).getSource());
imagen2.setIcon(new ImageIcon(miImagen.getScaledInstance(150,150,Image .SCALE_DEFAULT)));// imagen2 es el JLabel en el que se tiene que visualizar la imagen sin ruido.


}
public void mousePressed(MouseEvent arg0) {
}
public void mouseReleased(MouseEvent arg0) {
}
public void mouseEntered(MouseEvent arg0) {
}
public void mouseExited(MouseEvent arg0) {
}
});
}
return extraerRuido;
}

Mi problema es que al visualizar la imagen, no visualizo la imagen difuminada, sino que visualizo sólo el ruido, ¿ a qué se puede deber esto? ¿cómo puedo solucionarlo? ¿alguién tiene alguna idea? Gracias a todos!! Ana.
  #2 (permalink)  
Antiguo 22/09/2008, 14:57
 
Fecha de Ingreso: julio-2008
Ubicación: Ukraine, Donetsk
Mensajes: 43
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Eliminar ruido de una imagen

Me parece que es un poco extraño mostrar imagenes en JLabel... Yo uso para esa tarea JPanel (override el metodo paintComponent() que permite mostrar imagen en Canvas con ayuda de objeto Graphics).
P.S. En el curso tercero de universidad escribi un programa que permite hacer filtracion de imagenes. Y muy facil adicionar otros filtros a él. Si hay hecesidad puedo dar mi programa a usted.
  #3 (permalink)  
Antiguo 23/09/2008, 01:57
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Eliminar ruido de una imagen

Me está dando un montón de problemas, así que quizás sea mejor visualizar la imagen en un jpanel. Gracias por la sugerencia. ¿me puedes mandar el trozo de código en el que abres la imagen en el jpanel para ver los métodos que utilizas? Gracias otra vez.
Ana.
  #4 (permalink)  
Antiguo 24/09/2008, 01:07
 
Fecha de Ingreso: julio-2008
Ubicación: Ukraine, Donetsk
Mensajes: 43
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Eliminar ruido de una imagen

Código:
class Test extends JPanel {

private Image image;

public Test(Image image) {
  this.image = image;
}

public void paintComponent(Graphics g) {
  supper.paintComponent(g); 
  g.drawImage(image, 0, 0, null);
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:09.