[OpenCV] 1. 그레이스케일에서 영상 명암
이번글에서는 영상의 명암에 대해 알아보겠습니다. 영상에서 명암비란 밝기 차이의 강도를 의미하고, 전반적으로 비슷한 밝기의 픽셀로 이루어질 경우 명암비가 낮다고 하고 밝은 픽셀과 어두운 픽셀이 골고루 있을 경우 명암비가 높다고 합니다. 오른쪽 레나가 왼쪽 레나보다 명암비가 높습니다. 오른쪽 …
이번글에서는 영상의 명암에 대해 알아보겠습니다. 영상에서 명암비란 밝기 차이의 강도를 의미하고, 전반적으로 비슷한 밝기의 픽셀로 이루어질 경우 명암비가 낮다고 하고 밝은 픽셀과 어두운 픽셀이 골고루 있을 경우 명암비가 높다고 합니다. 오른쪽 레나가 왼쪽 레나보다 명암비가 높습니다. 오른쪽 …
이번 글에서는 영상의 밝기에 대해 알아보겠습니다. 그레이스케일 영상에서 픽셀값은 0 ~ 255 값을 가지는데 255에 가까울수록 밝아지고, 0에 가까울수록 어두워집니다. 영상 밝기를 증가시키는 코드는 아래와 같습니다. 반대로 영상을 어둡게 할 경우 아래와 같이 마이너스 연산을 …
이번 글에서는 setTo와 copyTo 함수에 대해 알아보겠습니다. setTo 우선 setTo부터 알아보겠습니다. setTo 함수를 사용하기 위해서는 원본 영상과 마스크 영상의 크기가 같아야 합니다. 또한 보통 마스크 영상은 0 또는 255로 구성된 흑백 영상이 사용됩니다. 아래와 같이 …
이번 글에서는 createTrackbar 함수를 사용하여 OpenCV에서 제공하는 트랙바를 만들어보겠습니다. 아래는 createTrackbar에 대한 설명입니다. createTrackbar의 6번째 인자는 콜백 함수가 입력 됩니다. 콜백 함수로 사용되는 TrackbarCallBack에 대한 정의는 아래와 같습니다. 아래는 샘플 코드입니다. 위 함수를 실행하면 이미지의 밝기값을 변경할 수 …
이번 글에서는 키보드와 마우스 이벤트를 처리하는 방법을 알아보겠습니다. 키보드 이벤트 처리는 이전 글에도 많이 나왔던 waitKey 함수를 사용하면 됩니다. waitKey의 반환으로 입력된 키에 대한 아스키 코드 값을 반환합니다.아래 코드는 키 ‘a’, ‘b’를 입력 했을 때 각 …
이번 글에서는 영상에 텍스트를 출력하는 것을 알아보겠습니다. 텍스트를 출력하기 위해서는 putText 함수를 사용하면 됩니다. 샘플 코드는 아래와 같습니다. 실행 하면 아래와 같이 출력합니다.
이번 글에서는 OpenCV에서 제공하는 도형 그리기에 대해 알아보겠습니다. 대표적으로 사각형, 원, 타원, 다각형을 그리는 방법을 알아보겠습니다. 사각형 사각형을 그리기 위해서는 rectangle 함수를 사용해야합니다. 원 원을 그리기 위해서는 circle 함수를 사용하면 됩니다. 타원 타원을 그리기 위해서 …
OpenCV에서는 영상 위에 직선을 그리는 lin), arrowedLine 함수를 제공합니다. line 먼저 line함수부터 알아보겠습니다. line 함수의 원형은 아래와 같습니다. 라인의 타입은 아래와 같이 열거형 상수가 있습니다. 500 X 500 사이즈 영상에 색상과 두께를 다르게 한 3가지 직선을 그려보았습니다. …
OpenCV에서 Point_와 Size_ 클래스에 대해 알아보겠습니다. Point_ 우선 Point_클래스 부터 알아보겠습니다.Point_는 2차원 평면의 점의 좌표를 표현하는 클래스입니다. 해당 클래스는 템플릿 클래스이기 때문에 사용할 때 자료형을 명시해야합니다. 예를 들면 정수(int)형일 경우 Point_<int>로 명시하여 사용합니다. OpenCV에서는 아래와 …
OpenCV에서 Scalar 클래스에 대해 알아보겠습니다. Scalar 클래스는 이전에 설명한 것처럼 영상의 픽셀 값(=행렬의 원소값)을 표현하는 용도로 주로 사용 됩니다.Scalar 클래스는 Scalar_ 의 템플릿 재정의이고 Vec클래스를 상속받았습니다. Scalar은 아래와 같이 생성 가능합니다. Scalar 또한 <<연산이 가능합니다.