Machine Learning/영상처리 (5) 썸네일형 리스트형 이미지 OCR 이번에는 이미지에 있는 숫자를 인식해보겠다. 다음 그림은 컴퓨터에서 숫자를 그린 것이다. 여러 개의 글자가 적혀 있으므로 일단 문자가 어디 적혀 있는지 인식시켜야 한다 OpenCV로 텍스트영역 확인하기 import sys import numpy as np import cv2 # 이미지 읽어 들이기 --- (※ 1) im = cv2.imread('numbers.PNG') # 그레이스케일로 변환하고 블러를 걸고 이진화하기 --- (※2) gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) blur = cv2.GaussianBlur(gray, (5, 5), 0) thresh = cv2.adaptiveThreshold(blur, 255, 1, 1, 11, 2) # 윤곽 추출하기 ---.. OpenCV로 얼굴인식하기 OpenCV는 ComputerVision 관련 프로그래밍을 쉽게 할 수 있도록 도와주는 open Library이다. OpenCV는 영상처리, 3D 구성, 추적,기계학습, 인식 그리고 딥러닝 까지 유용한 기능이 아주 많으며 상업적인 용도로도 무료이다 Haar 특징기반 다단계 분류자(Feature-based Cascade Classifiers)를 이용한 물체 검출은 Paul Viola와 Michael Jones이 2001년에 발표한 논문, “Rapid Object Detection using a Boosted Cascade of Simple Features”에서 제안된 효과적인 물체 검출방법 이다. 이는 검출할 대상이 되는 물체가 있는 이미지와 없는 이미지(각각을 Positive Image와 Negative.. 규동 메뉴 이미지 판정하기 지금까지 배운 내용을 활용하여 규동 이미지를 판정할 것이다 스크래핑으로 이미지르 ㄹ수집하고, 데이터를 전처리/가공하고, 머신러닝으로 분석하는 방법까지 모두 활용할 것이다. 스크래핑부터 시작하기 이번 예제는 포토주(photozou) 라는 사이트에서 이미지를 가져올 것이다. 테스트로 규종 정보를 XML로 가져와보겠다. 포토주의 API는 인증 등이 따로 필요하지 않으므로 웹 브라우저에 입력하면 곧바로 XML을 확인할 수 있다. https://api.photozou.jp/rest/search_public.xml?keyword=牛丼 포토주의 썸네일 이미지 URL(thumnail_image_url)을 사용한다(120x120 픽셀) 또한 무한 반복으로 API를 계속 실행해 결과가 0이 나올 때까지 돌리겠다. impo.. CNN으로 이미지 분류하기 https://codegongbang.tistory.com/2?category=864829 이전에 CNN에 대해 살펴 봤는데, CNN은 신경망의 단점인 '층이 늘어나면 제대로 학습하지 못한다' 라는 문제를 입력층과 출력층 사이에 합성곱층과 풀링층을 넣어 보완한 것이다. 이번에는 Caltech 101데이터 세트를 사용해 색상 있는 이미지를 분류 할 것이다. Caltech 101 에는 101가지 종류의 카테고리로 분류된 이미지가 들어 있다. 분류하고 학습하는데 시간이 오래걸리므로 5가지 종류의 카테고리를 학습시키고 정확하게 분류할 수 있느지 테스트 해보자 랜덤으로 chair, camera, butterfly, elephant, flamingo 카테고리 이미지를 이용하겠다. 각 카테고리에는 이미지가 60장정도.. 유사한 이미지 판별 그리고 Average Hash 형태 인식을 이용하여 이미지 데이터를 인식하고 이와 비슷한 이미지를 찾아낼 수 있다. 이에 관련해 간단한 방법이 있다 바로 average hash이다 Average Hash average hash는 이미지를 비교가능한 해시 값으로 나타낸 것이다, 해시 함수 MD5, SHA256등을 이용하면 데이터 값을 간단한 해시 값으로 변환가능하다 하지만 이러한 함수들은 같은 이미지를 찾는데 유용하지만 유사한 이미지를 찾는데 사용불가하다. 구체적인 방법으로는 이미지 크기를 8x8로 축소한다. 색을 그레이스케일로 변환한다. 이미지의 각 픽셀의 평균을 계산한다. 각 픽셀의 어두운 정도가 평균보다 크면 1, 평균보다 작으면 0으로 입력한다. 위와 같은 방식으로 이미지의 형태를 나타내는 64비트 해시 값을 구할 수 있다. 이.. 이전 1 다음