自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

山庄的铁匠

请输入博客描述

  • 博客(30)
  • 收藏
  • 关注

原创 图像处理中的卷积

卷积是积分变换的方法,其在许多方面有广泛应用。卷积通过两个函数 f 和 g 生成第三个函数,可以看作是两个变量在某范围内相乘后求和的结果,设 f (x),g(x)是两个可积函数,作积分:可以证明上述积分的存在性,随着x取值的不同,这个积分就定义了一个新的函数 h(x),称其为函数 f 与g的卷积,记为h(x) =(f *g)*(x)。式(2-1)中所示的是卷积在函数层面的表述定义,如果...

2020-09-24 10:15:17 4731

原创 浅谈Android的三大架构设计模式:MVC + MVP + MVVM

为什么要进行架构设计?模块化功能使得程序模块化,即:内部的高聚合、模块之间的低耦合提高开发效率开发人员只需专注于某一点(视图显示、业务逻辑 / 数据处理)提高测试效率方便后续的测试 & 定位问题三大主流模式MVC架构设计模式:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。 MVP架构设计模式:MVC全名是Model View Persenter,MVP由MVC演变而来,是现在主流.

2020-07-29 14:10:15 800

原创 路由器的MTU值应该如何正确的设置?

在Win10环境下:一、检测当前网络最佳MTU值1. Win + R,调出运行界面,输入“cmd”2. 在cmd中输入“ping www.baidu.com-l 1472 -f”其中:-l:限制探测包大小-f:禁止路由器拆分数据包1472:包大小为1472字节3. 如果能ping通,则继续增加包大小,直到出现“需要拆分数据包但是设置 DF”或“P...

2020-03-22 02:19:01 4923 1

原创 OpenCV Mat中dims和channels的区别

data:Mat对象中的一个指针,指向内存中存放矩阵数据的一块内存 (uchar* data)dims:Mat所代表的矩阵的维度,如 3 * 4 的矩阵为 2 维, 3 * 4 * 5 的为3维channels:通道,矩阵中的每一个矩阵元素拥有的值的个数,比如说 3 * 4 矩阵中一共 12 个元素,如果每个元素有三个值,那么就说这个矩阵是 3 通道的,即 channels = 3。常见的...

2020-03-13 19:28:00 917

原创 IDEA的26个常用设置

目录IDEA 软件设置Settings页面如何打开Settings设置页面Settings设置页面结构详解IDEA 常见的xx个设置Appearance & Behavior 外观和行为Keymap 快捷键Editor 编辑器设置Build、Execution、Deployment其他IDEA 当前项目结构设置 Project Structure...

2020-02-27 11:25:48 815

原创 「面试复习」「Android」Android基础

(一)Android基础1)四大组件?Activity【活动】:用于表现功能。Service【服务】:后台运行服务,不提供界面呈现。BroadcastReceiver【广播接收器】:用来接收广播。Content Provider【内容提供商】:支持在多个应用中存储和读取数据,相当于数据库。2)Activity和Fragment的生命周期?Activity生命周期图...

2020-02-26 09:48:28 238

原创 「面试复习」「计算机基础」四、数据结构

目录(一)基础排序1)冒泡排序2)选择排序3)插入排序4)快速排序5)归并排序6)堆排序7)希尔排序8)基数排序(二)总结参考:(一)基础排序1)冒泡排序思路:俩俩交换,大的放在后面,第一次排序后最大值已在数组末尾。 因为俩俩交换,需要n-1趟排序,比如10个数,需要9趟排序代码实现要点: 两个for循环,外层循环控制排序的趟数...

2020-02-26 08:53:25 158

原创 「面试复习」「计算机基础」三、数据库

目录(一)数据库基础1)主键、超键、候选键、外键?2)视图?3)数据库事务的四个特性及含义?4)事务的隔离级别?5)安全性操作?6)完整性约束?7)数据库范式?8)数据库索引?9)drop, delete与truncate的区别?10)存储过程、函数、触发器?(二)MySQL1)MySQL存储引擎?2)表级锁和行级锁?3)B-Tree和B...

2020-02-25 17:52:16 356

原创 「面试复习」「计算机基础」二、操作系统

目录(一)操作系统基础知识1)分页和分段?2)进程调度策略?3)页面置换算法?参考:(一)操作系统基础知识1)分页和分段?段式存储管理是一种符合用户视角的内存分配管理方案。在段式存储管理中,将程序的地址空间划分为若干段(segment),如代码段,数据段,堆栈段;这样每个进程有一个二维地址空间,相互独立,互不干扰。段式管理的优点是:没有内碎片(因为段大小可变,改变段...

2020-02-25 16:16:23 162

原创 Android 开发者学习路线(2020 版本)

原文:https://www.androidperformance.com/2020/02/03/android-development-learning-path-2020-edition/#Android-Jetpack仅作为个人学习目标。目录ProgrammingJavaKotlinFlutterAndroid StudioAndroid Studi...

2020-02-24 15:57:03 3174

原创 「面试复习」「计算机基础」一、计算机网络

目录1)TCP和UDP?2)三次握手与四次挥手3)TCP协议如何来保证传输的可靠性?4)TCP的拥塞处理5)TCP和UDP分别对应的常见应用层协议?6)网络层的ARP协议工作原理1)TCP和UDP? TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议,它们之间的区别包括:...

2020-02-24 15:50:17 257

原创 「面试复习」「Java」四、Java虚拟机JVM

(一)JVM 基础知识1)什么是 JVM ?JVM,即 Java Virtual Machine,Java 虚拟机。JVM 能够跨平台执行 Java 字节码,主要是由于 JVM 屏蔽了与各个计算机平台相关的软件或者硬件之间的差异,使得与平台相关的耦合统一由 JVM 提供者来实现。2)JVM 由哪些部分组成?JVM 的结构基本上由 4 部分组成: 类加载器,在 JVM 启动时或...

2020-02-23 18:22:22 280

原创 「面试复习」「Java」三、Java并发

目录1)多线程的优势和使用场景?2)同步和异步?3)并发和并行?4)线程和进程?5)阻塞(Blocking)和非阻塞(Non-Blocking)?6)死锁(Deadlock)、饥饿(Starvation)和活锁(Livelock)?7)产生死锁的 4 个必要条件?8)进程状态?9)线程状态?(二)高并发编程--JUC 包1)sleep( ) 和 wait...

2020-02-23 17:17:38 423

原创 「面试复习」「Java」二、Java集合

Java集合1)常见的集合有哪些?Map接口和Collection接口是所有集合框架的父接口: Collection接口的子接口包括:Set接口和List接口 Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等 Set接口的实现类主要有:HashSet、TreeSet、Link...

2020-02-22 19:19:27 498

原创 「面试复习」「Java」一、Java基础

(一)Java 基础知识点1)面向对象的特性有哪些?封装、继承和多态(应要多算一个那就是抽象) 封装:指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。 但封装不仅仅是 private + getter/setter ,使用封装可以对 setter 进行更深层次的定制,例如你可以对执行方法的对象做规定,也...

2020-02-22 18:28:39 337

原创 OpenCV中的Dilate(膨胀)与Erode(腐蚀)

目录erode 膨胀dilate 腐蚀Sample 示例Code 代码Erosion DemoDilation Demoerode 膨胀//示例代码void Erosion( int, void* ){ int erosion_type = 0; if( erosion_elem == 0 ){ erosion_type = MORPH_RE...

2020-02-17 17:26:27 1270

原创 Android ABI

https://developer.android.google.cn/ndk/guides/abis不同的 Android 设备使用不同的 CPU,而不同的 CPU 支持不同的指令集。CPU 与指令集的每种组合都有专属的应用二进制接口 (ABI)。ABI 包含以下信息:可使用的 CPU 指令集(和扩展指令集)。 运行时内存存储和加载的字节顺序。Android 始终是 little-en...

2020-02-09 21:00:40 143

原创 Android NDK入门

https://developer.android.google.cn/ndk/guides?hl=Languagehttps://developer.android.google.cn/studio/projects/add-native-codehttps://developer.android.google.cn/ndk/guides/cpp-support#systemhttp...

2020-02-09 20:27:58 380

原创 OpenCV Mat 类型与数字的对应关系

+--------+----+----+----+----+------+------+------+------+| | C1 | C2 | C3 | C4 | C(5) | C(6) | C(7) | C(8) |+--------+----+----+----+----+------+------+------+------+| CV_8U | 0 | 8 | 1...

2020-02-05 16:34:28 411

原创 将「Java OpenCV」中Mat通过JNI传递给「C++ OpenCV」

具体情况如下:在Android的一个项目中,我需要对一个Mat进行图像相关的操作。但由于OpenCV-android-sdk中的Java部分功能涵盖不完全,很多具体操作还是需要通过OpenCV-android-sdk中的NDK接口部分(不确定是不是这个名称)在C++代码中进行。那么在此会遇到一个问题,首先在Java代码部分获取到一个Mat对象,应当如何才能将这个Mat对象传递给C++呢?...

2020-02-02 23:00:22 1844 1

原创 在Android中使用OpenCV

1. OpenCV介绍Open Source Computer Vision Libraryhttps://opencv.orghttps://github.com/opencv/opencvhttps://en.wikipedia.org/wiki/OpenCV2. 下载OpenCVhttps://sourceforge.net/projects/opencvli...

2020-01-10 16:33:11 317

原创 为什么匿名内部类访问的局部变量必须要用final修饰?

这段代码是无法通过编译的。因为匿名内部类访问的局部变量必须要用final修饰。具体原因可以分为两点:1. 局部变量的生命周期与局部内部类的对象的生命周期不一致首先,内部类和外部类其实是处于同一个级别,内部类不会因为定义在方法中就会随着方法的执行完毕而一同被销毁。假设外部类的方法中的变量不定义为final,那么当外部类方法执行完毕的时候,这个局部变量也将被销毁,然而此时内部类的某个方...

2019-12-23 13:38:13 548

原创 「第一行代码」十三、你还应该掌握的高级技巧

全局获取Context的技巧活动本身就是一个Context对象。class HttpUtil { public static void sendHttpRequest(final String address, final HttpCallbackListener listener) { ... if (!isNetworkAvailable())...

2019-12-22 16:42:37 144

原创 「第一行代码」十、探究服务

服务是什么服务(Service)是Android系统中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务。服务的运行不依赖于任何用户界面,即使程序被切换到后台,或者用户打开另一个应用程序,服务仍然能够保持正常运行。服务并不是运行在一个独立的进程当中,而是依赖于创建服务时所在的应用程序进程。当某个应用程序进程被杀掉时,所有依赖于该进程的服务也会停止运行。...

2019-12-08 15:43:04 215 1

原创 「第一行代码」八、运用手机多媒体

创建通知创建基本通知最基本、精简形式(也称为折叠形式)的通知会显示一个图标、一个标题和少量内容文本。在本节中,您将学习如何创建用户单击后可在应用中启动 Activity 的通知。图 1.带有标题和文本的通知设置通知内容首先,您需要使用NotificationCompat.Builder对象设置通知内容和渠道。以下示例显示了如何创建包含下列内容的通知:小图标,通过...

2019-11-24 17:48:52 211

原创 「第一行代码」七、探究内容提供器

内容提供器简介内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。使用内容提供器是Android实现跨程序共享数据的标准方式。内容提供器可以选择只对哪一部分数据进行共享,从而保证我们程序中的隐私数据不会有泄漏的风险。运行时权限Android权限机...

2019-11-21 16:59:06 341

原创 「第一行代码」六、详解持久化技术

持久化技术简介瞬时数据,指那些存储在内存当中,有可能会因为程序关闭或其它原因导致内存被回收而丢失的数据。数据持久化,将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失。保存在内存中的数据处于瞬时状态,保存在存储设备中的数据处于持久状态。持久化技术可以让数据在瞬时状态和持久状态之间进行转换。Android系统主要提供了3种方式用于简单的实现...

2019-11-14 19:39:29 266

原创 「第一行代码」五、详解广播机制

广播机制简介Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容,这些广播可能来自于系统,也可能来自于其它应用程序。发送广播的方法就是借助Intent,接收广播的方法则是广播接收器(Broadcast Receiver)。Android中的广播主要分为两种类型:标准广播和有序广播。标准广播(Normal broadcast...

2019-10-22 16:47:41 262

原创 「第一行代码」二、探究活动Activity

活动Activity活动Activity是一种可以包含用户界面的组件,主要用于和用户交互。活动的基本用法创建和加载布局Android程序设计讲究逻辑和视图分离,最好每一个活动都能对应一个布局layout,布局就是用来显示界面内容的。<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns...

2019-10-07 16:38:22 204

原创 「第一行代码」一、Android简介

Android系统架构Android系统架构大致可以分为四层:Linux内核层、系统运行库层、应用框架层、应用层Linux内核层(Linux Kernel):Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动。系统运行库层(Libraries & Android Runtime):这一层通过一些C/C++库来为Android系统提...

2019-10-06 00:17:51 323

空空如也

空空如也

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

TA关注的人

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