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. CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接

    原文地址https://www.cnblogs.com/kevingrace/p/5651447.html 近年来,由于开源项目.社区的活跃热度大增,进而引来持续集成(CI)系统的诞生,也越发的听到更 ...

  2. iOS 新浪微博-2.0 搜索框/标题带箭头/下拉菜单

    不管是搜索框还是下拉菜单,我们都需要对背景的图片进行拉伸.定义一个Category分类对图片进行操作. UIImage+Effect.h #import <UIKit/UIKit.h> @ ...

  3. numpy&pandas笔记

    1.基础属性: array = np.array([[1,2,3],[2,3,4]]) #列表转化为矩阵 print('number of dim:',array.ndim) # 维度 # numbe ...

  4. sqli-labs(十七)

    第五十四关: 这关大概意思就是尝试次数不能多于十次,必须十次之类查询处特点的key. 第一次:输入单引号报错 第二次:输入双引号不报错 说明后台是单引号进行的拼凑 第三步:这里应该是判断列,用orde ...

  5. python入门之列表

    1.列表基本格式# list 类 列表li = [1, 2, 3, "sb", ["时间",[9, 10], "huang"], 6, 7, ...

  6. WebApi关于配置全局返回Json数据格式时间以及命名小写

    1.直接在Global文件中配置: 1 var formatters = GlobalConfiguration.Configuration.Formatters; 2 var jsonFormatt ...

  7. activiti 项目变更控制器

    package com.xinwei.process.controller; import java.util.Calendar; import java.util.HashMap; import j ...

  8. vss使用笔记

    一.四大代码/文档管理软件 (1)     git:具有PR(push request)特性,推送请求.需要负责人审核后才能推送.另外,在推送过程中,git会预编译(合并),分布式代码管理(客户端本地 ...

  9. hdu5064 DLX可重复覆盖+二分

    这题题意是 给了n个城市 在其中小于等于k个城市建立机场然后 使得最远的那个离机场的城市距离最短 二分答案 ,我们对于每次的mid 重新建图然后再来一次DLX,每个点可以覆盖的点建立一条联系就ok了 ...

  10. jQuery工具--jQuery.isNumeric(value)和jQuery.trim(str)

    jQuery.isNumeric(value) 概述 确定它的参数是否是一个数字. $.isNumeric() 方法检查它的参数是否代表一个数值.如果是这样,它返回 true.否则,它返回false. ...