9 onlyloveyd

尚未进行身份认证

我要认证

个人公众号【Android or OpenCV】,热爱Android、Kotlin、Flutter和OpenCV。毕业于华中科技大学计算机专业,曾就职于华为武汉研究所。目前在三线小城市生活,专注技术与研发。

等级
TA的排名 8k+

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

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

2020-09-26 18:05:17

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

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

2020-09-20 09:02:03

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

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

2020-09-09 20:48:07

关注【OpenCV or Android】,持续分享,感谢支持

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

2020-09-03 08:02:15

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

Jetpack ViewModel 基本使用

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

2020-08-29 15:25:06

Jetpack Paging3 基本使用

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

2020-08-02 21:34:08

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

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

2020-07-25 17:49:20

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

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

2020-07-05 20:20:09

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

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

2020-06-26 19:38:56

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

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

2020-06-25 19:42:55

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

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

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

2020-06-07 14:59:51

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

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

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

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

Android OpenCV(二十三):Sobel算子

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

2020-05-16 08:25:43

Android OpenCV(二十二):边缘检测

边缘检测什么是图像的边缘?图像的边缘是图像最基本的特征之一。所谓边缘(或边沿)是指周围像素灰度有跳跃性变化或“屋顶”变化的那些像素的集合。边缘是图像局部强度变化最明显的地方,它主要存在于目标与目标、目标与背景、区域与区域之间,因此它是图像分割依赖的重要特征。从本质上说,图像边缘是图像局部特性不连续性(灰度突变、颜色突变、纹理结构突变等)的反应,它标志着一个区域的终结和另一个区域的开始。检测...

2020-05-02 09:36:09

Android OpenCV(二十一):双边滤波

双边滤波高斯滤波是以距离为权重,设计滤波模板作为滤波系数,只考虑了像素间的空间位置上的关系,因此滤波的结果会丢失边缘的信息。高斯滤波的缺陷如下图所示:平坦区域正常滤波,图像细节没有变化,而在突变的边缘上,因为只使用了距离来确定滤波权重,导致边缘被模糊。在高斯基础上,进一步优化,叠加了像素值的考虑,因此也就引出了双边滤波,一种非线性滤波,滤波效果对保留边缘更有效。为了理解双边滤波的距离...

2020-05-01 10:05:20

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 分享精英
    分享精英
    成功上传11个资源即可获取