public void stateChanged(ChangeEvent e) { if (e.getSource() == whichRadius) { if (!whichRadius.getValueIsAdjusting()) { // System.out.println(acc.length); if (acc != null) buildAccumulator(whichRadius.getValue()); accumulator.setSelected(true); } } }
public void actionPerformed(ActionEvent e) { if (e.getSource() == b) { JFrame frame2 = new JFrame(); JFileChooser chooser = new JFileChooser("."); int option = chooser.showOpenDialog( frame2); // parentComponent must a component like JFrame, JDialog... if (option == JFileChooser.APPROVE_OPTION) { File selectedFile = chooser.getSelectedFile(); path = selectedFile.getAbsolutePath(); } try { loadImage(); } catch (IOException ioe) { System.out.println(ioe.getMessage()); } } else if (e.getSource() == c) { gaussianBlur(); // filtered = grayscale.filter(filtered, null); sobel(); // thinImage(); nonMax(); float lowThreshold = 2.5f; float highThreshold = 7.5f; int low = Math.round(lowThreshold * MAGNITUDE_SCALE); int high = Math.round(highThreshold * MAGNITUDE_SCALE); performHysteresis(low, high); thresholdEdges(); writeEdges(data); Hough(); ImageIcon icon1 = new ImageIcon(res); lbl1.setIcon(icon1); ImageIcon icon2 = new ImageIcon(filtered); lbl2.setIcon(icon2); filterBtn.setSelected(true); } if (e.getSource() == findCircles) { try { accSize = Integer.parseInt(inputCircles.getText()); res = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g = res.getGraphics(); g.drawImage(img, 0, 0, null); g.dispose(); findMaxima(); ImageIcon icon1 = new ImageIcon(res); lbl1.setIcon(icon1); } catch (Exception err) { System.out.println("Not a valid integer"); } } else if (e.getSource() == filterBtn) { ImageIcon icon2 = new ImageIcon(filtered); lbl2.setIcon(icon2); } else if (e.getSource() == sobelBtn) { ImageIcon icon2 = new ImageIcon(sobel); lbl2.setIcon(icon2); } else if (e.getSource() == nonMaxBtn) { ImageIcon icon2 = new ImageIcon(nonMax); lbl2.setIcon(icon2); } else if (e.getSource() == accumulator) { buildAccumulator(whichRadius.getValue()); } }