opencv中的基本绘图函数介绍

        Mat Image = imread("赤木晴子.jpg");
	if (!Image.empty())
	{
		cv::namedWindow("original_img",1);
		cv::imshow("original_img", Image);
		/*简单的绘图函数*/
		//画圆
	    cv::circle(Image, cv::Point(Image.cols / 2.0,Image.rows / 2.0 ), 20, cv::Scalar(0, 0, 255), 5);
		//画点
		cv::circle(Image, cv::Point(Image.cols / 2.0, Image.rows / 2.0), 4, cv::Scalar(0, 0, 255), 5);
		//向内填充,CV_FILLED的值为-1
		cv::circle(Image,cv::Point(Image.cols / 2.0,Image.rows/2.0),20,cv::Scalar(0,0,255),CV_FILLED);
		/*绘制矩形有两种方法:
		1:利用左上角和右下角的点
		2:利用自定义的矩形
		*/
		//第一种方法绘制矩形
		cv::rectangle(Image, cv::Point(0, 0), cv::Point(Image.cols / 2.0,Image.rows/2.0),cv::Scalar(0,0,255));
		//定义一个矩形,参数依此为(x,y,width,height)
		cv::Rect rect(Image.cols / 2.0,Image.rows / 2.0, Image.cols/2.0,Image.rows/2.0);
		//第二种方法绘制矩形
		cv::rectangle(Image,rect, cv::Scalar(0, 0, 255));
		//绘制直线,两点定义一条直线
		cv::line(Image,cv::Point(0,0),cv::Point(Image.cols,Image.rows),cv::Scalar(0,0,255));
		//绘制文本
		int font_face = cv::FONT_HERSHEY_PLAIN;//字体
		double font_scale = 2;// 尺寸因子,值越大文字越大 
		cv::putText(Image, "for testing", cv::Point(Image.cols / 2.0, Image.rows / 2.0), font_face, font_scale, cv::Sca                lar(255, 0, 0), 2, 8, 0);

		cv::imshow("img_after_plotting", Image);
		cv::waitKey(0);
             }


猜你喜欢

转载自blog.csdn.net/SenPaul/article/details/81033391