本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃   //2017-04-21更新: 很多网友希望能得到源码,由于在公司做的,所以不太方便传出来.而且我估计很多人可能都是对OpenCV在AndroidStudio环境下配置的问题,给大家推荐一本书<Mastering OpenCV Android Application Programming>,中文版叫<深入OpenCV Android应用开发>,某宝有卖正版,书中有详细代码…
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; void hough_linesp_demo(); int main(int argc, char** argv) { Mat src = imread("f:/images/qq/tline.png"); //Mat src = imread("f:/images/qq/…
本次实验是检测图像中的直线,用到了HoughLines()和HoughLinesP()函数,其中HoughLinesP()称为累计概率霍夫变换,实验结果显示累计概率霍夫变换要比标准霍夫变换的效果好.具体的参数介绍书中网上都有,可参照此博客https://www.cnblogs.com/skyfsm/p/6881686.html #include<opencv2/opencv.hpp> #include<opencv2/imgproc/imgproc.hpp> #include<…
cv2.HoughLines()函数是在二值图像中查找直线,cv2.HoughLinesP()函数可以查找直线段. cv2.HoughLinesP()函数原型: HoughLinesP(image, rho, theta, threshold, lines=None, minLineLength=None, maxLineGap=None) image: 必须是二值图像,推荐使用canny边缘检测的结果图像: rho: 线段以像素为单位的距离精度,double类型的,推荐用1.0 theta:…
霍夫圆检测原理 从平面坐标到极坐标转换三个参数 假设平面坐标的任意一个圆上的点,转换到极坐标中: 处有最大值,霍夫变换正是利用这个原理实现圆的检测. cv::HoughCircles 因为霍夫圆检测对噪声比较敏感,所以首先要对图像做中值滤波. 基于效率考虑,Opencv中实现的霍夫变换圆检测是基于图像梯度的实现,分为两步: . 检测边缘,发现可能的圆心 . 基于第一步的基础上从候选圆心开始计算最佳半径大小 HoughCircles( InputArray image, // 输入图像 ,必须是8…
前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上,一直没有看到支持Java8的消息.Android到底会不会支持Java8呢?答案是肯定的,Android N已经开始支持Java 8 了. 关于Java 8 (1.)使用Lambda表达式 Java 8的一大亮点是引入Lambda表达式,使用它设计的代码会更加简洁.当开发者在编写Lambda表达式时…
在用到fragment时无法使用.this来指定当前context内容,android开发中fragment获取context,可以使用getActivity().getApplicationContext(),来获取context内容:…
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制.      然而在android中Google很多的类的某些方法不让第三方应用去调用,通过java反射机制能把这些隐藏方法获取出来并调用,三方应用上我们就很方便的去用这些方法.      例如我们需要安全的杀死某个应用的服务和进程调用ActivityManager.forceStopPack…
Why ? 合法性检查对于程序的健壮性具有重要作用.在Android开发中,良好的合法性检查设计机制可以使程序更加清晰,产生bug更少,交互更加友好. What ? 合法性检查的目的在于确定边界.对于在程序中流动的数据来说,其流动路径往往是很复杂的.为了保证程序的健壮性,需要保证数据从一端流入并且从另外一端流出的过程中不会发生异常行为.数据流经的每一个方法都必须保证异常被正确处理.为了让每一个函数清晰简单,有必要在数据进入函数之前保证其合法性.让函数中的逻辑不受数据边界的影响. Who ? 接受…
Android系统在安装应用时,往往需要优化Dex,而由于处理工具DexOpt对id数目的限制,导致其处理的数目不能超过65536个,因此在Android开发中,需要使用到MultiDex来解决这个问题,MultiDex可以配合Android Studio实现一个apk包含多个dex的功能,现在就让我们来看看MultiDex究竟是怎么一回事? 1.MultiDex的工作原理 关于这个问题,以APK中有两个dex文件为例,第二个dex文件为classes2.dex. 在 Android应用安装中,…