zoukankan      html  css  js  c++  java
  • opencv4 画散点图

    pre

    使用了opencv_contrib中的plot 模块,contrib的安装过程存在问题,如果不能解决,可以把plot.cpp/plot.h相关文件先编译一遍,之后再编译的时候带着obj。
    需要一些基础的opencv配置知识,知道涉及到的模块该如何build,如何include

    step1

    g++ -c 将plot.cpp编译为目标文件 plot.o

    后面再编译可执行的时候,就直接带着这个.o

    step2

    配置cvplot(https://github.com/Profactor/cv-plot)

    define一个macro

    编译时把inc加入到-I 中

    看examples

    关键代码如下

    #define CVPLOT_HEADER_ONLY
    #include <CvPlot/cvplot.h>
    
    void matplotlibPlot(const int &N, float *values, vector<double> &iter_times) {
        for (auto i = 0; i < N; i++) {
            iter_times[i] /= 3.f;
        }
        vector<double> vals(values, values+N);
        Mat x(vals, CV_64F);
        Mat y(iter_times, CV_64F);
        Size x_size = x.size();
        Size y_size = y.size();
        cout << "x,y:" << x_size << "," << y_size << endl;
        
        Mat3b image(600, 1000); //关键,数据类型如果是Mat会error
        auto axes = CvPlot::plot(vals, iter_times, "o");
        axes.render(image);
        bool save_status = imwrite("/home/tangke/iter_counts.png", image);
        cout << "save image status:" << save_status << endl;
        return ;
    }
    
  • 相关阅读:
    php 1231
    php 1229
    php 1228
    php 0103
    php 1227
    php 1230
    php 0104
    flex弹性布局学习
    ps抠图的几种方法
    sql2005 不同的日期展示形式
  • 原文地址:https://www.cnblogs.com/ijpq/p/15699865.html
Copyright © 2011-2022 走看看