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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
import java.awt.Graphics;
import java.io.IOException;
import java.io.File;
import javax.media.jai.JAI;
import javax.media.jai.PlanarImage;
import javax.media.jai.RenderedOp;
import javax.swing.JFileChooser;
public class Binarisation extends javax.swing.JFrame {
private void openbuttonActionPerformed(java.awt.event.ActionEvent evt) {
fileopen.addChoosableFileFilter(filter);
int return_value = fileopen.showOpenDialog(this);
if (return_value == JFileChooser.APPROVE_OPTION) {
file_input = fileopen.getSelectedFile();
System.out.println(file_input);
}
try {
inputimage = ImageIO.read(file_input);
inputimage = inputimage.getScaledInstance(256,256,Image.SCALE_SMOOTH);
repaint();
} catch(IOException e) {
System.out.println("ERROR");
}
}
private void processActionPerformed(java.awt.event.ActionEvent evt) {
width = inputimage.getWidth(null);
height = inputimage.getHeight(null);
buff_red = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics r = buff_red.getGraphics();
r.drawImage(inputimage, 0, 0, null);
r.dispose();
process_red = new int[width*height];
counter = 0;
for(int i = 0; i < 256; i++) {
for(int j = 0; j < 256; j++) {
int clr = buff_red.getRGB(j, i);
int red = (clr & 0x00ff0000) >> 16;
red = (0xFF<<24)|(red<<16)|(red<<8)|red;
process_input[counter] = clr;
process_red[counter] = red;
counter++;
}
}
repaint(); }} |
Partager