728x90
반응형

전체 글 28

[OpenCV] 이미지 처리 (GrabCut)

오늘은 opencv에 있는 GrabCut 알고리즘을 사용해보자. GrabCut Algorithm Method:초기 마스크 설정: 사용자는 초기 마스크를 설정하여 이미지의 전경(객체)과 배경을 대략적으로 지정한다. 일반적으로 사각형 영역으로 전경을 지정한다.그래프 모델 생성: 이미지의 픽셀을 노드로 하는 그래프를 생성하고, 각 노드는 전경과 배경 클래스에 연결된다. 이 그래프는 두 개의 가상 노드(전경과 배경)와 연결되어 있다.비용 함수 정의: 각 픽셀에 대해 전경과 배경으로 분류될 비용을 정의한다. 이 비용은 픽셀의 색상 및 주변 픽셀과의 관계를 기반으로 한다.최적화: GrabCut 알고리즘을 사용하여 그래프의 최적 분할을 찾는다. 이 단계에서는 전경과 배경을 최적의 방식으로 분리하는 최적화가 수행된다..

OpenCV 2024.08.18

[OpenCV] 이미지 처리 (Canny)

오늘은 canny edge detector를 이용해 이미지에서 강한 경계 부분을 찾아보는걸 해보자.  import cv2# 이미지 불러오기 (그레이스케일로 변환)image = cv2.imread('/my_dir/image.jpg', cv2.IMREAD_GRAYSCALE)# 가우시안 블러를 적용하여 노이즈 제거 (옵션)blurred = cv2.GaussianBlur(image, (5, 5), 0)# Canny 에지 검출 적용edges = cv2.Canny(blurred, threshold1=50, threshold2=150)# 결과 출력 & 저장cv2.imwrite('/my_dir/edge_image.jpg',edges)cv2.imshow('Original Image', image)cv2.imshow('E..

OpenCV 2024.08.18

[OpenCV] 이미지 처리 (Laplacian)

오늘은 라플라시안을 통해 이미지에 블러 여부를 판단하는 로직을 만들어보자.  라플라시안(Laplacian)이란 무엇인가? - 이미지의 2차 미분을 계산하여 픽셀의 밝기 변화를 강조하는 방법  1차 미분과 경계 검출: 이미지의 밝기 값은 공간적으로 변환한다. 이 변화를 1차 미분하면 밝기 값이 급격히 변하는 위치, 즉 경계(edge)를 찾을 수 있다. 하지만 1차 미분은 밝기 변화의 방향에 민감하며, 노이즈에도 영향을 받을 수 있다.2차 미분과 라플라시안: 라플라시안 변환은 이미지의 2차 미분을 사용한다. 2차 미분은 이미지의 곡률을 측정하며, 밝기 값이 급격히 변하는 위치를 더욱 강조한다. 라플라시안 변환은 이미지에서 경계와 같은 고주파 성분을 추출하는 데 강력한 도구이다. 이 변환을 통해 이미지의 샤프..

OpenCV 2024.08.18
728x90
반응형