See More

import java.awt.AWTException; import java.awt.Font; import java.awt.Graphics; import java.awt.Robot; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.util.List; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.Timer; import org.opencv.core.Core; import org.opencv.core.CvType; import org.opencv.core.Mat; import org.opencv.core.MatOfPoint; import org.opencv.core.Point; import org.opencv.core.Rect; import org.opencv.core.Scalar; import org.opencv.core.Size; import org.opencv.highgui.Highgui; import org.opencv.highgui.VideoCapture; import org.opencv.imgproc.Imgproc; /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /** * * @author sony */ public class MainFrame extends javax.swing.JFrame { /** * Creates new form MainFrame */ // FacePanel facePanel = new FacePanel(); Graphics g; Graphics g1; BufferedImage image; Thread t = null; Thread t1 = null; boolean threadDurum = false; VideoCapture webCam = null; Mat element; int sayac ; Mat thresholded; Robot robot; public MainFrame() { initComponents(); element = Imgproc.getStructuringElement(Imgproc.MORPH_RECT,new Size(3,3)); g = jPanel1.getGraphics(); g1 = jPanel2.getGraphics(); this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { if (webCam!=null&&webCam.isOpened()) { t.stop(); webCam.release(); t.interrupt(); } System.exit(0); } }); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jButton1 = new javax.swing.JButton(); jPanel1 = new javax.swing.JPanel(); jSliderValueLabelHmin = new javax.swing.JLabel(); jSliderSmin = new javax.swing.JSlider(); jSliderValueLabelSmin = new javax.swing.JLabel(); jSliderVmin = new javax.swing.JSlider(); jSliderValueLabelVmin = new javax.swing.JLabel(); jSliderHmax = new javax.swing.JSlider(); jSliderSmax = new javax.swing.JSlider(); jSliderVmax = new javax.swing.JSlider(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jSliderHmin = new javax.swing.JSlider(); jPanel2 = new javax.swing.JPanel(); jButton2 = new javax.swing.JButton(); jTextFieldEkranYaz = new javax.swing.JTextField(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jButton1.setText("CAMOn"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jPanel1.setBackground(new java.awt.Color(255, 255, 255)); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 640, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 480, Short.MAX_VALUE) ); jSliderValueLabelHmin.setText("H min"); jSliderSmin.setMajorTickSpacing(40); jSliderSmin.setMaximum(255); jSliderSmin.setMinorTickSpacing(1); jSliderSmin.setPaintLabels(true); jSliderValueLabelSmin.setText("S min"); jSliderVmin.setMajorTickSpacing(40); jSliderVmin.setMaximum(255); jSliderVmin.setMinorTickSpacing(1); jSliderVmin.setPaintLabels(true); jSliderValueLabelVmin.setText("V min"); jSliderHmax.setMajorTickSpacing(20); jSliderHmax.setMaximum(179); jSliderHmax.setMinorTickSpacing(1); jSliderHmax.setPaintLabels(true); jSliderSmax.setMajorTickSpacing(40); jSliderSmax.setMaximum(255); jSliderSmax.setMinorTickSpacing(1); jSliderSmax.setPaintLabels(true); jSliderVmax.setMajorTickSpacing(40); jSliderVmax.setMaximum(255); jSliderVmax.setMinorTickSpacing(1); jSliderVmax.setPaintLabels(true); jLabel3.setText("H max"); jLabel4.setText("S max"); jLabel5.setText("V max"); jSliderHmin.setMajorTickSpacing(20); jSliderHmin.setMaximum(179); jSliderHmin.setMinorTickSpacing(1); jSliderHmin.setPaintLabels(true); jPanel2.setBackground(new java.awt.Color(255, 255, 255)); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 640, Short.MAX_VALUE) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 480, Short.MAX_VALUE) ); jButton2.setText("CAMOff"); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(47, 47, 47) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jButton1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButton2)) .addComponent(jTextFieldEkranYaz, javax.swing.GroupLayout.PREFERRED_SIZE, 263, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jSliderSmin, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jSliderVmin, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jSliderHmax, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jSliderSmax, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jSliderVmax, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jSliderHmin, javax.swing.GroupLayout.PREFERRED_SIZE, 271, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel5) .addComponent(jLabel4) .addComponent(jLabel3) .addComponent(jSliderValueLabelHmin) .addComponent(jSliderValueLabelSmin) .addComponent(jSliderValueLabelVmin)) .addContainerGap(61, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(45, 45, 45) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jSliderValueLabelHmin) .addComponent(jSliderHmin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(18, 18, 18) .addComponent(jSliderSmin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(27, 27, 27) .addComponent(jSliderValueLabelSmin))) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(18, 18, 18) .addComponent(jSliderVmin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(30, 30, 30) .addComponent(jSliderValueLabelVmin))) .addGap(88, 88, 88) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jSliderHmax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(jLabel3) .addGap(14, 14, 14))) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jSliderSmax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(layout.createSequentialGroup() .addGap(9, 9, 9) .addComponent(jLabel4))) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(18, 18, 18) .addComponent(jSliderVmax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(27, 27, 27) .addComponent(jLabel5))))) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(127, 127, 127) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton1) .addComponent(jButton2)) .addGap(18, 18, 18) .addComponent(jTextFieldEkranYaz, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(18, 18, 18) .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); pack(); }// //GEN-END:initComponents private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed try { robot = new Robot(); }catch(AWTException e){} t = new Thread(){public void run(){ MatToBufImg matToBufferedImageConverter = new MatToBufImg(); //Utility class to convert Mat to Java's BufferedImage webCam = new VideoCapture(1); if (!webCam.isOpened()) { System.out.println("Kamera Açık Değil..!"); }else System.out.println("Kamera Açıldı --> "+webCam.toString()); Mat webcam_image = new Mat(480,640,CvType.CV_8UC3); Mat hsv_image = new Mat(webcam_image.cols(),webcam_image.rows(),CvType.CV_8UC3); thresholded = new Mat(webcam_image.cols(),webcam_image.rows(),CvType.CV_8UC3,new Scalar(255, 255, 255)); if (webCam.isOpened()) { try { Thread.sleep(1000); } catch (InterruptedException ex) { } while (true) { try { webCam.read(webcam_image); } catch (Exception e) { System.out.println("Web Cam Kapalı !"); } if (!webcam_image.empty()) { try { Thread.sleep(10); } catch (InterruptedException ex) { } // Mat inRangeResim = webcam_image.clone(); /* Mat inRangeResim = webcam_image.clone(); matToBufferedImageConverter.setMatrix(inRangeResim, ".jpg"); image =matToBufferedImageConverter.getBufferedImage(); Highgui.imwrite("D:\\bitirme.jpg", inRangeResim); */ // MatOfRect faceDetections = new MatOfRect(); Imgproc.cvtColor(webcam_image, hsv_image, Imgproc.COLOR_BGR2HSV); //siyah hsv range 0 0 0 - 180 45 100 //hsvmavi Core.inRange(webcam_image, new Scalar(75,63,40), new Scalar(118,255,255), webcam_image); //rgb mavi // Core.inRange(webcam_image, new Scalar(50,0,0), new Scalar(255,0,0), webcam_image); //turuncu hsv Core.inRange(webcam_image, new Scalar(5,50,50), new Scalar(15,255,255), webcam_image); //Core.inRange(webcam_image, new Scalar(80,50,50), new Scalar(140,255,255), webcam_image); // Core.inRange(webcam_image, new Scalar(29,0,24), new Scalar(30,155,155), webcam_image); //hsv mavi // jSliderHmin.setValue(75); // jSliderSmin.setValue(63); // jSliderVmin.setValue(40); // jSliderHmax.setValue(118); // jSliderSmax.setValue(255); // jSliderVmax.setValue(255); // // jSliderHmin.setValue(0); // jSliderSmin.setValue(0); // jSliderVmin.setValue(0); // jSliderHmax.setValue(179); // jSliderSmax.setValue(39); // jSliderVmax.setValue(120); Core.inRange(hsv_image, new Scalar(jSliderHmin.getValue(),jSliderSmin.getValue(),jSliderVmin.getValue()) , new Scalar(jSliderHmax.getValue(),jSliderSmax.getValue(),jSliderVmax.getValue()), thresholded); Imgproc.dilate(thresholded,thresholded,element); Imgproc.erode(thresholded, thresholded, element); Imgproc.dilate(thresholded,thresholded,element); Imgproc.erode(thresholded, thresholded, element); //yeni matToBufferedImageConverter.setMatrix(thresholded, ".jpg"); image = matToBufferedImageConverter.getBufferedImage(); g1.drawImage(image, 0, 0, webcam_image.cols(),webcam_image.rows(),null); Core.rectangle(webcam_image,new Point(20, 20), new Point(80,80), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(80, 20), new Point(140, 80), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(140, 20), new Point(200, 80), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(200, 20), new Point(260,80), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(260, 20), new Point(320, 80), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(320, 20), new Point(380, 80), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(380, 20), new Point(440,80), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(440, 20), new Point(500, 80), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(500, 20), new Point(560, 80), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(560, 20), new Point(620, 80), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(20, 80), new Point(80,140), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(80, 80), new Point(140, 140), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(140, 80), new Point(200, 140), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(200, 80), new Point(260,140), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(260, 80), new Point(320, 140), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(320, 80), new Point(380, 140), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(380, 80), new Point(440,140), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(440, 80), new Point(500, 140), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(500, 80), new Point(560, 140), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(560, 80), new Point(620, 140), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(20, 140), new Point(80,200), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(80, 140), new Point(140, 200), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(140, 140), new Point(200, 200), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(200, 140), new Point(260,200), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(260, 140), new Point(320, 200), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(320, 140), new Point(380, 200), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(380, 140), new Point(440,200), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(440, 140), new Point(500, 200), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(500, 140), new Point(560, 200), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(560, 140), new Point(620, 200), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(20, 200), new Point(80,260), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(80, 200), new Point(140,260), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(140,200), new Point(200,260), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(200,200), new Point(260,260), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(260,200), new Point(320,260), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(320,200), new Point(380,260), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(380,200), new Point(440,260), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(440,200), new Point(500,260), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(500,200), new Point(560,260), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(560,200), new Point(620,260), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(20,260), new Point(80,320), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(80,260), new Point(140,320), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(140,260), new Point(200,320), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(200,260), new Point(260,320), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(260,260), new Point(320,320), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(320,260), new Point(380,320), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(380,260), new Point(440,320), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(440,260), new Point(500,320), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(500,260), new Point(560,320), new Scalar(0,0,255)); Core.rectangle(webcam_image,new Point(560,260), new Point(620,320), new Scalar(0,0,255)); harfBul(); // List contours = new ArrayList(); Imgproc.findContours(thresholded, contours, new Mat(),Imgproc.RETR_LIST,Imgproc.CHAIN_APPROX_SIMPLE, new Point(0,0)); Imgproc.drawContours(thresholded, contours,-1, new Scalar(255.0, 255.0, 255.0),5); for(int i=0; i< contours.size();i++){ // System.out.println(Imgproc.contourArea(contours.get(i))); // if (Imgproc.contourArea(contours.get(i)) > 1 ){ Rect rect = Imgproc.boundingRect(contours.get(i)); //System.out.println(rect.height); // if (rect.height > 20 && rect.height <30 && rect.width < 30 && rect.width >20){ // System.out.println(rect.x +","+rect.y+","+rect.height+","+rect.width); Core.rectangle(webcam_image, new Point(rect.x,rect.y), new Point(rect.x+rect.width,rect.y+rect.height),new Scalar(0,0,255)); // Core.circle(webcam_image, new Point(rect.x+rect.height/2, rect.y+rect.width/2), i, new Scalar(0, 0, 255)); //} //} } // Imgproc.cvtColor(webcam_image, webcam_image, Imgproc.COLOR_HSV2BGR); // hsv_image.convertTo(hsv_image, CvType.CV_32F); // Imgproc.Canny(thresholded, thresholded, 10, 20); // Core.bitwise_and(thresholded, webcam_image, webcam_image); //ise yarar // Imgproc.cvtColor(thresholded, thresholded, Imgproc.COLOR_GRAY2BGR); // Core.bitwise_and(thresholded, webcam_image, webcam_image); // webcam_image.copyTo(hsv_image, thresholded); // System.out.println("<------------------------------>"); // System.out.println("BGR: " +webcam_image.channels()+" Size : "+webcam_image.size()); // System.out.println("HSV :"+hsv_image.channels()+" Size: "+hsv_image.size()); // System.out.println("Thresold :"+thresholded.channels()+" Size : "+thresholded.size()); // System.out.println("<------------------------------>"); // matToBufferedImageConverter.setMatrix(webcam_image, ".jpg"); jSliderValueLabelHmin.setText(String.valueOf(jSliderHmin.getValue())); jSliderValueLabelSmin.setText(String.valueOf(jSliderSmin.getValue())); jSliderValueLabelVmin.setText(String.valueOf(jSliderVmin.getValue())); image =matToBufferedImageConverter.getBufferedImage(); g.drawImage(image, 0, 0,webcam_image.cols(),webcam_image.rows(), null); } else{ System.out.println("Görüntü yok!"); break; } } // webCam.release(); } }}; threadDurum = true; t.start(); }//GEN-LAST:event_jButton1ActionPerformed private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed if (threadDurum) { t.stop(); threadDurum = false; } }//GEN-LAST:event_jButton2ActionPerformed public void harfBul(){ sayac = 0; for (int i = 20; i < 80; i++) { for (int j =20; j < 80; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } System.out.println("sayac5 = "+sayac); if (sayac<3601 && sayac>3500) { // System.out.println("5555555555555555555555555"); // System.out.println("5555555555555555555555555"); jTextFieldEkranYaz.requestFocusInWindow(); robot.keyPress(KeyEvent.VK_Q); robot.keyRelease(KeyEvent.VK_Q); } sayac = 0; for (int i = 80; i < 140; i++) { for (int j =20; j < 80; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } // System.out.println("sayac = "+sayac); if (sayac<3601 && sayac>3500) { // System.out.println("AAAAAAAAAAAAAAAAAAAAAAAAA"); // System.out.println("AAAAAAAAAAAAAAAAAAAAAAAAA"); jTextFieldEkranYaz.setText("W"+jTextFieldEkranYaz.getText()); } sayac = 0; for (int i = 140; i < 200; i++) { for (int j =20; j < 80; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("E"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); // burdan sillll sayac = 0; for (int i = 200; i < 260; i++) { for (int j =20; j < 80; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("R"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 260; i < 320; i++) { for (int j =20; j < 80; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("T"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 320; i < 380; i++) { for (int j =20; j < 80; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("Y"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 380; i < 440; i++) { for (int j =20; j < 80; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("U"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 440; i < 500; i++) { for (int j =20; j < 80; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("I"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 500; i < 560; i++) { for (int j =20; j < 80; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("O"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 560; i < 620; i++) { for (int j =20; j < 80; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("P"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 20; i < 80; i++) { for (int j =80; j < 140; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("A"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 80; i < 140; i++) { for (int j =80; j < 140; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("S"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 140; i < 200; i++) { for (int j =80; j < 140; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("D"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 200; i < 260; i++) { for (int j =80; j < 140; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("F"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 260; i < 320; i++) { for (int j =80; j < 140; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("G"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 320; i < 380; i++) { for (int j =80; j < 140; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("H"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 380; i < 440; i++) { for (int j =80; j < 140; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("J"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 440; i < 500; i++) { for (int j =80; j < 140; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("K"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 500; i < 560; i++) { for (int j =80; j < 140; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("L"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 560; i < 620; i++) { for (int j =80; j < 140; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("i"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 20; i < 80; i++) { for (int j =140; j < 200; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("Z"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 80; i < 140; i++) { for (int j =140; j < 200; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("X"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 140; i < 200; i++) { for (int j =140; j < 200; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("C"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 200; i < 260; i++) { for (int j =140; j < 200; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("V"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 260; i < 320; i++) { for (int j =140; j < 200; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("B"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 320; i < 380; i++) { for (int j =140; j < 200; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("N"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 380; i < 440; i++) { for (int j =140; j < 200; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("M"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 440; i < 500; i++) { for (int j =140; j < 200; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("Ö"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 500; i < 560; i++) { for (int j =140; j < 200; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("Ç"+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); sayac = 0; for (int i = 560; i < 620; i++) { for (int j =140; j < 200; j++) { double [] a = thresholded.get(j, i); // Core.rectangle(webcam_image,new Point(i, j), new Point(i, j), new Scalar(0,0,255)); if (a[0] == 255) { sayac ++; } } } if (sayac<3601 && sayac>3500) { // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); // System.out.println("BBBBBBBBBBBBBBBBBBBBBBBBB"); jTextFieldEkranYaz.setText("."+jTextFieldEkranYaz.getText()); } // System.out.println("sayacB = "+sayac); } /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ // /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } // System.loadLibrary(Core.NATIVE_LIBRARY_NAME); /* Create and display the form */ java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new MainFrame().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JSlider jSliderHmax; private javax.swing.JSlider jSliderHmin; private javax.swing.JSlider jSliderSmax; private javax.swing.JSlider jSliderSmin; private javax.swing.JLabel jSliderValueLabelHmin; private javax.swing.JLabel jSliderValueLabelSmin; private javax.swing.JLabel jSliderValueLabelVmin; private javax.swing.JSlider jSliderVmax; private javax.swing.JSlider jSliderVmin; private javax.swing.JTextField jTextFieldEkranYaz; // End of variables declaration//GEN-END:variables }