본문 바로가기

언어

[OpenCV] putText 함수를 이용한 Text 출력

출처: http://webdir.tistory.com/439 [cv::putText 함수의 Prototype]

//! renders text string in the image
CV_EXPORTS_W void putText( Mat& img, const string& text, Point org,
                         int fontFace, double fontScale, Scalar color,
                         int thickness=1, int lineType=8,
                         bool bottomLeftOrigin=false );
[Source Code]

#include "stdafx.h"
#include "opencv2/opencv.hpp"

using namespace cv;

int _tmain(int argc, _TCHAR* argv[])
{
	/// Image
	cv::Mat myImage = imread( "../landscapes-267a.jpg" );

	/// Text
	string myText = "Testing Text Rendering";
	
	/// Text Location
	cv::Point myPoint;
	myPoint.x = 10;
	myPoint.y = 40;

	/// Font Face
	int myFontFace = 2;

	/// Font Scale
	double myFontScale = 1.2;

	cv::putText( myImage, myText, myPoint, myFontFace, myFontScale, Scalar::all(255) );

	/// Create Windows
	namedWindow( "Text Rendering", 1 );

	/// Show stuff
	imshow( "Text Rendering", myImage );

	/// Wait until user press some key
	waitKey();
	return 0;
}
만약 Font의 Color를 원하는 R, G, B로 변경하고자 하는 경우에는 다음과 같이 코드를 입력한다.

cv::putText( myImage, myText, myPoint, myFontFace, myFontScale, Scalar(255, 255, 255) );