오늘은 EmguCV 함수를 이용해 글자를 출력하는 방법을 알아볼건데요.
제가 그동안 샘플코드로 작성했던 내용들 처럼 CCTV 카메라에 RTSP Protocol을 이용해서
영상 스트리밍을 화면에 출력하다가 카메라 연결이 끊어졌을 때 "Disconnected",
카메라에 다시 연결을 시도 할때는 "Retry connect" 메세지를 출력해줄 용도로 만들었습니다.
[IT정보공유/C#] - C# EMGUCV를 이용한 RTSP Stream 영상재생 샘플코드
C# EMGUCV를 이용한 RTSP Stream 영상재생 샘플코드
요즘 계속 EMGUCV 관련 포스트를 하고 있네요. 실무에서 개발 진행 중인 부분이다 보니 아무래도 테스트를 많이 하고 있어서 그런것 같습니다. 영상처리 라이브러리인 OpenCV를 C#에서 사용하기 쉽도록 Wrapper Cl..
bigenergy.tistory.com
//함수 원형
//public static void PutText(IInputOutputArray img, string text, Point org, FontFace fontFace, double fontScale, MCvScalar color, int thickness = 1, LineType lineType = LineType.EightConnected, bool bottomLeftOrigin = false);
//
public void SetStateMessage(string Text)
{
Mat image = new Mat(new Size(320, 240), Emgu.CV.CvEnum.DepthType.Cv8U, 3);
image.SetTo(new Bgr(0, 0, 0).MCvScalar);
CvInvoke.PutText(image, Text, new System.Drawing.Point(10, 120), Emgu.CV.CvEnum.FontFace.HersheyComplex, 1.0, new Bgr(255.0, 255.0, 255.0).MCvScalar);
_imgBox.Image = image;
}
소스를 간단하게 설명하자면 Mat Type의 이미지 객체를 생성해주고
이 이미지 객체의 이미지 위에 PutText 함수를 이용해 글자를 그려줍니다.
FontFace 파라미터에는 폰트를 지정해 주면 되는데, EmguCV에서 제공해주는
Emgu.CV.CvEnum.FontFace에 정의되어 있는 폰트에서는 한글은 지원을 안하더라고요.
RTSP 영상의 Framerate 를 표시하거나 부수적인 정보를 출력할 필요가 있을 경우
CvInvoke.PutText 함수를 이용하면 되겠습니다.
댓글