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. python demjson

    这个是第三方的json库 首先安装 http://deron.meranda.us/python/demjson/ demjson-2.2.4.tar.gz #tar -xzf demjson-2.2 ...

  2. (已解决)Xcode 换电脑提示 Could not attach to pid:“XXXX”错误

    在运行项目时出现了如下错误 (基本上重新启动项目即可) 紧接着再次运行又没有问题了. 稍微查询了一下得知,这个问题并不是由我们的操作引起的,有时就会莫名其妙的出现,但是有一些不同的情况 下面列出如何解 ...

  3. 听说,你也一直钟爱着equals。。。

    脑补一下final final 用于声明变量/参数/属性.方法和类. 修饰变量:如果变量是基本类型,其值不变:如果是对象,则引用不可再变(内容可变). 修饰方法:方法不可重写(是否可继承取决于方法的访 ...

  4. 40.SEO----前端该懂的seo技巧

    SEO要点:1.语义化html标签,用合适的标签嵌套合适的内容,不可过分依赖div,对浏览器更友善就能更容易被抓取.2.重要的内容html代码放在前面,放在左边.搜索引擎爬虫是从左往右,从上到下进行抓 ...

  5. Python_summary

    Q: python中出现IndentationError:unindent does not match any outer indentation levelA:复制代码的时候容易出现缩进错误,虽然 ...

  6. python入门之列表

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

  7. 前端-CSS样式

    一.CSS介绍 CSS(Cascading Style Sheet),全称层叠样式,定义如何显示HTML内的元素,浏览器读取HTML文件时,读取到CSS样式时根据CSS规则来对内容进行渲染 1.CSS ...

  8. uvalive 3276 The Great Wall Game

    题意: 一个n * n的棋盘上放着n个棋子,现在要求把这n个棋子用最少的步数移到同一条直线上,即同一列同一行或者同一对角线(两条).输出最少的步数(只能往四个方向移动,即正东,正西,正南,正北). 思 ...

  9. Swift 了解(2)

    循环(Loops) 1. For条件递增语句 ; counter < ; counter++ ) { liftWeights( ) } 语法是这样的:用for作为循环的开始,告诉Xcode你要声 ...

  10. Python学习记录之-----类

    面向过程 VS 面向对象 编程范式 编程是 程序 员 用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大 ...