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 catc...

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...

TensorFlow--Hello World

TensorFlow

欢迎加QQ群讨论:157672725 简介 TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。T...

Clean Code 告诉你什么是好代码

iOS开发

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

iOS开发见闻-第22期

iOS开发

欢迎加QQ群讨论:157672725 文章 1.基于ReSwift和App Coordinator的iOS架构 : 本篇文章从架构漫谈到开发复杂度问题再到路由设计再到状态管理,讲述了如何使用ReSwift和App Coordinator来架构工程。 2.单向数据流动的函数式 View Controller : 喵神对单向数据流动的见解,与上篇文章中的ReSwift思想类似,但喵...