1. cvPoint和 Point
cvPoint可以直接如下使用:cvPoint(x,y);
Point需这样使用:Point pt1 = Point(x,y);
2. cvRectangle与cv:rectangle的用法
cvRentangle和cv::rectangle函数原型对比:
C:void cvRectangle(CvArr* img, CvPoint pt1, CvPoint pt2,CvScalar color, int thickness=1, int line_type=8, int shift=0 )
C++:void rectangle(Mat& img, Point pt1,Pointpt2,const Scalar& color, int thickness=1, int lineType=8, int shift=0)
C++:void rectangle(Mat& img, Rect rec, constScalar& color, int thickness=1, int lineType=8, int shift=0 )
参数介绍:
img图像.
pt1矩形的一个顶点。
pt2矩形对角线上的另一个顶点
color线条颜色 (RGB) 或亮度(灰度图像 )(grayscale image)。
thickness组成矩形的线条的粗细程度。取负值时(如 CV_FILLED)函数绘制填充了色彩的矩形。
line_type线条的类型。见cvLine的描述
shift坐标点的小数点位数。
例子:
Mat matImage = imread();
cv::rectangle(matImage,cvPoint(20,200),cvPoint(200,300),Scalar(255,0,0),1,1,0);
IplImage *iplImage = cvLoadImage();
cvRectangle(iplImage,cvPoint(20,200),cvPoint(200,300),Scalar(0,255,255),1,1,0);
3.cvPutText和 cv::putText
C++: void putText(Mat& img, const string& text,Point org, int fontFace, double fontScale, Scalar color, int thickness=1, intlineType=8, bool bottomLeftOrigin=false )
cvPutText(CvArr* img, const char* text, CvPoint origin,constCvFont* font, CvScalar color);
Parameters:
img – 显示文字所在图像.
text – 待显示的文字.
org – 文字在图像中的左下角 坐标.
font – 字体结构体.
fontFace字体类型, 可选择字体:FONT_HERSHEY_SIMPLEX,FONT_HERSHEY_PLAIN, FONT_HERSHEY_DUPLEX,FONT_HERSHEY_COMPLEX,FONT_HERSHEY_TRIPLEX,FONT_HERSHEY_COMPLEX_SMALL,FONT_HERSHEY_SCRIPT_SIMPLEX,orFONT_HERSHEY_SCRIPT_COMPLEX,以上所有类型都可以配合 FONT_HERSHEY_ITALIC使用,产生斜体效果。
fontScale – 字体大小,该值和字体内置大小相乘得到字体大小
color–文本颜色
thickness– 写字的线的粗细,类似于0.38的笔尖和0.5的笔尖
lineType–线性.
bottomLeftOrigin –true, 图像数据原点在左下角. Otherwise, 图像数据原点在左上角.
例子:
//参数为:承载的图片,插入的文字,文字的位置(文本框左下角),字体,大小,颜色
putText(picture,words,Point(picture.rows/2,picture.cols/4),CV_FONT_HERSHEY_COMPLEX,1, Scalar(255, 0, 0) );
CvFont font;
cvInitFont(&font, CV_FONT_HERSHEY_PLAIN, 1.5f, 1.5f,0, 2, CV_AA);//设置显示的字体
cvPutText(pImg,strID, cvPoint(P1.x, P1.y-10), &font,CV_RGB(255, 0, 0));//红色字体注释
4. cvInitFont初始化字体结构体
void cvInitFont( CvFont* font, int font_face, doublehscale,double vscale, double shear=0,int thickness=1, int line_type=8 );
font被初始化的字体结构体。
font_face:
CV_FONT_HERSHEY_SIMPLEX - 正常大小无衬线字体。
CV_FONT_HERSHEY_PLAIN - 小号无衬线字体。
CV_FONT_HERSHEY_DUPLEX - 正常大小无衬线字体。( 比CV_FONT_HERSHEY_SIMPLEX更复杂)
CV_FONT_HERSHEY_COMPLEX - 正常大小有衬线字体。
CV_FONT_HERSHEY_TRIPLEX - 正常大小有衬线字体 ( 比CV_FONT_HERSHEY_COMPLEX更复杂)
CV_FONT_HERSHEY_COMPLEX_SMALL - CV_FONT_HERSHEY_COMPLEX 的小译本。
CV_FONT_HERSHEY_SCRIPT_SIMPLEX - 手写风格字体。
CV_FONT_HERSHEY_SCRIPT_COMPLEX - 比CV_FONT_HERSHEY_SCRIPT_SIMPLEX更复杂。
这个参数能够由一个值和可选择的CV_FONT_ITALIC字体标记合成,就是斜体字。
hscale字体宽度。如果等于1.0f,字符的宽度是最初的字体宽度。如果等于0.5f,字符的宽度是最初的字体宽度的一半。
vscale字体高度。如果等于1.0f,字符的高度是最初的字体高度。如果等于0.5f,字符的高度是最初的字体高度的一半。
shear字体的斜度。当值为0时 ,字符不倾斜;当值为1.0f时,字体倾斜≈45度,等等。厚度让字母着重显示。函数cvLine用于绘制字母。
thickness字体笔划的粗细程度。
line_type字体笔划的类型,参见cvLine。
5.circle
//参数为:承载的图像、圆心、半径、颜色、粗细、线型
circle(picture,center,r,Scalar(0,0,0));
参考来自:
http://www.myexception.cn/program/1883385.html
http://blog.youkuaiyun.com/ubunfans/article/details/24421981
http://blog.youkuaiyun.com/a200800170331/article/details/49124107
http://blog.youkuaiyun.com/songjunyan/article/details/20548799
889

被折叠的 条评论
为什么被折叠?



