Tech & Development
[ PyQt ] Qt Resource 파일 (.qrc) 적용방법
[ PyQt ] Qt Resource 파일 (.qrc) 적용방법
2022.01.18Qt Designer를 이용하여 이미지를 넣을 때 직접 이미지 파일을 선택하여 사용 할 수도 있지만 실행 파일을 만들때 오류가 발생 할 수 있습니다. 이런 경우를 대비하여 Qt 리소스 파일로 만들어 사용합니다. Qt Designer에서 리소스를 관리하는 영역은 아래와 같습니다. 1. 리소스 편집 (연필) 버튼 클릭 ▶ 새 리소스 파일 클릭 2. 리소스 파일명 입력 후 저장 클릭 3. 접두어 추가 (생량 가능) 4. 파일 추가를 클릭하여 이미지를 선택 5. 리소스 선택을 클릭하여 추가된 이미지를 사용 Qt Designer에서 리소스를 사용한 경우 PyQt uic가 리소스 import를 호출하는 디렉토리에서 리소스 파일을 찾으려 합니다. pyrcc5 를 이용하여 Qt 리소스 파일(.qrc)을 Python 모..
맥북 dlib 간단하게 설치하기 (Mac OS)
맥북 dlib 간단하게 설치하기 (Mac OS)
2022.01.17Dlib 는 기계학습 알고리즘과 도구를 포함하는 C++ 언어로 작성된 툴킷입니다. Dlib는 오픈 소스 라이선스를 통해 모든 어플리케이션에서 무료로 사용 할 수 있습니다. 이 글에서는 Mac OS에 Dlib를 설치하는 방법에 대해 간단히 소개합니다. 1. Install Homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 2. Install Python3 (and pip3) using Homebrew 이미 Python이나 Anaconda를 통해 설치가 되어 있다면 Skip brew install python@3.6 # 최신 버전 설치 시 # brew install py..
Jupyter Lab 바로가기 만들기 (Mac)
Jupyter Lab 바로가기 만들기 (Mac)
2022.01.14맥북에서 Jupyter Lab 바로가기 를 만드는 법에 대해 소개하겠습니다. 1. Anaconda3 설치경로에서 bin 폴더로 이동합니다. (저는 경우는 opt\Anaconda3\bin입니다.) 2. command + option 키를 동시에 누른 다음 jupyter-lab 파일을 바탕화면에 드로그앤 드롭하면 바로가기 파일이 생성됩니다. 3. 바로가기 파일을 우클리하여 "정보 가져오기" 를 클릭합니다. 4. 아이콘 이미지가 있다면 복사하고 Jupyter Lab 정보 창의 아이콘을 클릭 후 붙여넣기 합니다. 아이콘 보기 다 끝났습니다. 클릭하여 실행해보니 잘되네요. 윈도우보다 간편하다는 생각이 듭니다.
Jupyter Lab 바로가기 만들기 (Windows)
Jupyter Lab 바로가기 만들기 (Windows)
2022.01.14Anaconda를 설치해보면 Jupyter Notebook은 있지만 Jupyter Lab은 없습니다. Jupyter Lab 바로가기를 추가하는 방법에대해 설명 드리겠습니다. 1. Anaconda3 설치경로에서 Scripts 폴더로 이동합니다. (저는 D드라이브에 설치했기때문에 D:\Anaconda3\Scripts 입니다.) 2. jupyter-lab 파일을 찾아서 마우스 우클릭 후 바탕화면 "바로 가기 만들기"를 클릭합니다. 3. 바탕화면에 생성된 바로 가기의 이름을 변경해줍니다. 4. 속성을 클릭하여 시작 위치를 변경합니다. Python 작업을 하려는 폴더로 변경하시면 됩니다. 5. 아이콘도 변경합니다. Anaconda3 설치 경로에 Menu 라는 폴더에 가시면 기본 아이콘이 있습니다. (저는 D:\A..
[ OCR ] EasyOCR 사용하기 - Python
[ OCR ] EasyOCR 사용하기 - Python
2022.01.13EasyOCR은 문자 영역 인식(Detection), 문자 인식(Recognition)을 손쉽게 수행 할 수 있도록 하는 Python 패키지 입니다. EasyOCR은 구현이 간단하고 매우 직관적입니다. 현재 80개이상의 언어를 지원하고 있으며, 꾸준히 Releases 되고 있습니다. 최근에는 손글씨 인식을 목표로 하고 있습니다. EasyOCR은 OCR 오픈소스로 Detection과 Recognition부분으로 나누어져 있으며 Text Detection은 CRAFT를 사용하고 Recognition은 CRNN사용합니다. Framework는 모든 소스가 pytorch로 작성되어있습니다. OCR 수행결과와 텍스트의 Bounding Box 좌표를 얻을 수 있습니다. 또한 한번에 여러 개의 언어 인식도 가능합니다...
[ OCR ] 문자 추출 및 인식 (EAST text Detector Model) - Python
[ OCR ] 문자 추출 및 인식 (EAST text Detector Model) - Python
2022.01.13일반적으로 OCR에서 원하는 영역을 추출하는 방법은 이전 글에서 설명드린 것처럼, 그래디언트를 적용하고 단락으로 그룹화하여 조건식으로 특징을 입력하여 찾습니다. 문제는 통제되지 않은 촬영 환경에서 촬영한 사진에서 텍스트를 감지하는 것은 매우 어렵다는 것입니다. 시야각은 텍스트와 평행하지 않고 빛이나 조명에 의해 지나치게 어둡거나 밝을 수도 있습니다. EAST 문자 감지 모델은 Text가 흐리거나 기울어진 환경에서도, 부분적으로 가려직 경우에도 찾아낼 수 있습니다. EAST는 An Efficient and Accurate Scene Text Detector의 약자로 Zhou et al.의 2017년 논문을 기반으로 하는 딥러닝 문자 감지기입니다. 논문에 따르면 EAST는 720p 이미지에서 방향과 상관없이..
[ OCR ] 파이썬 Tesseract OCR 활용 (심화2) - Python
[ OCR ] 파이썬 Tesseract OCR 활용 (심화2) - Python
2022.01.11그림, 표, 바코드 등을 포함한 복잡한 구조의 이미지인 경우에서는 OCR 결과가 좋지 않습니다. 원하는 영역만 추출하여 OCR을 수행하면 좋을 것 같은데.. 하지만 이미지에서 내가 원하는 영역을 정확하게 파악하고 출력하는 것은 쉬운 일이 아닙니다. 다양한 이미지에서 원하는 영역만 추출하여 OCR을 수행하거나 OCR결과에서 원하는 값을 찾는 방법에 대해 소개합니다. Import Packages from imutils.perspective import four_point_transform from imutils.contours import sort_contours import matplotlib.pyplot as plt import pytesseract import imutils import cv2 impo..
[ OCR ] 파이썬 Tesseract OCR 활용 (심화1) - Python
[ OCR ] 파이썬 Tesseract OCR 활용 (심화1) - Python
2022.01.11OCR에서는 인식율이 매우 중요하며, 당연한 이야기이기도 하지만 이미지의 품질이 가장 중요합니다. 하지만 현실에서 우리가 인식하려는 이미지의 품질은 매우 좋지 않습니다. 다양한 촬영기기 (카메라/스캐너/팩스 등), 다양환 촬영 환경 (조명/화각/배경 등) 등으로 인해 매우 불량한 상태의 이미지이고 이러한 이미지의 인식율을 올린다는 것은 매우 도전적인 일입니다. 이전 글에서 간단히 Tesseract를 사용해봤다면, 입력된 이미지를 이미지 전처리 과정을 통해 Scan한 이미지로 변경하여 OCR을 수행하는 방법에 대해 소개하겠습니다. 먼저, Tesseract가 설치되어 있지 않다면, Tesseract 설치방법을 참고하시여 설치를 진행해 주시기 바랍니다. Import Packages from imutils.pe..
[ OpenCV ] Basic 2 - 기본 그리기 (선, 점, 사각형, 원)
[ OpenCV ] Basic 2 - 기본 그리기 (선, 점, 사각형, 원)
2022.01.10Drawing with OpenCV OpenCV 기본 그리기 기능을 사용하는 방법을 설명드리겠습니다. OpenCV에는 불규칙한 모양의 다각형을 포함하여 다양한 모양을 그리는 데 사용할 수 있는 여러 그리기 기능이 있지만 가장 일반적인 3가지 OpenCV 그리기 기능은 다음과 같습니다. cv2.line : 지정된 (x, y) 좌표 에서 시작 하여 다른 (x, y) 좌표 에서 끝나는 이미지에 선을 그립니다. cv2.circle : 중심 (x, y) 좌표와 제공된 반지름으로 지정된 이미지에 원을 그립니다. cv2.rectangle : 왼쪽 위 모서리와 오른쪽 아래 모서리 (x, y) 좌표로 지정된 이미지에 직사각형을 그립니다. Import packages import cv2 import numpy as np ..
[ OpenCV ] Basic 1 - 픽셀(Pixel)값 가져오고 설정하기
[ OpenCV ] Basic 1 - 픽셀(Pixel)값 가져오고 설정하기
2022.01.10Getting and Setting Pixels Python과 OpenCV를 이용하여 Pixel값을 가져오고 설정하는 방법을 설명드리겠습니다. Pixel(픽셀)이란? 픽셀(=화소)은 화면을 구성하는 가장 기본이 되는 단위입니다. 디지털 이미지의 경우 수많은 타일의 모자이크 그림과 같은 사각형의 픽셀로 이루어져 있습니다. 대부분의 픽셀은 두 가지 방식으로 표현됩니다. Grayscale/single channel Color Grayscale 이미지에서 각 픽셀은 0에서 255 사이의 값을 가지여, 0은 검정에 해당하고 255는 흰색에 해당합니다. 0에서 255 사이의 값은 다양한 회색 음영으로, 0에 가까울수록 더 어둡고 255에 가까울수록 더 밝아집니다. Color 픽셀은 일반적으로RGB색상 공간으로 표현..
[ OCR ] 파이썬 Tesseract OCR 활용 (기본) - Python
[ OCR ] 파이썬 Tesseract OCR 활용 (기본) - Python
2021.12.23OCR이라는 기술은 정확히는 몰라도 한 번쯤은 들어봤거나 차량 번호판 인식, 카드번호 인식과 같이 이미 직ㆍ간접적으로 경험해 본 적이 있을 것입니다. OCR(Optical character recognition)의 역사는 생각한 것보다 매우 깁니다. 1928년에 독일의 G. Taushek가 미리 준비된 몇 개의 표준 pattern 문자와 입력 문자를 비교하여 표준 pattern 문자와 가장 유사한 것을 해당 문자로 선정하는 pattern matching 기법을 이용한 문자 인식 방법을 특허로 등록하면서 시작되었습니다. 연구소나 기업 등에서 대형 컴퓨터를 통하여 수행되던 것이 PC와 이미지 스캐너의 보급으로 우리 가까이 사용되기 시작하여 역사로는 이미 20년이 넘었다고 볼 수 있습니다. 하지만 굉장히 오래..
[ OCR ] Tesseract, PyTesseract 설치방법 (OCR 개발환경) - Python
[ OCR ] Tesseract, PyTesseract 설치방법 (OCR 개발환경) - Python
2021.12.13Tesseract란? 테서랙트(Tesseract)는 다양한 운영 체제를 위한 광학 문자 인식 엔진입니다. 이 소프트웨어는 Apache License, 버전 2.0에 따라 배포되는 무료 소프트웨어이며 2006년부터 Google에서 개발을 후원했습니다. Tesseract는 1995년 문자 정확도 측면에서 3대 OCR 엔진에 속했으며 Linux, Windows 및 Mac OS X에서 사용할 수 있습니다. 버전 2 이하의 Tesseract에서는 간단한 단일 열 텍스트의 TIFF 이미지만 입력으로 허용했었고, Version 3 부터 Tesseract는 출력 텍스트 형식, OCR 위치 정보 및 페이지 레이아웃 분석을 지원하게 되었고 Leptonica 라이브러리를 사용하여 여러 가지 새로운 이미지 형식에 대한 지원이..