
OpenCV(Open Source Computer Vision Library) 는 이미지·영상 처리와 컴퓨터 비전을 위한 오픈소스 라이브러리로 C++로 구현되어 빠르고, Python에선
cv2모듈로 많이 쓴다.
pip install opencv-python아래와 같이 import easyocr를 사용해 poem.png의 텍스트를 추출해봤다.

import easyocr
reader = easyocr.Reader(['ko', 'en'])
result = reader.readtext('poem.png')
for i in result:
print(i[1])
### 출력값: 서시
운동주
죽는 날까지 하늘올 우러러
한 점 부끄럽이 없기름 .
잎새에 이는 바람에도
나는 괴로워있다 .
벌올 노래하는 마음으로
모든 죽어 가능 것올 사랑해야지
그리고 나에게 주어진 길을
걸어가야켓다 .
오늘 밤에도 별이 바람에 스치운다 .
위처럼 이미지가 깔끔한 경우엔 조금의 오타를 제외하고는 아주 잘 불러오는 것을 확인 할 수 있었다.
MediaPipe는 구글의 스트리밍 지향 키포인트/세그멘테이션 파이프라인으로 낮은 지연, 모바일 친화, 추적 안정화 필터와 함께 제공된다. OpenCV와 결합해 카메라 입력 → 키포인트 → 시각화/제스처 로직을 빠르게 구현할 수 있다.

FacaMesh는 위 사진과 같이 468개 얼굴 랜드마크(일부 3D 정규화 좌표) 제공하여 표정 추정, AR 필터, 뷰티 효과, 시선·고개 방향 추정 등에 활용할 수 있다. Facemesh를 사용한 대표적인 예시로는 TikTok (Effect House), Snapchat (Lenses), SNOW / B612 등이 있다.
아래와 같이 이미지를 불러와 사물을 인식하고 바운딩 박스를 만들어 줄 수도 있다.

바운딩 박스 좌표값 출력:
objs = root.findall('object')
for obj in objs:
bndbox = obj.find('bndbox')
name = obj.find('name').text
xmin = int(bndbox.find('xmin').text)
ymin = int(bndbox.find('ymin').text)
xmax = int(bndbox.find('xmax').text)
ymax = int(bndbox.find('ymax').text)
print(f'{name}: ({xmin}, {ymin}), ({xmax}, {ymax})')
## aeroplane: (104, 78), (375, 183)
## aeroplane: (133, 88), (197, 123)
## person: (195, 180), (213, 229)
## person: (26, 189), (44, 238)
이미지 내 바운딩 박스 시각화:
base_image = image.copy()
objs = root.findall('object')
for obj in objs:
bndbox = obj.find('bndbox')
name = obj.find('name').text
xmin = int(bndbox.find('xmin').text)
ymin = int(bndbox.find('ymin').text)
xmax = int(bndbox.find('xmax').text)
ymax = int(bndbox.find('ymax').text)
cv2.rectangle(base_image, (xmin, ymin), (xmax, ymax), color=(255, 0, 0), thickness=1)
cv2.putText(base_image, name, (xmin, ymin-5), cv2.FONT_HERSHEY_SIMPLEX, fontScale=0.5, color=(255,0,0), thickness=1)
plt.imshow(base_image)
plt.show()

Region Proposal(영역 제안) 은 “객체가 있을 법한 후보 박스”를 대량으로 만드는 단계다.

YOLO(You Only Look Once) 는 이미지를 한 번만 통과시켜 바운딩 박스 + 클래스를 동시에 예측하는 1-단계(One-stage) 객체 검출기다. R-CNN류처럼 후보영역을 따로 뽑지 않아 지연(latency) 이 낮고 실시간성이 강하다. 초기 아이디어는 “검출을 회귀 문제로 통째로 풀자”는 관점에서 출발했다.

YOLO(You Only Look Once) 계열은 실시간 객체 검출의 사실상 표준으로 다음과 같은 특징이 있다: