计算机视觉:关于视觉算法源码中常出现的imageLib库的使用指南

1.ReadImage(CImage &im, char* path)/ WriteImage(CImage &im, char* path)

(1)将im强制转换为CByteImage后赋值或存储

(2)仅支持.tga, .pgm, .ppm, .pmf格式

(3)最好传入的im为CByteImage类型

2.ReadFilePGM(CByteImage &im, char* path)/WriteFilePGM(CByteImage &im, char* path)

(1)赋值im或存储im

(2)仅支持.pgm, .ppm, .pmf格式

3.ReadFilePGM(CByteImage &im, char* path)/WriteFilePGM(CByteImage &im, char* path)

(1)赋值im或存储im

(2)仅支持.pgm, .ppm, .pmf格式

4.CXXXImage成员

(1)m_shape: width, height, nBands

(2)m_bandSize:基元字节数

(3)m_pixSize:像素字节数

(4)m_rowSize:每行字节数,这里并不等于width*m_pixSize,所以要谨慎使用

(5)m_memStart

(6)m_memory: reference counted memory

(7)alphaChannel

(1)ReAllocate(shape):释放已有内存并重新分配shape尺寸的空间

(2)ClearPixels():设置所有值为0

5.全局函数

(1)CopyPixels(src, dst):将src的复制到dst,dst深度必须与src一样,若dst没有被分配空间或分配的空间尺寸与src不一致则重新为dst分配空间后再复制

(2)ScaleAndOffset(src, dst, scale, offset):功能与CopyPixels一样,只是会对值进行缩放和平移

时间: 2024-08-03 07:22:56

计算机视觉:关于视觉算法源码中常出现的imageLib库的使用指南的相关文章

详解Redis源码中的部分快速排序算法(pqsort.c)

看标题,你可能会疑惑:咦?你这家伙,怎么不讲解完整的快排,只讲一部分快排---.- 哎,冤枉."部分快排"是算法的名字,实际上本文相当详细呢.本文几乎与普通快排无异.看懂了本文,你对普通的快排也会有更深的认识了. 快速排序算法(qsort)的原理我们大都应该了解.本文介绍的是部分快速排序算法.其实其算法本质是一样的,只不过限定了排序的左右区间,也就是只对一个数字序列的一部分进行排序,故称为"部分快速排序算法",简称:pqsort Redis项目中的pqsort.c

Redis源码中探秘SHA-1算法原理及其编程实现

导读 SHA-1算法是第一代"安全散列算法"的缩写,其本质就是一个Hash算法.SHA系列标准主要用于数字签名,生成消息摘要,曾被认为是MD5算法的后继者.如今SHA家族已经出现了5个算法.Redis使用的是SHA-1,它能将一个最大2^64比特的消息,转换成一串160位的消息摘要,并能保证任何两组不同的消息产生的消息摘要是不同的.虽然SHA1于早年间也传出了破解之道,但作为SHA家族的第一代算法,对我们仍然很具有学习价值和指导意义. SHA-1算法的详细内容可以参考官方的RFC:ht

【141029】VC游戏编写中的求解最短路径算法源码

VC游戏编写中的求解最短路径算法源码,本示例是自动寻径演示,篮点是起点,红点是终点,按确定键开始.源码爱好者注:编译后运行的时候请把EXE文件从Debug目录中拷贝到项目根目录中,若不然会出错. 编著.程序设计:唐明理 程序顺序: 初始化队列.待处理节点入队列, 依靠对目的地估价距离插入排序,将离目的地估计最近的方案出队列,释放栈顶节点,释放申请过的所有节点,估价函数,估价 x,y 到目的地的距离,估计值必须保证比实际值小, 尝试下一步移动到 x,y 可行否,如果曾经有更好的方案移动到 (x,y

Go语言源码中的Rabin-Karp算法

strings.go包实现了一个Rabin-Karp算法.有点意思. 关于这个算法: 图灵社区的有一篇: 图说Rabin-Karp字符串查找算法 关于Go源码实现: 网友GoLove已写一个篇非常详细的说明了. http://www.cnblogs.com/golove/p/3234673.html GoLove那个已经分析的非常清楚了,只是前面那一串说明太长了.我把他的说明替换成代码形式. 直接跑起来,这样更能看得清楚些. package main import ( "fmt" &q

Android 源码中的设计模式

最近看了一些android的源码,发现设计模式无处不在啊!感觉有点乱,于是决定要把设计模式好好梳理一下,于是有了这篇文章. 面向对象的六大原则 单一职责原则 所谓职责是指类变化的原因.如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责.而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因.通俗的说,即一个类只负责一项职责,将一组相关性很高的函数.数据封装到一个类中. 开闭原则 对于扩展是开放的,这意味着模块的行为是可以扩展的.当应用的需求改变时,我们可以对模块进行扩展,使其

[Spark传奇行动] 第34课:Stage划分和Task最佳位置算法源码彻底解密

本課主題 Job Stage 划分算法解密 Task 最佳位置算法實現解密 引言 作业调度的划分算法以及 Task 的最佳位置的算法,因为 Stage 的划分是DAGScheduler 工作的核心,这也是关系到整个作业有集群中该怎么运行:其次就是数据本地性,Spark 一舨的代码都是链式表达的,这就让一个任务什么时候划分成 Stage,在大数据世界要追求最大化的数据本地性,所有最大化的数据本地性就是在数据计算的时候,数据就在内存中.最后就是 Spark 的实现算法时候的略的怎么样.希望这篇文章能

Redis源码中的CRC校验码(crc16、crc64)原理浅析

在阅读Redis源码的时候,看到了两个文件:crc16.c.crc64.c.下面我抛砖引玉,简析一下原理. CRC即循环冗余校验码,是信息系统中一种常见的检错码.大学课程中的"计算机网络"."计算机组成"等课程中都有提及.我们可能都了解它的数学原理,在试卷上手工计算一个CRC校验码,并不是难事.但是计算机不是人,现实世界中的数学原理需要转化为计算机算法才能实现目的.实际上作为计算机专业背景人并不会经常使用或接触到CRC的计算机算法实现的原理,通常是电子学科背景的人士

第三篇:属性_第二节:控件属性在页面及源码中的表示方式

一.属性在页面及源码中的表示方式 认真地看看页面中声明控件的代码,你会发现控件属性在页面中的表示千变万化.我们看看下面这些: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="控件属性在页面源码中的表达方式.aspx.cs" Inherits="CustomServerControlTest.控件属性在页面源码中的表达方式" %> <!DOCT

访何红辉:谈谈Android源码中的设计模式

最近Android 6.0版本的源代码开放下载,刚好分析Android源码的技术书籍<Android源码设计模式解析与实战>上市,我们邀请到它的作者何红辉,来谈谈Android源码中的设计模式,以及近期Android开发中的一些热点话题. 受访嘉宾介绍: 何红辉(@MrSimp1e),前友盟Android工程师,活跃于国内各大技术社区,热爱开源,热爱技术,热爱分享.Android开源库 AndroidEventBus . Colorful 作者, 开发技术前线 站长,<Android源码