관련 설명은 앞에 블로그 "OpenCV Graph API 설명과 활용 방법"를 참고해 보시면 됩니다. Python에서도 G-API를 활용하면 가독성 높은 파이프라인 구성과 연산 최적화가 가능하여 이미지 처리 코드의 유지보수성이 크게 향상됩니다.
OpenCV G-API Python 이미지 처리 예제
아래 예제는 컬러 이미지를 입력받아 그레이스케일 변환 후 캐니 엣지 검출을 수행하는 OpenCV G-API Python 이미지 처리 파이프라인입니다.
import cv2 as cv
# 그래프 입력 정의
in_gmat = cv.GMat()
# 그래프 연산 정의
gray = cv.gapi.RGB2Gray(in_gmat)
edges = cv.gapi.Canny(gray, 50, 150)
# 그래프 컴파일
graph = cv.GComputation(cv.GIn(in_gmat), cv.GOut(edges))
# 이미지 로드
input_img = cv.imread("input.jpg")
# 그래프 실행
output = graph.apply(cv.gin(input_img))
# 결과 출력
cv.imshow("G-API Edges", output)
cv.waitKey(0)
cv.destroyAllWindows()
예제 코드 설명
cv.GMat은 실제 이미지 데이터가 아닌 그래프 상의 입력 노드를 의미합니다. RGB2Gray와 Canny 함수는 즉시 실행되지 않고 그래프 연산으로 등록됩니다.
GComputation 객체는 전체 이미지 처리 파이프라인을 정의하며, apply 호출 시 그래프가 최적화되어 한 번에 실행됩니다. 이 방식은 불필요한 중간 결과 생성을 줄이는 데 효과적입니다.
처리 결과는 아래와 같이 원본 이미지와 처리 이미지이며 속도에 최적화 되어 있습니다. Canny Edge 결과를 볼 수 있습니다.

'영상처리 도구' 카테고리의 다른 글
| OpenCV를 활용한 동영상 읽기 쓰기 방법 정리 (0) | 2026.01.20 |
|---|---|
| OpenCV Image Stitching을 이용한 파노라마 생성 방법과 활용 (0) | 2026.01.18 |
| OpenCV Graph API(G-API) 설명과 활용 방법 (0) | 2026.01.11 |
| OpenCV와 OpenVINO를 이용한한 객체 검출(Object Detection) 방법 (1) | 2026.01.08 |
| OpenVINO 개념 설명부터 설치 방법, 활용 예제 (0) | 2026.01.06 |
