영상처리/OpenCV

도형 그리기

성혜영 2022. 6. 8. 13:31

 

도형 그리기 : 영상이나 이미지 위에 그래픽을 그리는 것. 주로 검출 결과를 시각적으로 표시하는 데 사용. 모든 정밀도와 채널에 대해 작동하며, 이미지 위에 도형을 그림

행렬(이미지)이 아닌 배열에도 도형을 그릴 수 있으며, 도형이 그려진 위치의 요소값을 그리기 형태의 배열 값으로 변경

 

<선형타입>

선형타입 : 도형을 그랠 때 어떤 유형의 선으로 그릴지 결정하는 인수

  1. 브레젠험 알고리즘 (Bresenham’s algorithm) 방식 -> 컴퓨터 그래픽 분야에서 개발된 최초의 알고리즘 중 하나. 실수 연산이 아닌 정수 연산으로 대체하기 위한 알고리즘. 일반적으로 직선의 방정식을 사용하면 두 점 사이에 있는 모든 좌표를 알 수 있으나 실수 형태의 소수점이 발생. 이미지는 래스터 형식의 사각형 격자 구조로 이뤄진 행렬이며, 점의 좌표는 모두 정수의 값으로 이뤄져 있음. 이때 정수로 한정된 공간이므로 실수 연산을 하지 않고 정수 연산으로만 선을 긜ㄹ 수 있도록 개발된 알고리즘임.
  • 4연결 방식 : 선분에 픽셀을 할당할 때 다음에 할당될 위치로 오른쪽, 왼쪽, 위쪽, 아래쪽 영역만 고려
  • 8연결 방식 : 대각선 방향까지 추가되어 총 여덟개의 위치를 고려. 즉, 선분의 위치를 보고 픽셀을 어디에 배치할지 결정



2. 안티 에일리어싱(Anti-Aliasing) 방식 -> 높은 해상도의 신호를 낮은 해상도에서 표현할 때 발생하는 계단 현상을 제거하여 영상 신호의 결함을 없애기 위한 기법. (다른 두 공간의 평균색을 표시하는 방법)  이미지나 객체의 가장자리 부분에서 발생하는 계단 현상을 없애고 계단을 부드럽게 보이게 하는 방식. 가우스 필터링을 사용하며, 넓은 선의 경우 항상 끝이 둥글게 그려짐.

 

3. 내부 채우기 방식

 

선은 점들의 연속으로 이뤄진 형태이므로, 두 점 사이의 직선을 그린다면 시작점과 도착점 사이에 연속한 점을 두게 되어 직선을 그림.

 

'영상처리 > OpenCV' 카테고리의 다른 글

트랙바 생성  (0) 2022.06.08
각종 그리기 함수  (0) 2022.06.08
이미지 연결  (0) 2022.06.07
동영상 출력  (0) 2022.06.07
마우스 콜백  (0) 2022.06.07