图像转换
cvConvertImage(src, dst, flags=0);
(2) 彩色图像->灰度图像:
// Using the OpenCV conversion:
cvCvtColor(cimg,gimg,CV_BGR2GRAY);
// Using a direct conversion:
for(i=0;i<cimg->height;i++)
for(j=0;j<cimg->width;j++)
cvCvtColor(src,dst,code); // src -> dst
e.g.: CV_BGR2GRAY, CV_BGR2HSV, CV_BGR2Lab
绘图指令
// 在点 (100,100) 和 (200,200) 之间绘制一矩形,边线用红色、宽度为 1
cvRectangle(img, cvPoint(100,100), cvPoint(200,200), cvScalar(0,0,255), 1);
// 圆心为(100,100)、半径为20. 圆周绿色、宽度为1
cvCircle(img, cvPoint(100,100), 20, cvScalar(0,255,0), 1);
// 在 (100,100) 和 (200,200) 之间、线宽为 1 的绿色线段
cvLine(img, cvPoint(100,100), cvPoint(200,200), cvScalar(0,255,0), 1);
(4) 绘制一组线段:
CvPoint
CvPoint
CvPoint* curveArr[2]={curve1, curve2};
int
int
int
int
cvPolyLine(img,curveArr,nCurvePts,nCurves,isCurveClosed,cvScalar(0,255,255),lineWidth);
void cvPolyLine( CvArr* img, CvPoint** pts, int* npts, int contours, int is_closed,
img
pts
npts
contours
is_closed
color
thickness
line_type
shift
cvFillPoly(img,curveArr,nCurvePts,nCurves,cvScalar(0,255,255));
cvFillPoly用于一个单独被多边形轮廓所限定的区域内进行填充。函数可以填充复杂的区域,例如,有漏洞的区域和有交叉点的区域等等。
void cvFillPoly( CvArr* img, CvPoint** pts, int* npts, int contours,CvScalar color, int line_type=8, int shift=0 );
img
pts
npts
contours
color
line_type
shift
CvFont font;
double hScale=1.0;
double vScale=1.0;
int
cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX|CV_FONT_ITALIC, hScale,vScale,0,lineWidth);
cvPutText (img,"My comment",cvPoint(200,400), &font, cvScalar(255,255,0));
其它可用的字体类型有: CV_FONT_HERSHEY_SIMPLEX, CV_FONT_HERSHEY_PLAIN, CV_FONT_HERSHEY_DUPLEX, CV_FONT_HERSHEY_COMPLEX, CV_FONT_HERSHEY_TRIPLEX, CV_FONT_HERSHEY_COMPLEX_SMALL, CV_FONT_HERSHEY_SCRIPT_SIMPLEX, CV_FONT_HERSHEY_SCRIPT_COMPLEX,
5258

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



