图像像素值统计&图像几何形状的绘制&随机数与随机颜色

图像处理与绘制技术
本文介绍了图像处理中像素值统计的方法,并展示了如何使用OpenCV进行基本的图像几何形状绘制,包括矩形、圆形等,还提供了多边形的填充与绘制实例。

1.图像像素值统计

//图像像素值统计
void pixel_statistic_demo(Mat &image)
{
	double minv,maxv;
	Point minLoc, maxLoc;
	vector<Mat> mv;
	for(int i=0; i< mv.size(); i++)
	{
		minMaxLoc(image, &minv, &maxv, &minLoc, &maxLoc, Mat());
		cout<<"NO.channels:"<<i<<"minValue:"<<minv<<"maxValue:"<<maxv<<endl;
	}
	Mat mean,stddev;
	Mat redback = Mat::zeros(image.size(), image.type());
	meanStdDev(image, mean, stddev);
	cout<<"means:"<<mean<<endl;
	cout<<"stddev"<<stddev<<endl;
}

2.图像几何形状的绘制

//图像几何形状的绘制
void drawing_demo(Mat &image)
{
	Rect rect;
	rect.x = 200;
	rect.y = 200;
	rect.width = 100;
	rect.height = 100;
	retangle(image,rect,Scalar(0,0,255),2,8,0);//绘制矩形不填充,与参数的数值有关
	//retangle(image,rect,Scalar(0,0,255),-1,8,0);//绘制矩形并填充
	circle(image, Point(350,400),15,Scalar(255,0,0),-1,8,0);//绘制圆
	line(image, Point(100,100),Point(350,400),Scalar(0,255,0),4,LINE_AA,0);
	RotatedRect rrt;
	rrt.center = Point(200,200);
	rrt.size = Size(100,200);
	rrt.angle = 90.0;
	ellipse(image, rrt, Scalar(255,0,0),2,8);
	imshow("绘制演示",image);
}

3.随机数与随机颜色

//多边形填充与绘制
polyline_drawing_demo()
{
	Mat canvas = Mat::zeros(Size(512,512),CV_8UC3);
	Point p1(100,100);
	Point p2(350,100);
	Point p3(450,280);
	Point p4(320,480);
	Point p5(80,400);
	vector<Point>pts;
	pts.push_back(p1);
	pts.push_back(p2);
	pts.push_back(p3);
	pts.push_back(p4);
	pts.push_back(p5);
	
	fillPoly(canvas,pts,Scalar(255,0,255),8,0);
	polylines(canvas, pts,true, Scalar(0,0,255),2,LINE_AA,0);
	
	//vector<vector<Point>>contours;
	//contours.push_back(pts);
	//drawContours(canvas, contours, -1, Scalar(255,0,0),-1);
	imshow("多边形绘制",canvas);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值