自定义博客皮肤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 "学习"

原创 Flutter版 Gank.io

Flutter of Gank 每次练手都是用【代码家】大佬的接口,再次感谢。 FlutterGank GankIOClient GankIOWithKotlin 干货数据源 应用中的所有干货数据均来自干货集中营。 App设计 色调:远州鼠、落栗、苏芳、石竹、枯草、柳煤竹茶、锖...

2018-05-12 22:51:05 1924 0

原创 WanAndroidClient

前言 鸿神的WanAndroid网站后台API已经开发。具体接口详情参考博文: http://www.wanandroid.com/blog/show/2 所以,对于不熟悉Kotlin的我而言,借此机会练习一下。 使用开源库 CardView RecyclerView BGARefr...

2018-02-25 18:24:05 927 0

原创 《Android 进阶(二)》 自定义View之Dota2能力雷达图

1. 前言 最近看Dota2的比赛的时候无意在一个应用中看到来一个能力分析的雷达图,就是展示你的各方面数据。你可能看见过这个图。 2. 实现思路 继承View,复写onDraw。 确定N边形和每个边对应的角度; 确定多边形外接圆的半径以及圆心(也就是中心点) 确定每条半径上的所有点...

2017-10-17 21:55:47 5441 1

原创 《Android 基础(四十)》 FlexboxLayout

1. 简介 Flexbox-layout,是Google推出的流式布局。具体的基本介绍可以参考Github上的Wiki。看一下类的英文说明: /** * A layout that arranges its children in a way its attributes can...

2017-08-19 17:03:46 3298 3

原创 《Android 应用 之路》 干货集中营~技术船

简介基于Gank.io的Android客户端,主要使用的是分类数据。最近利用业余时间抽空整理了一下这个应用。配色采用的是坚果手机的8种颜色,分别对应不同的Gank数据,不知颜色出处,只觉得挺好看。

2017-04-13 22:25:24 1897 0

原创 《Android 基础(三十五)》 RecyclerView多类型Item的正确实现姿势

简介 RecyclerView是我们开发过程中经常使用到的一个元素,原生的RecyclerView.Adapter基本上可以满足一般的需求,关于RecyclerView的基础介绍请移步: RecyclerView基础使用 关于多类型的Item,原生的Adapter可以通过getItemVie...

2017-01-13 16:12:32 5470 9

原创 《Android开源库》 PagerSlidingTabStrip从头到脚

简介 PagerSlidingTabStrip,是我个人经常使用到的一个和ViewPager配合的页面指示器,可以满足开发过程中常用的需求,如类似于今日头条的首页新闻内容导航栏等等,之前自己开发的JuheNews和正在开发的GankIOClient均有使用到它,所以想对其进行一个全面的介绍。 ...

2016-12-25 16:27:23 7186 6

原创 《Android 应用 之路》 JuheNews For aNdroid (改进版)

简介上一篇介绍的是最开始自己制作的一个采用聚合数据免费接口制作的一个头条类新闻应用,最近对其在界面上做了很大的改动,结合之前介绍的TabHost作为底部仿微信菜单,然后新闻内容丰富到10种分类,搜索功能放在ToolBar上,整体效果个人感觉还是比较OK。代码开源: https://github....

2016-12-19 21:24:55 1371 0

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

Canny算法边缘检测 Canny边缘检测算法是John F. Canny于 1986 年开发出来的一个多级边缘检测算法。截止2014年8月, Canny发表的该篇论文,已被引用19000余次。Canny 创立了边缘检测计算理论(Computational theory of edge dete...

2020-05-31 09:38:08 187 0

翻译 Moshi

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

2020-05-24 18:45:00 35 0

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

Laplacian 算子 Laplacian算子具有各方向同性的特点,能够对任意方向的边缘进行提取,具有无方向性的优点,因此使用Laplacian算子提取边缘不需要分别检测X方向的边缘和Y方向的边缘,只需要一次边缘检测即可。Laplacian算子是一种二阶导数算子,对噪声比较敏感,因此常需要配合...

2020-05-23 18:42:35 114 0

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

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

2020-05-17 09:54:07 109 0

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

Sobel算子 索贝尔算子是计算机视觉领域的一种重要处理方法。 主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测。 索贝尔算子是把图像中每个像素的上下左右四领域的灰度值加权差,在边缘处达到极值从而检测边缘。在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。在图像的...

2020-05-16 08:25:43 272 0

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

边缘检测 什么是图像的边缘? 图像的边缘是图像最基本的特征之一。所谓边缘(或边沿)是指周围像素灰度有跳跃性变化或“屋顶”变化的那些像素的集合。边缘是图像局部强度变化最明显的地方,它主要存在于目标与目标、目标与背景、区域与区域之间,因此它是图像分割依赖的重要特征。从本质上说,图像边缘是图像局部特性...

2020-05-02 09:36:09 821 4

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

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

2020-05-01 10:05:20 262 0

原创 Android OpenCV(二十):高斯滤波

高斯滤波 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。 通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的...

2020-04-25 08:25:37 153 0

原创 Android OpenCV(十九):方框滤波

方框滤波 方框滤波和均值滤波核基本上是一致的,主要的区别是要不要归一化处理,如果使用归一化处理,方框滤波就是均值滤波。 API public static void boxFilter(Mat src, Mat dst, int ddepth, Size ksize, Point anchor...

2020-04-18 16:32:01 86 0

原创 Android OpenCV(十八):均值滤波

均值滤波 均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度g(x,y),...

2020-04-11 10:11:43 76 0

原创 Android OpenCV(十七):高斯噪声

高斯噪声 高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。常见的高斯噪声包括起伏噪声、宇宙噪声、热噪声和散粒噪声等等。这类噪声主要来源于电子电路噪声和低照明度或高温带来的传感器噪声,也成为正态噪声,是在实践中经常用到的噪声模型。 区别于椒盐噪声随机出现在图像中的任意位置,高斯噪...

2020-04-05 09:04:59 95 0

原创 Android OpenCV(十六):椒盐噪声

椒盐噪声 椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,它是一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)。椒盐噪声的成因可能是影像讯号受到突如其来的强烈干扰而产生、类比数位转换器或位元传输错误等。例如失效的感应器导致像素值为最小值,饱和的感应...

2020-03-31 08:55:09 179 0

原创 Android OpenCV(十五):图像卷积
原力计划

图像卷积 在信号处理中卷积操作需要给出一个卷积函数与信号进行计算,图像的卷积形式与其相同,需要给出一个卷积模板与原图像进行卷积计算。整个过程可以看成是一个卷积模板在另外一个大的图像上移动,对每个卷积模板覆盖的区域进行点乘,得到的值作为中心像素点的输出值。 卷积首先需要将卷积模板旋转180°,之后...

2020-03-29 09:13:51 82 0

原创 Android OpenCV(十四):图像直方图

图像直方图 图像直方图是统计图像中每个灰度值的个数,之后将图像灰度值作为横轴,以灰度值个数或者灰度值所占比率作为纵轴绘制的统计图。通过直方图可以看出图像中哪些灰度值数目较多,哪些较少。 直方图是图像中像素强度分布的图形表达方式。 直方图统计了每一个强度值所具有的像素个数。 API publ...

2020-03-21 17:11:04 111 0

原创 Android OpenCV(十三):图像金字塔
原力计划

图像金字塔 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。 图像金字塔最初用于机器视觉和图像压缩,一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才...

2020-03-14 12:57:29 105 0

原创 Android OpenCV(十二):极坐标变换

极坐标 极坐标系(polar coordinates)是指在平面内由极点、极轴和极径组成的坐标系。在平面上取定一点O,称为极点。从O出发引一条射线Ox,称为极轴。再取定一个单位长度,通常规定角度取逆时针方向为正。这样,平面上任一点P的位置就可以用线段OP的长度ρ以及从Ox到OP的角度θ来确定,有...

2020-03-12 10:35:50 61 0

原创 Android OpenCV(十一):图像仿射变换

仿射变换 仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。 仿射变换能够保持图像的“平直性”,包括旋转,缩放,平移,错切操作。一般而言,仿射变换矩阵为23的矩阵,第三列的元素起着平移的作用,前面两列的数字对角线上是缩放,其余为旋转或者错切的...

2020-03-07 11:42:32 104 0

原创 Android OpenCV(十):图像透视变换

图像透视变换 透视变换(Perspective Transformation)是指利用透视中心、像点、目标点三点共线的条件,按透视旋转定律使承影面(透视面)绕迹线(透视轴)旋转某一角度,破坏原有的投影光线束,仍能保持承影面上投影几何图形不变的变换。透视变换是按照物体成像投影规律进行变换,即将物体...

2020-03-03 14:03:47 391 0

原创 Android OpenCV(九):LUT查找表

LUT查找表 LUT查找表,即像素灰度值的映射表,它以像素灰度值作为索引,以灰度值映射后的数值作为表中的内容。可以类比为我们编程过程中使用的Map,Key为像素灰度值,Value为灰度值映射后的数值。 API public static void LUT(Mat src, Mat lut, ...

2020-02-21 12:45:12 112 0

原创 Android OpenCV(八):图像二值化

图像二值化 简介 图像二值化( Image Binarization)就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。 原理 图像的二值化处理就...

2020-02-12 11:18:48 380 0

原创 Android OpenCV(七):多通道分离与合并

多通道分离 API public static void split(Mat m, List<Mat> mv) 参数一:m,待分离的多通道图像 参数二:mv,分离后的单通道图像 操作 override fun onCreate(savedInstanceState: Bundle...

2020-02-10 11:18:21 144 0

原创 Android OpenCV(六):颜色模型及转换

颜色模型 RGB 采用三种颜色的英文首字母组成,分别是红色(Red)、绿色(Green)和蓝色(Blue)。虽然该颜色模型的命名方式是红色在前,但是在OpenCV中却是相反的顺序,第一个通道时蓝色(B)分量,第二个通道时绿色(G)分量,第三个通道时红色(R)分量。根据存储顺序的不同,OpenCV ...

2020-02-06 09:50:33 193 0

原创 Android OpenCV(五):亮度和对比度

亮度和对比度 对RGB色彩图像来讲,亮度越高,像素点对应的RGB值应该越大;亮度越低,像素点对应的RGB值应该越小。而对比度则是用来描述图像颜色与亮度之间的差异感知,对比度越大,图像的每个像素与周围的差异性也就越大,整个图像的细节就越显著;反之亦然。 调整图像亮度和对比度属于像素变换-点操作 g(...

2020-01-31 13:29:45 302 0

原创 Android OpenCV(四):绘制几何图形

绘制几何图形 直线 矩形 多边形 圆形 椭圆 文字 绘制直线 API public static void line(Mat img, Point pt1, Point pt2, Scalar color, int thickness, int lineType, int shift) ...

2020-01-28 17:01:24 200 0

原创 Android OpenCV(三):图像像素值统计

图像像素值统计 图像像素最大值、最小值以及位置 图像均值、标准差 查找最大值、最小值 API public static MinMaxLocResult minMaxLoc(Mat src, Mat mask) 参数src:输入的图像矩阵 参数mask:可选的掩码矩阵 返回值 M...

2020-01-24 08:04:29 308 2

原创 Android OpenCV(二):Mat像素操作

Mat Mat类用于表示一个多维的单通道或者多通道的稠密数组。能够用来保存实数或复数的向量、矩阵,灰度或彩色图像,立体元素,点云,张量以及直方图(高维的直方图使用SparseMat保存比较好)。简而言之,Mat就是用来保存多维的矩阵的。Mat对象中包含了图像的各种基本信息与图像像素数据。Mat是由...

2020-01-22 08:29:32 3233 0

原创 Android OpenCV(零):OpenCV Android SDK

OpenCV OpenCV,全称Open Source Computer VisionLibrary,是基于C/C++编写的,是BSD开源许可的计算机视觉开发框架,其开源协议允许在学术研究与商业应用开发中免费使用它。OpenCV支持Windows、Linux、Mac OS、iOS与Android操...

2020-01-14 20:29:24 505 0

原创 AndroidOpenCV(一):读取和写入图片

Android OpenCV OpenCV,即 Open Source Computer Vision Library。不赘述,可自行跳转查阅相关内容。 OpenCV Android SDK OpenCV Android SDK,下载OpenCV Android SDK即可开始OpenCV An...

2020-01-07 21:37:30 956 0

原创 LazyKeyboard 安全键盘新版本V1.4

LazyKeyboard 自定义字母、符号、数字安全键盘。最初版本采用PopupWindow的方式实现。最近抽空升级至v1.4版本。主要做了如下方面的调整。 迁移至AndroidX 采用Dialog实现方式 增加自定义属性(键盘类型选中/未选中颜色,键盘类型选择区域背景,键盘区域背景) 删减代码...

2019-12-16 22:10:27 201 0

原创 利用libfacedetection实现Android端人脸检测

libfacedetection libfacedetection是一个基于CNN的人脸检测的开源库。 Android平台使用 Android-FaceDetection基于libfacedetection实现人脸检测。采用libfacedetection开源项目部分代码并整理成模块,方便后续使用...

2019-11-16 13:29:39 1044 0

原创 Ubuntu16.04 libfacedetection人脸检测

libfacedetection libfacedetection是Github上一个开源的人脸检测率高,检测效率高的库(相较于OpenCV提供的基础识别模型)。检测速度能达到1500FPS。 下载并配置 # 下载 git clone https://github.com/ShiqiYu/libf...

2019-11-10 14:00:07 390 2

原创 Ubuntu16.04 安装OpenCV 3.4.7

Ubuntu OpenCV 3.4.7 安装 下载OpenCV-3.4.7源码包 前往OpenCV下载地址:https://opencv.org/releases.html,选择Open-3.4.7 Source 下载opencv-3.4.7.zip包后解压 安装OpenCV依赖包 sudo ...

2019-11-10 12:34:09 602 0

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