IT정보공유/C#

C# EmguCV 글자 출력 함수 PutText 사용하기

알지오™ 2019. 10. 17.

오늘은 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 함수를 이용하면 되겠습니다.

댓글

💲 추천 글