CatchZeng's Blog

记录开发的所见所闻

Learning OpenCV with iOS:掩膜操作

OpenCV

一、前言 上一篇我们简单讲解了OpenCV的概念和基础架构。本篇主要向大家介绍下图像处理中一个比较重要的概念 – 掩膜操作。开始前我们先看下利用矩阵掩膜操作来加强图像对比度的效果。 二、开胃菜-Mat对象 我们用眼睛看到的是图像,而计算机却不认识。于是,人们使用数值的形式来记录图像,比如用RGB值记录图像的每个点,以此来表示图像。就如上图,我们看到的是一辆车,而计算机“看...

Learning OpenCV with iOS:Hello OpenCV

OpenCV

一、概念介绍 图像处理、计算机视觉 图像处理,用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。图像处理一般指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。图像处理技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。 计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用...

聊聊设计模式原则(三) -- 依赖倒置原则

设计模式

目录 聊聊设计模式原则(一) – 单一职责原则 聊聊设计模式原则(二) – 接口隔离原则 聊聊设计模式原则(三) – 依赖倒置原则 依赖倒置原则(DIP :Dependence Inversion Principle) 定义 高层模块不应该依赖低层模块,二者都应该依赖其抽象; 抽象不应该依赖细节; 细节应该依赖抽象。 也就是说高层模块,低层模块,...

团队需要一个私有npm

JS

一、前言 随着Team人员越来越多,项目间的代码复用显得越来越重要。比如:常用的框架/库、工具方法等。另外团队内部的代码模块化,也需要有一个机制来管理。目前npm是前端代码的包管理(类似iOS 的cocoapods、android的gradle)首选。于是,我尝试使用私有npm搭建一套前端仓库,用以在公司内部托管公共代码以及将代码模块化。 二、选型 npm+私有git仓库 制作&...

开源一个npm包

JS

一、注册npm账号 前往https://www.npmjs.com注册一个账号。 二、制作npm包 1.建立一个仓库,这里以cat-jsutils为例 这里需要注意下名称,因为如果被占用,无法使用npm install直接安装。 判断是否被占用,可使用npm search xxx来判断 未占用 cenghaihandeMacBook-Pro:cat-jsutils cat...

iOS进阶 -- 程序启动那些事

iOS

欢迎加QQ群讨论:157672725 前言 iOS开发中,main函数是我们认为的入口,但其实从程序启动到main方法被调用之间,还发生了许多事情。比如runtime的初始化、动态库的加载链接等。想要真正了解程序启动,需要了解程序的内部结构。因此,本章将从分析程序(.ipa)的结构开始,到main函数被调用分析程序的启动。 程序(.ipa)结构 iTunesArtwork: ...

iOS 自定义弹出视图的正确姿势

iOS

欢迎加QQ群讨论:157672725 前言 开发时经常会自定义一些弹出视图,比如弹框(Alert)、底部弹出框(Action Sheet)等。自定义弹出视图有许多方法,到底哪种才更正确呢?下面我列举几种方法,一起讨论。先附上我的方案https://github.com/CatchZeng/SwiftPopup addSubview 顾名思义,就是造出一个View,然后add到View...

Clean Code 告诉你什么是好代码

Clean Code

前言 最近在团队推行Code Review,遇到一个头痛的问题。当向伙伴的代码提一个comment时,他们不解为什么需要这样改。细细想来,是他们不知道何为好代码,也不知道自己的代码有哪些 “坏味道”。因此,分享了几期Clean Code,团队受益良多,故成此文。 Clean Code 由于Clean Code篇幅较长,故先安排如下我认为较为重要的几点: 命名 函数(方法) ...

聊聊设计模式原则(二) -- 接口隔离原则

设计模式

目录 聊聊设计模式原则(一) – 单一职责原则 聊聊设计模式原则(二) – 接口隔离原则 聊聊设计模式原则(三) – 依赖倒置原则 接口隔离原则(ISP :Interface Segregation Principle) 定义 客户端不应该依赖它不需要的接口。 一个类对另一个类的依赖应该建立在最小的接口上。 由来 类A通过接口I依赖类B,类C通过接口I依赖类D,如...

聊聊设计模式原则(一) -- 单一职责原则

设计模式

目录 聊聊设计模式原则(一) – 单一职责原则 聊聊设计模式原则(二) – 接口隔离原则 聊聊设计模式原则(三) – 依赖倒置原则 单一职责原则(SRP:Single responsibility principle) 定义 一个类应该只有一个发生变化的原因,即一个类只负责一项职责。 如果一个类有多个职责,这些职责就耦合在了一起。当一个职责发生变化时,可能会影响其它...