Skip to content

everyshare-code/CaptureNOCR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

프로젝트 명:

ScreenCaptureTool

프로젝트 설명:

ScreenCaptureTool은 사용자가 캔버스에서 직사각형 선택 영역을 생성하고 해당 영역의 스크린샷을 캡처할 수 있는 그래픽 사용자 인터페이스(GUI) 애플리케이션입니다. 이 도구는 선택된 화면 영역의 이미지를 캡처하고, 그 이미지에서 텍스트를 분석하는 기능을 제공합니다. 사용자는 간편하게 화면의 특정 부분을 선택하고, 해당 부분의 텍스트를 추출하여 클립보드에 복사할 수 있습니다.

기능

  1. 마우스 이벤트:

    • on_click 메서드는 사용자가 캔버스를 클릭할 때 시작 좌표(start_x, start_y)를 초기화합니다. 직사각형이 존재하지 않으면 시작 지점에서 직사각형을 생성합니다.
    • on_drag 메서드는 사용자가 마우스를 드래그할 때 직사각형의 크기를 업데이트합니다.
    • on_release 메서드는 직사각형의 위치를 확정하고, 경계 상자 좌표를 계산한 후 capture_screen 메서드를 호출하여 선택된 영역의 스크린샷을 찍습니다.
  2. 키보드 이벤트:

    • on_key_press 메서드는 키 입력을 감지하고 'Escape' 키가 눌리면 애플리케이션을 종료합니다.
    • on_esc_keypress 메서드도 'Escape' 키가 눌리면 애플리케이션을 종료합니다.
  3. 스크린샷 캡처:

    • capture_screen 메서드는 지정된 경계 상자의 스크린샷을 찍고, "capture" 디렉토리에 JPEG 파일로 저장합니다(디렉토리가 없으면 생성). 이후 detect_text 메서드를 호출하여 이미지에서 텍스트를 분석합니다.
  4. 텍스트 감지:

    • detect_text 메서드는 Google Cloud Vision을 사용하여 캡처된 스크린샷에서 텍스트를 감지합니다.

프로젝트 설명 및 의존성:

이 애플리케이션을 사용하려면 Python과 필요한 라이브러리들이 설치되어 있어야 합니다. 필요한 라이브러리는 다음과 같습니다:

  • tkinter
  • Google Cloud Vision API

설치 방법

  1. Python을 설치합니다.

  2. 필요한 라이브러리를 설치합니다:

    pip install tkinter google-cloud-vision

사용법:

  1. 애플리케이션을 실행합니다.
  2. 캔버스에서 직사각형을 선택하려면 마우스를 클릭하고 드래그합니다.
  3. 선택이 완료되면 마우스를 놓아 스크린샷을 캡처합니다.
  4. 캡처된 이미지에서 텍스트가 감지되면 클립보드에 복사됩니다.

프로젝트 파일 구조:

ScreenCaptureTool/
│
├── main.py               # 애플리케이션의 메인 실행 파일
├── capture/              # 캡처된 이미지가 저장되는 디렉토리
│   └── (captured images) # 스크린샷 이미지 파일
├── LICENSE               # 라이센스 정보
└── README.md             # 프로젝트 설명 문서

기여:

기여를 원하시는 분은 이 저장소를 포크하여 수정한 후 풀 리퀘스트를 제출해 주세요. 기여 시에는 코드 스타일 및 문서화에 유의해 주시기 바랍니다.

라이센스:

이 프로젝트는 MIT 라이센스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조해 주세요.

프로젝트 문의:

추가 질문이나 문제가 있으시면 [park20542040@gmail.com]로 연락해 주세요.

About

Tkinter Capture and Google Cloud Vision OCR

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages