OpenCV的puttext函数问题
今天在写代码时,需要在图像中添加文字,因此用到了OpenCV的puttext函数
void putText( Mat& img, const string& text, Point org, int fontFace,double fontScale, Scalar color, int thickness=1, int lineType=8, bool bottomLeftOrigin = false // true='origin at lower left' );
参数1:Mat& img,待写字的图片。
参数2:const string& text,待写入的字。
参数3:Point org, 第一个字符左下角坐标。
参数4:int fontFace,字体类型,FONT_HERSHEY_SIMPLEX ,FONT_HERSHEY_PLAIN ,FONT_HERSHEY_DUPLEX 等等等。
参数5:double fontScale,字体大小。
参数6:Scalar color,字体颜色,颜色用Scalar()表示。
参数7:int thickness,字体粗细。
参数8:int lineType,线型(4邻域或8邻域,默认8邻域)
参数9:false为字是正过来,true为字倒过来
但是遇到了一个问题,代码如下:
(mtem,mhigh都为Mat类型,str为string类型)
mtem = mhigh;
str = to_string(n[row1]);
putText(mtem, str, Point(6, 24), FONT_HERSHEY_SIMPLEX, 0.4, Scalar(0, 225, 225), 1, LINE_AA, false);
matArr[row] = mtem;
运行之后发现字会添加到mhigh上去,因为后续还会继续用到mhigh,所以导致后面添加文字会叠加上去,导致结果出错,原因不太明白,只能在将mhigh的定义直接定义到mtem上去。