随着公司的业务的发展有幸接触到OpenCV 这个图形库,这篇文章主要是总结一下在Mac 上使用OpenCV做一个动态的广告植入。
OpenCV 是什么:
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。
继续阅读 »
We create an empty console project first:
```bash
$ xmake create -P ./hello
create hello ...
create ok!👌
```
And xmake will generate some files:
```bash
$ cd ./hello
$ tree .
.
├── src
│ └── main.c
└── xmake.lua
```
It is a simple console program only for printing hello xmake!
```bash
$ cat ./src/main.c
incl
继续阅读 »
Objective-C是一门简单的语言,95%是C语言。只是在语言层面上加了些关键字和语法。真正让Objective-C如此强大的是它的运行时。它很小但却很强大。它的核心是消息分发。
runtime是开源的。可以去下载:http://opensource.apple.com/tarballs/objc4/objc4-437.1.tar.gz。
runtime是由C语言实现的。
runtime的两个版本。
继续阅读 »
序
终于有点时间重新回到正常的学习节奏。心里念念不忘GO语言,于是重温一下GO语言的语法,顺便记录下笔记。希望成为一个能实战的GO程序员。
哲学,思想
"21世纪的C语言"
简洁编程哲学的宣言,从长远来看,简洁依然是好软件的关键因素。
Go从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想。
继续阅读 »
首先我们通过内置的工程模板创建一个空工程:
```bash
$ xmake create -P ./hello
create hello ...
create ok!👌
```
这个时候xmake将会产生一些工程文件,如下:
```bash
$ cd ./hello
$ tree .
.
├── src
│ └── main.c
└── xmake.lua
```
这个简单的程序仅仅只是为了打印输出: hello xmake!
```bash
$ cat ./src/main.c
include
int main(int argc, char** argv)
{
printf("hello xmak
继续阅读 »
iOS网络编程层次结构
iOS网络编程层次结构分为三层,从上往下依次为:
Cocoa层:NSURL,Bonjour,Game Kit,WebKit
Core Foundation层:基于 C 的 CFNetwork 和 CFNetServices
OS层:基于 C 的 BSD Socket
Cocoa层:是最上层的基于 Objective-C 的 API,比如 URL访问,NSStream,Bonjour,GameKit等,这是大多数情况下我们常用的 API。Cocoa 层是基于 Core Foundation 实现的。
Core Foundation层:因为直接使用 socket 需要更多的编程工作,所以苹果对 OS 层的
继续阅读 »
分析:6.4节《其他计数序列》里给出了Fibonacci数列的封闭形式,提示里也说“能否借助封闭形式来避免高精度算数”,但高精度算数还是无法避免。理由如下:more
F(n) = (a ^ n - b ^ n) / c
其中a,b,c为常数:
继续阅读 »
xmake-vscode插件深度集成了xmake和vscode,提供方便快速的跨平台c/c++构建。
此版本为第一个正式版本,相比之前发布的体验版,新增了两大新特性:
快速宏记录和回放
编译错误解析和问题列表
注:使用此插件,需要先安装xmake,更多关于xmake的使用说明,请阅读:文档手册,项目源码:Github。
关于xmake-vscode的更多特性介绍,请见下文,关于xmake-vscode插件的详细过程,请参考文章:xmake-vscode插件开发过程记录
特性
语法色彩高亮
API输入自动提示和补全
状态栏快捷工具
完整的命令列表
快速配置支持
构建和安装
运行和调试
快速宏记录和回放
编译错误解
继续阅读 »
原文地址:[PHP设计模式(三):封装][1]
简介
面向对象编程中,一切都是对象,对一个对象的封装,也成了面向对象编程中必不可少的部分。
和C/C++,Java,Python等语言一样,PHP也支持封装。
封装/Encapsulation
对事物的封装是指,将事物进行抽象后,提供抽象概念的实现的具体方法。
听起来很拗口,还是举鲸鱼的例子。
对于鲸鱼来说,需要吃东西这个行为,吃本身是一个抽象的概念,因为具体到怎么吃,是咀嚼和消化的过程,甚至如何咀嚼和消化也是不可见的。对外部而言,可见的只是吃这一个接口,如何吃、怎么吃,是被封装在了鲸鱼的实现中。甚至可以说,消化系统,被封装到了鲸鱼这个对象中,对外部不可见,仅仅鲸鱼自
继续阅读 »
go只提供了一种循环方式,即for循环,在使用时可以像c那样使用,也可以通过for range方式遍历容器类型如数组、切片和映射。但是在使用for range时,如果使用不当,就会出现一些问题,导致程序运行行为不如预期。比如,下面的示例程序将遍历一个切片,并将切片的值当成映射的键和值存入,切片类型是一个int型,映射的类型是键为int型,值为*int,即值是一个地址。
继续阅读 »