资源简介
本附件为Visual C++数字图像识别技术典型案例的附加材料,包含了该书中的相关实例。
代码片段和文件信息
/******************************************************************************
* 下面两个函数实现rgb和hsv的互相转换
* rgb 的值在 0 到 1 之间
* h = [0360] s = [01] v = [01]
* if s == 0 then h = -1 (undefined)
*****************************************************************************/
void RGBtoHSV( float r float g float b float *h float *s float *v )
{
float min max delta;
min = MIN( r g b );
max = MAX( r g b );
*v = max;
delta = max - min;
if( max != 0 )
*s = delta / max;
else
{
// r = g = b = 0
// s = 0 v 未定义
*s = 0;
*h = -1;
return;
}
if( r == max )
*h = ( g - b ) / delta; // 在 yellow & magenta 之间
else if( g == max )
*h = 2 + ( b - r ) / delta; // 在 cyan & yellow 之间
else
*h = 4 + ( r - g ) / delta; // 在 magenta & cyan 之间
*h *= 60; // degrees
if( *h < 0 )
*h += 360;
}
void HSVtoRGB( float *r float *g float *b float h float s float v )
{
int i;
float f p q t;
if( s == 0 )
{
// 灰度
*r = *g = *b = v;
return;
}
h /= 60; // 扇区 0 到 5
i = floor( h );
f = h - i;
p = v * ( 1 - s );
q = v * ( 1 - s * f );
t = v * ( 1 - s * ( 1 - f ) );
switch( i )
{
case 0:
*r = v;
*g = t;
*b = p;
break;
case 1:
*r = q;
*g = v;
*b = p;
break;
case 2
*r = p;
*g = v;
*b = t;
break;
case 3:
*r = p;
*g = q;
*b = v;
break;
case 4:
*r = t;
*g = p;
*b = v;
break;
default:
*r = v;
*g = p;
*b = q;
break;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
......R 1210 2004-07-07 08:56 光盘使用必读.TXT
......R 70 2004-07-05 14:55 第01章\readme.txt
......R 1612 2004-01-19 23:36 第01章\rgb-hsv.cpp
......R 754 2004-01-19 22:58 第01章\rgb2hsi.cpp
...D..R 0 2004-07-08 10:49 第01章
......R 1675 2004-03-05 03:32 第03章\FVS - Fingerprint Verification System\demos\fvs_binarize.c
......R 2640 2004-03-08 01:53 第03章\FVS - Fingerprint Verification System\demos\fvs_createtestimages.c
......R 2198 2004-03-08 01:54 第03章\FVS - Fingerprint Verification System\demos\fvs_direction.c
......R 1787 2004-03-08 01:52 第03章\FVS - Fingerprint Verification System\demos\fvs_enhancer.c
......R 1434 2004-03-08 01:52 第03章\FVS - Fingerprint Verification System\demos\fvs_mask.c
......R 2136 2004-03-08 01:53 第03章\FVS - Fingerprint Verification System\demos\fvs_minutia.c
......R 1753 2004-03-08 01:53 第03章\FVS - Fingerprint Verification System\demos\fvs_thinner.c
...D..R 0 2004-07-08 10:49 第03章\FVS - Fingerprint Verification System\demos
......R 817 2004-03-04 03:12 第03章\FVS - Fingerprint Verification System\include\export.h
......R 5709 2004-03-05 00:07 第03章\FVS - Fingerprint Verification System\include\file.h
......R 4754 2004-03-07 23:25 第03章\FVS - Fingerprint Verification System\include\floatfield.h
......R 1216 2004-03-04 14:31 第03章\FVS - Fingerprint Verification System\include\fvs.h
......R 2133 2004-03-04 17:16 第03章\FVS - Fingerprint Verification System\include\fvstypes.h
......R 2446 2004-03-07 23:28 第03章\FVS - Fingerprint Verification System\include\histogram.h
......R 6010 2004-03-07 23:32 第03章\FVS - Fingerprint Verification System\include\image.h
......R 5149 2004-03-05 00:59 第03章\FVS - Fingerprint Verification System\include\imagemanip.h
......R 4614 2004-03-05 02:14 第03章\FVS - Fingerprint Verification System\include\img_ba
......R 753 2004-03-07 04:29 第03章\FVS - Fingerprint Verification System\include\import.h
......R 1421 2004-03-04 20:19 第03章\FVS - Fingerprint Verification System\include\matching.h
......R 4665 2004-03-05 03:25 第03章\FVS - Fingerprint Verification System\include\minutia.h
...D..R 0 2004-07-08 10:49 第03章\FVS - Fingerprint Verification System\include
......R 1486 2004-07-07 08:50 第03章\FVS - Fingerprint Verification System\readme.txt
......R 3363 2004-03-05 00:05 第03章\FVS - Fingerprint Verification System\src\export.c
......R 7705 2004-03-05 00:21 第03章\FVS - Fingerprint Verification System\src\file.c
......R 7181 2004-03-05 00:31 第03章\FVS - Fingerprint Verification System\src\floatfield.c
............此处省略225个文件信息
相关资源
- VC++实现动态创建对话框非常好的C++源
- VC++开发的斗地主的网络游戏源码
- VC++2010学习版和永久使用注册码
- 使用API函数实现的串口通讯DLL含源码
- 数据结构课程设计 山东大学版 文件
- CSocket端口扫描源代码MFC、VC++耿网出品
- SMTP邮件发送MFC、VC++耿网出品
- VC++经典小游戏含代码 算法说明
- 遗传算法代码NSGA-II
- VC++浏览器
- VC+++聊天室程序设计
- (LSB算法)数字水印的嵌入和提取V
- 基于VC++的FFT频谱分析
- VC++MFC小游戏开发教程+扫雷+五子棋+俄
- VC++鼠标画直线程序
- 计算机网络课程实验:FTP协议的实现
- vc++2010旗舰版安装包.zip
- 基于VC++6.0的UDP通讯
- VC++斗地主单机版完整代码
- 基于VC++的信号发生器
- 用VC++实现多媒体播放器
- VC++ 共享内存读写操作
- VC++中Opengl实现建筑物虚拟漫游
- VC++ 模拟太阳系行星运行
- 遥感图像变化检测 VC++
- VC++三次样条插值&贝塞尔曲线&GDI+平滑
- VC++2008开发Windows蓝牙通信程序
- VC++实现了基于图像小波变换的图像融
- 微软官网的VC++2010免费的学生版
- 简单黑白棋VC++实现
评论
共有 条评论