自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ctrl + A "学习"

  • 博客(244)
  • 资源 (17)
  • 论坛 (1)
  • 收藏
  • 关注

原创 关注【OpenCV or Android】,付费专栏文章免费看

欢迎关注我的微信公众号【OpenCV or Android】,感谢大家支持和鼓励!公众号文章和CSDN不完全一致,公众号会分享更优质的内容以及书籍。欢迎扫码关注。

2020-09-03 08:02:15 113

原创 Kotlin Flow场景化学习

目录结构何为Kotlin Flow?Flow,直接翻译就是“流”,如何理解呢?生活中,我们有水流,人流,车流等;开发中,我们有字节流,视频流等。参考这些内容,我们就很好理解”流“的概念,连续的内容输出形成“流”。Android技术层面上,使用过RxJava的朋友对生产者-消费者模式以及数据流的概念如数家珍,而Kotlin Flow是以协程为基础进行连续内容输出的开发库,实现与RxJava相似的功能,但是与Android结合更紧密,因为它是“亲儿子”。为何需要Kotlin Flow?RxJava相

2021-01-17 16:32:45 78 2

原创 Android OpenCV(五十三):Shi-Tomasi角点检测

Shi-Tomasi角点检测在Harris角点检测中,Harris角点评价系数R表示为:R=det(M)−k(trace(M))2R=det(M)-k(trace(M))^2R=det(M)−k(trace(M))2det(M)=λ1λ2det(M)=λ_1λ_2det(M)=λ1​λ2​trace(M)=λ1+λ2trace(M)=λ_1+λ_2trace(M)=λ1​+λ2​其中det(M)=λ1λ2是矩阵的行列式,trace(M)=λ1+λ2是矩阵的迹其中det(M)=λ_1

2021-01-09 17:40:56 49

原创 Kotlin协程场景化学习

何为Kotlin协程?协程是一种并发设计模式,Kotlin协程是一个线程框架。为什么需要Kotlin协程?提供方便的线程操作API,编写逻辑清晰且简洁的线程代码。协程是Google在 Android 上进行异步编程的推荐解决方案。具有如下特点:轻量:您可以在单个线程上运行多个协程,因为协程支持挂起,不会使正在运行协程的线程阻塞。挂起比阻塞节省内存,且支持多个并行操作。内存泄漏更少:使用结构化并发机制在一个作用域内执行多项操作。内置取消支持:取消操作会自动在运行中的整个协程层次结构内传播。J

2021-01-03 10:18:48 88

原创 Android OpenCV(五十二):Harris角点检测

什么是角点?角点就是极值点,即在某方面属性特别突出的点。当然,你可以自己定义角点的属性(设置特定熵值进行角点检测)。角点可以是两条线的交叉处,也可以是位于相邻的两个主要方向不同的事物上的点。角点通常被定义为两条边的交点,或者说,角点的局部邻域应该具有两个不同区域的不同方向的边界。常见的角点有:灰度梯度的最大值对应的像素点;两条直线或者曲线的交点;一阶梯度的导数最大值和梯度方向变化率最大的像素点;一阶导数最大,二阶导数为零的像素点(指示物体边缘变化不连续的方向)。为什么要检测角点?角点是图像

2021-01-01 13:40:56 61

原创 Android OpenCV(五十一):图像插值

图像插值何为插值?插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。何为图像插值?从低分辨率图像生成高分辨率图像的过程(放大),用以恢复图像中所丢失的信息。APIpublic static void resize(Mat src, Mat dst, Size dsize, double fx, double fy, int interpolation) 参数一:src,输入源图像。参数二:dst,输出目标图像。参数三:

2020-12-28 19:45:39 65

原创 Android OpenCV(五十):图像翻转

图像翻转图像翻转图像翻转操作,就是将图像二维数组沿水平轴,垂直轴或者两个轴进行翻转操作。dstij={srcsrc.rows−i−1,jif  flipCode=0srci,src.cols−j−1if  flipCode>0srcsrc.rows−i−1,src.cols−j−1if  flipCode<0\texttt{dst} _{ij} = \left\{ \begin{array}{l l} \texttt{src} _{\texttt{src.rows}-i-1,j} &am

2020-12-24 20:33:22 74

原创 Android OpenCV(四十九):图像积分图

图像积分图积分图像是Crow在1984年首次提出,是为了在多尺度透视投影中提高渲染速度,是一种快速计算图像区域和与平方和的算法。其核心思想是对每个图像建立自己的积分图查找表,在图像积分处理计算阶段根据预先建立的积分图查找表,直接查找从而实现对均值卷积线性时间计算,做到了卷积执行的时间与半径窗口大小的无关联。图像积分图在图像特征提取HAAR/SURF、二值图像分析、图像相似相关性NCC计算、图像卷积快速计算等方面均有应用,是图像处理中的经典算法之一。原理积分图像采用不同的计算规则获取不同的积分图像:s

2020-12-20 11:18:04 88

原创 Android OpenCV(四十八):Poisson图像编辑

泊松图像编辑图像合成是图形处理的一个基本问题,其通过将源图像中一个物体或者一个区域嵌入到目标图像生成一个新的图像。在对图像进行合成的过程中,为了使合成后的图像更自然,合成边界应保持无缝。但如果原图像和目标图像有着明显不同的纹理特征,则直接合成后的图像会存在明显的边界。针对此问题,Prez等提出了一种利用构造Poisson方程求解像素最优值的方法,在保留了源图像梯度信息的同时,可以很好地融合源图像与目标图像的背景。该方法根据用户指定的边界条件求解一个Poisson方程,实现了梯度上的连续,从而达到边界处的无

2020-12-13 20:09:56 90

原创 Android OpenCV(四十七):脱色

脱色脱色是将彩色图像转换为灰度图像的过程。同时,它也是数字打印,风格化的黑白照片渲染以及许多单通道图像处理应用程序中的基本工具。Imgproc.cvtColor(rgb, gray, Imgproc.COLOR_RGB2GRAY)可以快速的实现图片脱色,其通过简单的计算将三通道图像转换成单通道图像,经典的灰度转换公式如下:GRAY=0.299∗R+0.587∗G+0.114∗BGRAY=0.299*R+0.587*G+0.114*BGRAY=0.299∗R+0.587∗G+0.114∗B但是转换过

2020-12-06 21:03:55 44

原创 AndroidOpenCV(四十六):非真实渲染

非真实渲染非真实感渲染(Non Photorealistic Rendering,简称NPR),是指利用计算机模拟各种视觉艺术的绘制风格,也用于发展新的绘制风格。比如模拟中国画、水彩、素描、油画、版画等艺术风格。NPR也可以把三维场景渲染出丰富的、特别的新视觉效果,使它具备创新的功能。NPR渲染以强烈的艺术形式应用在动画、游戏等娱乐领域中,也出现在工程、工业设计图纸中。广阔的应用领域,不仅是由于它的艺术表现形式丰富多样,还在于计算机能够辅助完成原本工作量大、难度高的创作工作。目前,基于三维软件的NPR

2020-12-03 19:40:19 117

原创 Android OpenCV(四十五):图像修复

图像修复实际应用中,图像常常容易受损,如存在污渍的镜头、旧照片的划痕、人为的涂画(比如马赛克),亦或是图像本身的损坏。将受到损坏的图像尽可能还原成原来的模样的技术,称之为图像修复。所谓修复,就代表图像大部分内容是完好的,所以,图像修复的原理,就是用完好的部分去推断受损部分的信息,特别是完好部分与受损部分的交界处,即受损区域的边缘,在这个推断过程中尤为重要。OpenCV给我们提供了inpaint方法来实现这个功能,并提供了两种图像修复的算法:基于Navier-Stokes的修复方法基于图像梯度的快速

2020-11-29 09:39:12 135

原创 Android OpenCV(四十四):图像分割(均值漂移)

图像分割图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像素赋予相同的编号。均值漂移(Mean-Shift)MeanShfit 均值漂移算法是一种通用的聚类算法,通常可以实现彩色图像分割。基本思想

2020-11-28 16:13:49 79

原创 Android OpenCV(四十三):图像分割(Grabcut)

图像分割图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像素赋予相同的编号。GrabcutGraphCut需要用户提供精确的前景背景的种子,而且当提供的种子无法覆盖所有分布时,必然会影响分割的准确度

2020-11-22 19:56:18 102

原创 Android OpenCV Native C++实现灰度图片

最近帮一位读者朋友在Android平台上集成部分OpenCV功能,考虑到移动端的特殊性,不建议采用全包集成,同时,市面上Android手机基本上都是基于arm的指令集。综合考虑,采用c++ & native库的方式来实现OpenCV能力的集成。环境Android Studio 4.1.1OpenCV 4.5.0NDK 21.1.6352462CMake 3.10.2环境搭建下载opencv-4.5.0-android-sdk下载地址:https://sourceforge.n.

2020-11-21 17:00:51 137

原创 OpenCV 官方版本百度云盘下载

最近下载OpenCV的官方版本时网速特别慢,考虑到大家可能也会遇到这个问题,于是乎,存于百度盘分享之。版本列表下载链接公众号内回复【OpenCV】,即可全量下载。

2020-11-17 11:04:37 376

原创 Android OpenCV(四十二):图像分割(分水岭法)

图像分割图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像素赋予相同的编号。分水岭法分水岭算法介绍,下面这位知乎博主已经讲得非常详细了,详情请自行查阅。https://zhuanlan.zhihu

2020-11-15 20:32:11 100

原创 Android OpenCV(四十一):图像分割(漫水填充法)

图像分割图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像素赋予相同的编号。漫水填充法漫水填充算法是根据像素灰度值之间的差值寻找相同区域实现分割。我们可以将图像的灰度值理解成像素点的高度,这样一张图

2020-11-08 21:21:13 111

原创 Android OpenCV(四十):QR二维码检测与识别

QR二维码QR码(英语:Quick Response Code;全称为快速响应矩阵图码)是二维码的一种,于1994年由日本DENSO WAVE公司发明。QR来自英文Quick Response的缩写,即快速反应,因为发明者希望QR码可以快速解码其内容。QR码使用四种标准化编码模式(数字、字母数字、字节(二进制)和日文(Shift_JIS))来存储数据。QR码常见于日本,为目前日本最通用的二维空间条码,在世界各国广泛运用于手机读码操作。QR码比普通一维条码具有快速读取和更大的存储资料容量,也无需要像一维条

2020-11-01 08:17:16 452 4

原创 Android OpenCV(三十九):模板匹配

什么是模板匹配?模板匹配是一种用于在较大图像中搜索和查找模板图像位置的方法。OpenCV提供matchTemplate()方法来实现模板匹配功能。模板匹配结果返回的是灰度图像,其中每个像素表示该像素的邻域与模板匹配程度。假设输入图像的大小(W * H),模板图像的大小为(w * h),则输出图像的大小将为(W - w + 1,H - h + 1)。获得结果后,可以使用minMaxLoc()方法查找最大/最小值位置,并将其作为矩形的左上角,以(w,h)作为矩形的宽度和高度来确定模板匹配到的区域。模板匹配原

2020-10-24 13:44:52 118

原创 Android OpenCV(三十八):凸包检测

凸包凸包(Convex Hull)是一个计算几何(图形学)中的概念。在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。X的凸包可以用X内所有点(X1,…Xn)的凸组合来构造.在二维欧几里得空间中,凸包可想象为一条刚好包着所有点的橡皮圈。用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边形,它能包含点集中所有的点。凸包缺陷如图所示,黑色的轮廓线为convexity hull(凸包),而convexity hull(凸包)与手掌之间的部分

2020-10-17 22:48:07 75

原创 Android OpenCV(三十七):轮廓外接多边形

前面我们提到轮廓发现、轮廓周长以及轮廓面积,然后通过轮廓面积和周长的固定关系来判断轮廓形状。但是针对不规则的形状,其实我们是很难通过数量关系来进行判断的。参考之前直线拟合的方式,我们也可以通过形状拟合的方式来对轮廓进行一定的分析。最常见的是将轮廓拟合成矩形等多边形。API最大外接矩形public static Rect boundingRect(Mat array)参数一:array,输入的灰度图或者二维点集合。该方法用于求取包含输入图像中物体轮廓或者二维点集的最大外接矩形。返回值为R.

2020-10-07 18:42:04 320 2

原创 Android OpenCV(三十六):轮廓面积与周长

轮廓面积与周长轮廓面积和轮廓周长都是轮廓的重要统计特征。轮廓面积是指每个轮廓中所有像素点围成区域的面积,单位为像素。轮廓周长是指每个轮廓中所有像素点围成区域的周长,单位同样为像素。通过分析轮廓面积和轮廓周长,我们可以区分物体的大小,识别物体的不同,同时还能分析出一些其他内容,例如,正方形区域的周长和面积是有固定关系的,圆形区域的周长和面积是有固定关系的。通过计算轮廓面积和周长,再结合这些固定关系,我们是可以得到一些结论的。API轮廓面积public static double contourArea

2020-10-02 18:58:24 216

原创 Android OpenCV(三十五):轮廓发现与绘制

图像轮廓是一系列相连的点组成的曲线,代表物体的基本外形。轮廓与边缘的区别在于,轮廓是连续的,边缘并不全部连续。轮廓发现的操作一般用于二值化图,所以通常会使用阈值分割或Canny边缘检测先得到二值图。注意,轮廓发现是针对白色物体的,一定要保证物体是白色,而背景是黑色,不然很多人在寻找轮廓时会找到图片最外面的一个框。轮廓层级部分内容翻译自:https://docs.opencv.org/3.1.0/d9/d8b/tutorial_py_contours_hierarchy.html通常我们使用.

2020-09-26 18:05:17 349

原创 CV经典入门教程:《计算机视觉:算法与应用》第二版

《计算机视觉:算法与应用》是一本高质量的入门教材。但美中不足的是,这本书写于十年前,涉及的机器学习、深度学习内容较少,而近年来,这两项技术又在视觉领域实现了爆炸式增长。为了弥补这一缺憾,最近,作者 Richard Szeliski 在自己的个人主页上宣布,《计算机视觉:算法与应用》第二版已经基本完成,并发布了新书的 PDF 版本,向读者征集意见。新书主页:http://szeliski.org/Book/下载链接:https://www.dropbox.com/sh/88qvr1z7fpfx1t

2020-09-20 09:02:03 626

原创 Android OpenCV(三十四):直线拟合

概念直线拟合霍夫直线检测是检测图像中是否存在直线,直线拟合则是假定我们已经知道点数据是在一条直线上,需要利用这些数据拟合出一条直线,但是由于噪声的存在,这条直线可能并不会通过大多数的数据点,此时,我们无法使用直线检测方式来寻找直线,而只能通过直线拟合的方式来求出这条直线。那么如何拟合直线呢?一般我们采用最小二乘法来保证所有数据点距离直线的距离最小,从而得出这条拟合出来的直线。最小二乘法最小二乘法是由勒让德在19世纪发现的,形式如下式:标函数=∑(观测值−理论值)2 标函数=\sum(观测值-

2020-09-09 20:48:07 192

原创 Android OpenCV(三十三):霍夫圆检测

标准霍夫变换的原理就是把图像空间转换成参数空间(即霍夫空间),例如霍夫变换的直线检测就是在距离 -角度空间内进行检测。圆可以表示为:(x−a)2+(y−b)2=r2(x-a)^2+(y-b)^2 = r^2(x−a)2+(y−b)2=r2其中a和b代表圆心坐标,r代表圆半径。因此,霍夫变换的圆检测就是在这三个参数组成的三维空间内进行。原则上,霍夫变换可以检测任何形状。但复杂的形状需要的参数很多,霍夫空间的维数对应就多,因此在程序实现上所需的内存空间以及运行效率上都不利于把标准霍夫变换应用于实际复杂.

2020-09-02 21:08:46 286

原创 Jetpack ViewModel 基本使用

简介ViewModel,直接翻译过来就是"视图模型",再换个说法,其实就是"界面模型"。界面,在Android系统中通常采用Activity和Fragment来承载。那么,“界面模型”,我理解就是用于处理界面数据,界面逻辑等内容的载体,便于分担传统MVC架构中Controller角色的职责。由此,可总结ViewModel的基本作用:数据持久化如果系统销毁或重新创建界面控制器,则存储在其中的任何临时性界面相关数据都会丢失。例如,应用的某个 Activity 中可能包含用户列表。因配置更改而重新创建

2020-08-29 15:25:06 582

原创 Jetpack Paging3 基本使用

Paging3Paging3,是Jetpack提供给开发者用来显示本地或者网络数据集的分页库。针对这类场景,传统的做法是用RecyclerView的加载更多来实现分页加载,很多逻辑需要自行处理且不一定完善。Paging3相当于是官网提供的一套解决方案。特点每一页的数据会缓存至内存中,以此保证处理分页数据时更有效的使用系统资源内置请求重复数据删除功能,确保应用有效地使用网络带宽和系统资源支持Kotlin协程、Flow、LiveData以及RxJava内置错误处理支持,如刷新和重试功能。逻

2020-08-02 21:34:08 2145 5

原创 Android OpenCV(三十二):霍夫直线检测

霍夫变换利用点与线之间的对偶性,将图像空间中直线上离散的像素点通过参数方程映射为霍夫空间中的曲线,并将霍夫空间中多条曲线的交点作为直线方程的参数映射为图像空间中的直线。给定直线的参数方程,可以利用霍夫变换来检测图像中的直线。霍夫直线检测点和线的对偶性图像空间中的点,对应霍夫空间中的直线图像空间中的直线,对应霍夫空间中的点共点的直线,在霍夫空间中对应的点在一条直线上共线的点,在霍夫空间中对应的直线交于一点极坐标参数方程对于平面中的一条直线,在笛卡尔坐标中,常见的有点.

2020-07-25 17:49:20 188

原创 Android OpenCV(三十一):​图像形态学

简介形态学(morphology)一词通常表示生物学的一个分支,它是研究动植物的形态和结构的学科。而我们图像处理中指的形态学,往往表示的是数学形态学。数学形态学(Mathematical morphology) 的语言是集合论。同样,形态学为大量的图像处理问题提供了一种一致的有力方法。数字形态学中的集合表示图像中的不同对象。例如,在二值图像中,所有的黑色像素的集合是图像完整的形态学描述。形态学的基本操作有图像腐蚀、图像膨胀、开操作、闭操作、击中不击中等。主要应用于边界提取、区域填充、连通分量的提取、凸壳

2020-07-05 20:20:09 239

原创 Android OpenCV(三十):​图像膨胀

图像腐蚀、膨胀属于形态学的操作,就是基于形状的一系列图像处理操作。数字形态学的基本思想是:用具有一定形态的结构元素去量度和提取图像中的对应形状,以达到图像分析和识别的目的。图像腐蚀、膨胀是基于高亮部分(白色)操作的,膨胀是对高亮部分进行膨胀,类似“领域扩张”,腐蚀是高亮部分被腐蚀,类似“领域蚕食”。膨胀腐蚀的应用主要体现在消除噪声、分割独立元素或者连接相邻元素、寻找图像中明显极大值、极小值区域以及求图像的梯度。图像膨胀图像膨胀的作用是将目标图像扩大,运算效果取决于结构元素大小内容以及逻辑运算性质。.

2020-06-26 19:38:56 223

原创 Android OpenCV(二十九):​图像腐蚀

图像腐蚀、膨胀属于形态学的操作,就是基于形状的一系列图像处理操作。数字形态学的基本思想是:用具有一定形态的结构元素去量度和提取图像中的对应形状,以达到图像分析和识别的目的。图像腐蚀、膨胀是基于高亮部分(白色)操作的,膨胀是对高亮部分进行膨胀,类似“领域扩张”,腐蚀是高亮部分被腐蚀,类似“领域蚕食”。膨胀腐蚀的应用主要体现在消除噪声、分割独立元素或者连接相邻元素、寻找图像中明显极大值、极小值区域以及求图像的梯度。图像腐蚀图像腐蚀的作用是将目标图像收缩,运算效果取决于结构元素大小内容以及逻辑运算性质。.

2020-06-25 19:42:55 331

原创 Android OpenCV(二十八):​图像距离变换

像素距离对于像素p(x , y),q(s , t),z(v , w),用D(p , q)来表示像素p , q间的距离,像素间距离的D(x , y)应满足的如下条件:D(p , q) ≥ 0D(p , q) = D(q , p)D(p , q) + D(q , z) ≥ D(p , z)像素距离的分类及计算方法欧氏距离(Euclidean Distance)两个像素点之间的直线距离。与直角坐标系中两点之间的直线距离求取方式相同,分别计算两个像素在X方向和Y方向上的距离,之后利用勾股

2020-06-13 16:17:36 342

原创 Android OpenCV(二十七):​图像连通域

图像连通域连通域图像的连通域是指图像中具有相同像素值并且位置相邻的像素组成的区域,连通域分析是指在图像中寻找出彼此互相独立的连通域并将其标记出来。提取图像中不同的连通域是图像处理中较为常用的方法,例如在车牌识别、文字识别、目标检测等领域对感兴趣区域分割与识别。一般情况下,一个连通域内只包含一个像素值,因此为了防止像素值波动对提取不同连通域的影响,连通域分析常处理的是二值化后的图像邻域邻域,与指定元素相邻的像素集合。常用的有4邻域和8邻域。如果像素点A与B邻接,我们称A与B连通,于是

2020-06-07 14:59:51 209

原创 Android OpenCV(二十六):Canny算法边缘检测

Canny算法边缘检测Canny边缘检测算法是John F. Canny于 1986 年开发出来的一个多级边缘检测算法。截止2014年8月, Canny发表的该篇论文,已被引用19000余次。Canny 创立了边缘检测计算理论(Computational theory of edge detection)解释这项技术如何工作。通常情况下边缘检测的目的是在保留原有图像属性的情况下,显著减少图像的数据规模。有多种算法可以进行边缘检测,虽然Canny算法年代久远,但可以说它是边缘检测的一种标准算法,而且仍在

2020-05-31 09:38:08 557

翻译 Moshi

Moshi文章为对Moshi官方介绍的简单翻译。方便个人学习,加深印象。官方介绍:https://github.com/square/moshi基础用法依赖Maven<dependency> <groupId>com.squareup.moshi</groupId> <artifactId>moshi</artifactId> <version>1.9.2</version></depend

2020-05-24 18:45:00 227

原创 Android OpenCV(二十五): Laplacian 算子

Laplacian 算子Laplacian算子具有各方向同性的特点,能够对任意方向的边缘进行提取,具有无方向性的优点,因此使用Laplacian算子提取边缘不需要分别检测X方向的边缘和Y方向的边缘,只需要一次边缘检测即可。Laplacian算子是一种二阶导数算子,对噪声比较敏感,因此常需要配合高斯滤波一起使用。如果邻域系统是4邻域,Laplacian 算子的模板为:[0101−41010]\begin{bmatrix} 0&1&0\\1&-4&1\\0&1&

2020-05-23 18:42:35 267

原创 Android OpenCV(二十四):Scharr算子

Scharr算子Scharr算子是对Sobel算子差异性的增强,因此两者之间的在检测图像边缘的原理和使用方式上相同。Scharr算子的边缘检测滤波的尺寸为3×3,因此也有称其为Scharr滤波器。可以通过将滤波器中的权重系数放大来增大像素值间的差异,弥补Sobel算子对图像中较弱的边缘提取效果较差的缺点。APIpublic static void Scharr(Mat src, Mat dst, int ddepth, int dx, int dy, double scale, double d

2020-05-17 09:54:07 172

原创 Android OpenCV(二十三):Sobel算子

Sobel算子索贝尔算子是计算机视觉领域的一种重要处理方法。主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测。索贝尔算子是把图像中每个像素的上下左右四领域的灰度值加权差,在边缘处达到极值从而检测边缘。在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量。索贝尔算子不但产生较好的检测效果,而且对噪声具有平滑抑制作用,但是得到的边缘较粗,且可能出现伪边缘。该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像

2020-05-16 08:25:43 388

商用密码应用安全性评估试题.docx.zip

商用密码应用安全性评估培训试题,通过密评资质人员必须掌握的内容。可以帮助密评人员通过国家密码管理局组织的考核。

2021-01-04

绿盟RSAS技术说明书.pdf.zip

本文将覆盖绿盟远程安全评估系统(NSFOCUS Remote Security Assessment System, 以下简称 NSFOCUS RSAS)的所有功能点,并详细介绍它的主要功能模块和使用方法。 F*NSFOELS

2020-09-28

简易贪吃蛇

http://blog.csdn.net/poorkick/article/details/51203618 代码,简易贪吃蛇

2016-04-20

RecyclerView使用Demo

RecyclerView使用Demo

2016-06-04

The Linux Command Line中英文合集.zip

The Linux Command Line电子书中英文版本合集。学习 Linux 命令行会让你受益匪浅,给你极大的回报。如果你认为, 现在你已经是高手了。别急,其实你还不知道什么才是真正的高手。不像其他一些计算机技能, 一段时间之后可能就被淘汰了,命令行知识却不会落伍,你今天所学到的,在十年以后, 都会有用处。命令行通过了时间的检验。 如果你没有编程经验,也不要担心,我会带你入门。

2020-07-20

kotlin-in-chinese.pdf

Kotlin入门必备教程。简洁明了,方便新手快速了解Kotlin核心内容。 Kotlin入门必备教程。简洁明了,方便新手快速了解Kotlin核心内容。

2020-07-16

等保2.0初级.zip

2019年最新发布的等级保护2.0标准,本文档为初级测评师培训教材,包含安全物理环境、安全通信网络、安全区域边界、安全计算环境等测评要求、测评方法、预期结果指南!

2020-07-13

《Java开发手册》泰山版.zip

阿里巴巴《Java开发手册》泰山版

2020-04-23

class-dump-z.zip

class-dump-z.zip资源包分享,支持win/linux/mac/iphone等,

2019-12-03

PowerDesign12以及PDMReader

由于PDMReader对于PowerDesign高版本支持得并不好,使用PowerDesign16.5生成的pdm文件使用最高版本的PDMReader无法导入。根据个人测试,附件这两个版本是可以配合使用的,分享一下

2018-10-30

Oracel ODBC32位驱动

解决PowerDesign只支持32位oracel驱动问题

2018-10-30

nmap-7.40端口扫描工具

nmap-7.40端口扫描工具

2017-06-08

ScanPort端口扫描工具

ScanPort端口扫描工具

2017-06-07

opencsv.jar

opencsv.jar包,方便进行数据的导入导出

2017-03-21

DrawerLayoutDemo

关于Android开发中的DrawerLayout和NavigationView的使用示例

2016-06-24

RecyclerView Demo

使用Android RecyclerView 的demo程序,与博文 http://blog.csdn.net/poorkick/article/details/51583833 配合使用

2016-06-04

Android简易天气预报

Android简易天气预报,与http://blog.csdn.net/poorkick/article/details/51308646配合使用

2016-05-04

onlyloveyd的留言板

发表于 2020-01-02 最后回复 2020-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除