2018-09-12,第一次对OpenCV PR成功

https://github.com/opencv/opencv/pull/12206

《find innercircle of contour by using pointPolygonTest》

    
    总的来说,参加PR绝对是一件消耗时间精力(特别对于新手),同时收获非常巨大的事情。下面,分几个方面对这次工作进行总结。
    一、价值和收益
    1、获得名誉、结交高手
    这是隐性的收获,但却是绝对重要的收获。在anwseropencv上面的交流,在githup里面提交pr和issue,你所交流的这些人,都是这个方向最为优秀的工程师,和他们进行交流,能够有很多收益。
    2、项目理解
    正是因为要向项目提交代码,强迫自己必须从结构、细节等多个方面去理解这个项目,绝不是仅够用就可以。这就使得你对项目的理解能够更上层次,进一步地理解项目内容;
    更深入的理解,带来的结果,显而易见是在使用的时候能够更得心应手。“你对你所做的了解的越多,则越能够做得更好”    
    3、代码规范;
    我们都说cleanCode,但是你写出来的到底是不是cleanCode,只有一个笼统的概念。OpenCV通过自动构建,你必须按照它的规范来写(严格到多一个空格,或者使用了tab而不是四个空格都不可以),这就要求你必须尽可能地用规范代码编写,养成良好习惯。【附录我会给出一个被拒绝的具体情况】
    同时,owner会提示你正确的代码是怎样的(因为他拒绝你总要给个合适理由),往往这些提示都是非常精准的。就是通过这个过程,能够让我写出高质量的代码;
    二、成功pr的来源
    1、选题必须要恰当
    简单的来说,绝对不能为了pr而去pr,而是要在自己的使用OpenCV的过程中,确实发现的问题、确实发现的更好的算法,那么通过pr就能够帮助你将初步的想法变成一套正规的解决方案。
    2、代码必须符合规范
    相比较逻辑错误,由于代码规范问题导致的错误更容易成为你的绊脚石;
    3、把我节奏,注重效率
    pr最终还是和人的沟通,那么要注意管理员的活跃时间,以及和他们进行有理有节的“斗争”。
     三、关键的工具
    1、github desktop
    2、www.github.com
    3、buildboot等自动化工具,要首先让代码在本地能够通过包括“代码格式”的审核,然后再上传上去。
    
 
    PR,特别是对OpenCV这样的伟大项目的PR,应该说非常有价值意义。值得投入时间进行研究,尽快提高PR成功的可能。
 
   p.s

opencv的pr是自动编译的,如果编译不通过,肯定不会被merge,首先要过的就是merge这关

为了稳定,opencv不允许warning,这也是为了编写高质量代码
像这种warning,可能平时写程序的时候,完全不会在意,但是build就不通过。这样对代码质量提出更高要求。
只要告诉我哪里错了,就没有问题。    
 
语言习惯错误
 
历史版本问题
 
 
之前的红的好像过去了
空格都能看出来,厉害
 
 
 
这个时候,管理员介入了,出现了更多错误
 
 
 
 

(4opencv)OpenCV PR 成功的收获和感悟的更多相关文章

  1. java jni 调用c++ opencv代码成功范例

    java上建立接口定义 package com.dtk; public class Rec { public native String RecImage(String src); public st ...

  2. 构建自己的专用OpenCV----记录一次由applyColorMap()引发的探索

    在编写实际项目的过程中,我需要实现绿色主题的"伪彩色"变换.在目前提供的模板中,只有summer最为接近,但是它的颜色太浅了,看上去不是很清晰.所以我结合ocean和summer两 ...

  3. 在ubunt14.04(linux)下利用cmake编译运行opencv程序

    今天在电脑上安装好了opencv环境,迫不及待的想写个程序来测试一下.但是在windows下我们用vs等集成开发工具.可是在linux下我们应该怎么办呢? 这里我们用了opencv推荐的cmake来编 ...

  4. 阿里技术嘉年华(ADC2013)总结与感悟

           上周末刚参加了ADC2013(2013.7.13-14),我报的是TCon测试论坛和UCAN用户体验设计论坛,因为我目前从事的是测试工作,但是还是想往用户体验(主要是用研)方向发展,所以 ...

  5. 要学的东西太多了,还想学习opencv

    资料先放这里,以后好好学 http://m.blog.csdn.net/column/details?alias=opencv-tutorial eclipse加载opencv库成功! B站视频教程资 ...

  6. OpenCV初步

    目录 一 写在开头 1.1 本文内容 二 涉及的API 三 OpenCV 3.4.2在Ubuntu 16.04 LTS下的编译安装 四 OpenCV安装测试与图像的加载和显示 4.1 安装测试 4.2 ...

  7. python3 安装 opencv (转)

    Python3支持pip方式自动安装第三方开发包,我们只要打开windows下面的命令行工具,输入如下命令: pip install opencv-python 安装最新的OpenCV3.3开发包 p ...

  8. Ubuntu下opencv的安装及IDEA开发配置

    Ubuntu下opencv的安装及IDEA开发配置 环境配置  这篇博客主要介绍Ubuntu下opencv的安装编译,以及IDEA对opencv进行Java开发的环境配置 安装opencv 首先安装o ...

  9. 【OpenCV for Android】Android Studio集成OpenCV

    准备工作 1.下载安装Android Studio(过程略). 2.下载Android OpenCV:https://opencv.org/releases.html,找到Android pack点击 ...

随机推荐

  1. centos7挂载新加4T硬盘到/home目录

    以下操作均在root环境下运行. 1.查看硬盘 # fdisk -l 发现硬盘为/dev/sdb 大小4T 2.如果此硬盘以前有过分区,则先对磁盘格式化: # mkfs -t ext4 /dev/sd ...

  2. css省...和div 内容过多,自动换行

    1.shengluohao 就是这个... 加: overflow: hidden;/*超出部分隐藏*/ white-space: nowrap;/*不换行*/ text-overflow:ellip ...

  3. django基础(一)

    一.创建django程序 1.终端:django-admin startproject sitename 2.IDE创建Django程序时,本质上都是自动执行上述命令 常用命令: python man ...

  4. unity3d对象池的使用

    说对象池之前首先来看看单例类和单例脚本的区别.这里有介绍 http://blog.csdn.net/lzhq1982/article/details/12649281 使用对象池的好处是不用每次都创建 ...

  5. Unity 2D入门基础教程之僵尸先生

    注:这是根据网上教程完成的. 翻译:http://blog.1vr.cn/?p=1422 原文:http://www.raywenderlich.com/61532/unity-2d-tutorial ...

  6. react native 中使用swiper

    1.下载依赖 cnpm install react-native-swiper --save 2.在组件中使用 import React, { Component } from 'react'; im ...

  7. 大数据-05-Spark之读写HBase数据

    本文主要来自于 http://dblab.xmu.edu.cn/blog/1316-2/ 谢谢原作者 准备工作一:创建一个HBase表 这里依然是以student表为例进行演示.这里假设你已经成功安装 ...

  8. 018-AJAX异步请求XMLHttpRequest

    创建XMLHttpRequest对象 一.先来创建XMLHttpRequest对象在IE.Firefox.safari和Opera中创建该对象的JavaScript代码为: var xhr = new ...

  9. fiddler2抓包数据工具使用教程

    一款免费且功能强大的数据包抓取软件.它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户端和服务器间的http请求,支持监视.设置断点.甚至修改输入输出数据 ...

  10. Apache Storm Installation

    安装的过程参照此处的过程介绍(https://www.tutorialspoint.com/apache_storm/apache_storm_installation.htm) 安装的过程要安装3个 ...