绘制直线,及基本的数据类型

#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>
#include <iostream>
using namespace cv;
using namespace std;

#define WINDOW_NAME "SHOW"
#define WINDOW_WIDTH 600
// img为圆画在的地方
void drawCircle(Mat img, Point center){
    int thickness = -1;
    int lineType = 8;
    circle(img, center, WINDOW_WIDTH/32, Scalar(0, 0, 255), thickness, lineType);
}

void drawLine(Mat img, Point start, Point end){
    int thickness = 2;
    int linetype =8;
    line(img, start, end, Scalar(0, 0, 0), thickness, linetype);
}

void colorReduce(Mat& inputImg, Mat& outImg, int div){

}
//core.hpp文件中已经包含了别的头文件
int main()
{
    // CV_位数+是否有符号+类型前缀+通道数 Scalar一般用来存放一种颜色
   Mat m(2, 2, CV_8UC3, Scalar(0, 0, 255));
   Mat a = Mat::eye(4,4,CV_8UC1);
   Mat c(4,4,CV_8UC3);
   randu(c, Scalar::all(0),Scalar::all(255));
   cout<<m<<endl<<a<<endl<<format(c, Formatter::FMT_PYTHON);
   Point2f p1(6, 2);
   Point3f p2(2,3,4);
   cout<<endl<<p1<<p2;
   Rect rect1(0,0,100,100);

   //创建空白图像
   Mat srcImg = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3);
   drawCircle(srcImg, Point(WINDOW_WIDTH/2, WINDOW_WIDTH/2));
   drawLine(srcImg, Point(0, WINDOW_WIDTH/4), Point(3*WINDOW_WIDTH/4, WINDOW_WIDTH));
   imshow(WINDOW_NAME,srcImg);
   waitKey(0);

   return 0;
}

猜你喜欢

转载自blog.csdn.net/futangxiang4793/article/details/82926545