tess4j.jar을 자바프로젝트에서 라이브러리 추가함





여기있는 라이브러리도 다추가해야줘야됨




블로그 이미지

왕왕왕왕

,

package test4j;



import java.io.File;


import net.sourceforge.tess4j.Tesseract;

import net.sourceforge.tess4j.TesseractException;


public class test {


public static void main(String[] args) {

// TODO Auto-generated method stub





       File imageFile = new File("C:/Users/swu09/Downloads/Tess4J-2.0-src/Tess4J/Korean.jpg");     Tesseract instance = Tesseract.getInstance();  // JNA Interface Mapping

       

       instance.setDatapath("C:/Users/swu09/Downloads/Tess4J-2.0-src/Tess4J/tessdata");

       // Tesseract1 instance = new Tesseract1(); // JNA Direct Mapping

       System.out.println(imageFile.canRead());

       try {

           String result = instance.doOCR(imageFile);

           System.out.println(result);

       } catch (TesseractException e) {

           System.err.println(e.getMessage());

       }

}


}



위소스가 샘플소스이고 응용하면된다. 중간에 setDatapath는 tessdata폴더 경로까지 써주면된다. 안쓰면 오류나기도함


블로그 이미지

왕왕왕왕

,

  <uses-permission android:name="android.permission.INTERNET" />

블로그 이미지

왕왕왕왕

,

package fileFind;

import java.io.File;

public class dirFind {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        String path = "C:/";
        //c:/Users/king/Downloads/asprise-ocr-java-15.3.1-trial-windows/aocr/com/asprise/ocr
        File dirFile = new File(path);
        File[] fileList = dirFile.listFiles();
        System.out.println(fileList.length);
        for (File tempFile : fileList) {
           
           
            if (tempFile.isFile()) {
                String tempPath = tempFile.getParent();
                String tempFileName = tempFile.getName();
                System.out.println("Path=" + tempPath);
                System.out.println("FileName=" + tempFileName);
                /*** Do something withd tempPath and temp FileName ^^; ***/
            }
        }
    }

}

블로그 이미지

왕왕왕왕

,

Sort 선택정렬

JAVA/Sort 2015. 10. 17. 15:22

import java.rmi.server.RemoteObjectInvocationHandler;

import java.util.ArrayList;

import java.util.Iterator;


public class Selection {


private static ArrayList arr;


public static void main(String[] args) {

// TODO Auto-generated method stub

Random(10000);

System.out.println("최소값은 " + reMin(arr, "min"));

System.out.println("최대값은 " + reMin(arr, "max"));


}


public static ArrayList<Integer> Random(int num) {

arr = new ArrayList<Integer>();

for (int i = 0; i < num; i++) {

int dec = (int) (Math.random() * num);

if (!arr.contains(dec)) {

arr.add(dec);

} else {

i--;

}

}


return arr;

}


public static int reMin(ArrayList<Integer> arr, String choice) {


selectSort(arr);


switch (choice) {

case "min":

return arr.get(0);

case "max":

return arr.get(arr.size() - 1);

default:

break;

}


return -1;

}


//선택정렬

public static ArrayList<Integer> selectSort(ArrayList<Integer> arr) {

int tmp;

for (int i = 0; i < arr.size(); i++) {

for (int j = i + 1; j < arr.size(); j++) {

if (arr.get(j) < arr.get(i)) {

tmp = arr.get(j);

arr.remove(j);

arr.add(j, arr.get(i));

arr.remove(i);

arr.add(i, tmp);

}

}

}


return arr;

}


}


블로그 이미지

왕왕왕왕

,

Arrays.sort(wa.toArray());

       System.out.println(Collections.min(wa));


Arrays에 sort를 이용해 정렬하고, Collections에 min을 이용해 최소값을 뽑음

블로그 이미지

왕왕왕왕

,

package ocrtest;


import java.awt.Color;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.image.BufferedImage;

import java.awt.image.PixelGrabber;

import java.io.File;


import javax.imageio.ImageIO;

import javax.swing.ImageIcon;

import javax.swing.JFrame;


public class image {


static BufferedImage newImage;

private static Image resizeImage;


public static void main(String[] args) {

Image img = new ImageIcon("im/gi.jpg").getImage();

int width = img.getWidth(null);

int height = img.getHeight(null);


int[] pixels = new int[width * height];



newImage = 

   new BfferedImage(width,height,BufferedImage.TYPE_INT_RGB);

int color = Color.DARK_GRAY.getRGB();


for (int i = 0; i < pixels.length; i++) {

if ((pixels[i] & 0xff) == 0 || ((pixels[i] >> 16) & 0xff) == 0 || ((pixels[i] >> 8) & 0xff) == 0) {

newImage.setRGB(i % width, i / width, color);


}

}

Graphics g = newImage.getGraphics();

ImageIO.write(newImage, "jpg", new File("C:/save/새 사진파일명.jpg")); } catch (Exception e) {

e.printStackTrace();

}

}


}



소스설명


1.Image img = new ImageIcon("im/gi.jpg").getImage();

이미지를 가져온다


2.int width = img.getWidth(null);

int height = img.getHeight(null);

가로 세로 크기를 받아온다.


3.int[] pixels = new int[width * height];

픽셀을 배열화 시킴


4.newImage = 

   new BfferedImage(width,height,BufferedImage.TYPE_INT_RGB);

불러온 이미지와 같은 가로세로 크기의 그릴판을 만들어줌


5.int color = Color.DARK_GRAY.getRGB();

다크그레이색을 변수에만들어서 색준비


6.for (int i = 0; i < pixels.length; i++)

                  {

if ((pixels[i] & 0xff) == 0 || ((pixels[i] >> 16) & 0xff) == 0 || ((pixels[i] >> 8) & 0xff) == 0) 


                  {


newImage.setRGB(i % width, i / width, color);


}


RGB값이 000으로 검은색 이미지 픽셀일때 다크그레이색으로 똑같이 그린다.

}



7. ImageIO.write(newImage, "jpg", new File("C:/save/새 사진파일명.jpg"));

불러온 이미지와 같은 사이즈로 다크그레이색으로 새로그린다.


}

 catch (Exception e) {


e.printStackTrace();



일단 이런식으로 형태비교해서 문자인식을 할거다








블로그 이미지

왕왕왕왕

,

select to_char(add_months(sysdate,-1),'yyyy-mm-dd'),-- 한달전 오늘
to_char(add_months(sysdate,-12),'yyyy-mm'),
to_char(add_months(sysdate,-12),'yyyy-mm-dd'), -- 1년전 오늘
to_char(add_months(sysdate,-12),'yyyy'),
to_char(sysdate-1,'yyyy-mm-dd') -- 어제
from dual

'데이터베이스 > Oracle' 카테고리의 다른 글

Oracle group by  (0) 2015.11.06
Oracle Access와 Oracle 데이터타입 매핑  (0) 2015.11.06
Oracle 오라클10g 암호화방법  (0) 2015.10.06
Oracle sys 계정로그인 & 비밀번호 변경  (0) 2015.10.06
Oracle 한글깨짐  (0) 2015.10.05
블로그 이미지

왕왕왕왕

,