使用cv::Point与cv::Scalar
- Point表示2D平面上一个点x,y
Point p;
p.x = 10;
p.y = 8 ;
//or
p = Point(10,8);
- Scalar表示四个元素的向量
Scalar(a,b,c);// a = blue,b= green,c = red表示RGB三个通道
绘制线,矩形,圆,椭圆等基本几何图形
画线 cv::line(LINE_4\LINE_8\LINE_AA)
画椭圆 cv::ellipse
画矩形 cv::rectangle
画圆 cv::circle
画填充 cv::fillPoly
添加文字 cv::putText()
代码演示
#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include <iostream>
#include <math.h>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
Mat dst;
cout << "Hello OpenCV " << CV_VERSION << endl;
// 载入图像
Mat myMat = imread("myImage.JPG", 1);
if(myMat.empty()){
cout << "could not load image..." << endl;
return -1;
}
// 创建一个窗口
namedWindow("myMat image", WINDOW_AUTOSIZE);//窗口名称
//画直线
line(myMat, Point(20, 20), Point(400, 400), Scalar(0, 0, 255), 2, 8);
//要画线的图像//直线起点//直线终点//直线颜色//线条粗细//线形
//画矩形
rectangle(myMat, Point(20, 20), Point(400, 400), Scalar(255, 0, 0), 2, 8);
//要画矩形的图像//左上角坐标//右下角坐标//线条颜色//线条粗细//线条类型
//画圆
circle(myMat, Point(150, 150), 100, Scalar(255, 255