-
第10章:Visual C++数字图像处理开发入门与编程实践
资源介绍
Visual C++数字图像处理开发入门与编程实践
第二章EasyDraw是一个简单的绘图软件,这个实例会综合运用本章所介绍了Visual C++ 2005的基础知识。EasyDraw拥有以下功能:
1.直线、矩形、椭圆的绘制。
2.可以更改绘制线条的类型、宽度、颜色。
第三章ColorPicker是一个基于对话框的应用程序,它具有以下功能:
1. 色彩编辑功能
用户可以通过可以调整R、G、B的值来编辑颜色,亦可通过调整H、S、V的值来选取颜色。颜色编辑的结果会马上反馈到颜色面板和颜色预览框中。
2.RGB颜色空间和HSV颜色空间的转换
当改变RGB值,会得到相应的HSV值,并进行显示,反之亦然。
3.取色功能
取色功能包含“面板取色”和“屏幕取色”。面板取色就是用户可以在颜色面板中单击鼠标左键,选取目标点所表示的某种颜色。屏幕取色则是允许用户获取整个屏幕上的任意一点的颜色值。用户可以将鼠标移动到需要获取颜色的地方,然后按a键或A键即可以获取该点颜色值。
第四章
JpegDecoder类主要用于Jpeg文件的解码。
使用方法十分简单,只需要利用GetJPEGBuffer函数返回解码后的像素数组。在第三篇的实例MagicHouse中就需要使用这个类。
第五章 MyDib类主要用于处理设备无关位图DIB。
Example目录:
第六章
该目录包含了本章6.4节和6.5节的全部实例代码。
pic.jpg的分辨率为96像素每英寸
pic_72.jpg的分辩率为72像素每英寸
Color.h,Color.cpp:包含了6.5节处理图像的色彩的全部函数
Example_GIF目录:
它是本章6.6节播放GIF动画的工程,用于播放GIF动画。
注意:gif文件必须和生成的exe文件位于同一目录下,gif文件必须改名为pic.gif。
第七章
TestOpenCV是一个应用OpenCV提供的函数进行图片显示和保存的应用程序,注意TestOpenCV需要OpenCV提供的库支持,因此请首先到相关网站上下载并安装OpenCV
第八章
本章实例是一个类似ACDSee的图像浏览工具——GraphShower。GraphShower主要实现如下功能:
⑴ 类似ACDSee的图片浏览功能。用户只需要打开一个图片,就能利用菜单栏、工具栏或者快捷键快捷的浏览该图像所在目录的所有图像。使用方法与ACDSee类似。
⑵ 图像的缩放显示功能。图像可以支持以下四种显示模式:
① 原始大小:以原始大小显示图像。如果图像大小比视图小,则显示在正中;如果图像比视图大,则显示部分图像。用户可以利用鼠标拖动图像以显示其它部分。
② 适合宽度:保持图像长宽比例缩放图像,使图像宽度等于视图宽度。
③ 适合高度:保持图像长宽比例缩放图像,使图像高度等于视图高度。
④ 适合屏幕:自动判断图像的显示方式,使图像能在当前视图上完整显示。
⑶ 特效显示。GraphShower支持以下特效:向下扫描、垂直双重扫描、向右移动、水平双重移动、垂直百叶窗、水平百叶窗、垂直栅条、水平栅条、马赛克和雨滴。
⑷ 文件目录窗口。通过目录树可以直接打开图像文件。
⑸ 位图浏览窗口。以缩略图的形式显示图像。
第九章
"MagicHouse框架"目录:
含有MagicHouse的原始框架,该框架是在GrahpShower的基础上完成的。
"MagicHouse"目录:
在MagicHouse原始框架下添加了“点运算”的功能。
GrayOperator.h和GrayOperator.cpp包含了第9章点运算的全部函数。
第十章
MagicHouse目录:
在第9章MagicHouse的基础上添加了“几何变换”的功能。
其中GeoOperator.h和GeoOperator.cpp包含了第10章几何变换的全部函数。
Example目录:
包含10.7节全部代码。
第十一章
在第10章MagicHouse的基础上添加了“图像增强”的功能。
其中improve.h和improve.cpp包含了第10章图像增强的所有函数。不少函数可以动态设置参数,从而获得不同的效果。本章实例仅简单调用了图像增强的函数。
第12章
在第11章MagicHouse的基础上添加了“滤镜”的功能。至此,MagicHouse的全部功能就实现了。
其中Filter.h和Filter.cpp包含了第11章滤镜的所有函数。
第十五章
FaceDetection是一个静态人脸检测程序,注意FaceDetection需要OpenCV提供的库支持,因此请首先到相关网站上下载并安装OpenCV,此外本程序需要导入一个分类器文件haarcascade_frontalface_alt.xml,该文件在OpenCV中提供,请读者将该文件复制到程序同一目录下,程序即可正确运行。
第二章EasyDraw是一个简单的绘图软件,这个实例会综合运用本章所介绍了Visual C++ 2005的基础知识。EasyDraw拥有以下功能:
1.直线、矩形、椭圆的绘制。
2.可以更改绘制线条的类型、宽度、颜色。
第三章ColorPicker是一个基于对话框的应用程序,它具有以下功能:
1. 色彩编辑功能
用户可以通过可以调整R、G、B的值来编辑颜色,亦可通过调整H、S、V的值来选取颜色。颜色编辑的结果会马上反馈到颜色面板和颜色预览框中。
2.RGB颜色空间和HSV颜色空间的转换
当改变RGB值,会得到相应的HSV值,并进行显示,反之亦然。
3.取色功能
取色功能包含“面板取色”和“屏幕取色”。面板取色就是用户可以在颜色面板中单击鼠标左键,选取目标点所表示的某种颜色。屏幕取色则是允许用户获取整个屏幕上的任意一点的颜色值。用户可以将鼠标移动到需要获取颜色的地方,然后按a键或A键即可以获取该点颜色值。
第四章
JpegDecoder类主要用于Jpeg文件的解码。
使用方法十分简单,只需要利用GetJPEGBuffer函数返回解码后的像素数组。在第三篇的实例MagicHouse中就需要使用这个类。
第五章 MyDib类主要用于处理设备无关位图DIB。
Example目录:
第六章
该目录包含了本章6.4节和6.5节的全部实例代码。
pic.jpg的分辨率为96像素每英寸
pic_72.jpg的分辩率为72像素每英寸
Color.h,Color.cpp:包含了6.5节处理图像的色彩的全部函数
Example_GIF目录:
它是本章6.6节播放GIF动画的工程,用于播放GIF动画。
注意:gif文件必须和生成的exe文件位于同一目录下,gif文件必须改名为pic.gif。
第七章
TestOpenCV是一个应用OpenCV提供的函数进行图片显示和保存的应用程序,注意TestOpenCV需要OpenCV提供的库支持,因此请首先到相关网站上下载并安装OpenCV
第八章
本章实例是一个类似ACDSee的图像浏览工具——GraphShower。GraphShower主要实现如下功能:
⑴ 类似ACDSee的图片浏览功能。用户只需要打开一个图片,就能利用菜单栏、工具栏或者快捷键快捷的浏览该图像所在目录的所有图像。使用方法与ACDSee类似。
⑵ 图像的缩放显示功能。图像可以支持以下四种显示模式:
① 原始大小:以原始大小显示图像。如果图像大小比视图小,则显示在正中;如果图像比视图大,则显示部分图像。用户可以利用鼠标拖动图像以显示其它部分。
② 适合宽度:保持图像长宽比例缩放图像,使图像宽度等于视图宽度。
③ 适合高度:保持图像长宽比例缩放图像,使图像高度等于视图高度。
④ 适合屏幕:自动判断图像的显示方式,使图像能在当前视图上完整显示。
⑶ 特效显示。GraphShower支持以下特效:向下扫描、垂直双重扫描、向右移动、水平双重移动、垂直百叶窗、水平百叶窗、垂直栅条、水平栅条、马赛克和雨滴。
⑷ 文件目录窗口。通过目录树可以直接打开图像文件。
⑸ 位图浏览窗口。以缩略图的形式显示图像。
第九章
"MagicHouse框架"目录:
含有MagicHouse的原始框架,该框架是在GrahpShower的基础上完成的。
"MagicHouse"目录:
在MagicHouse原始框架下添加了“点运算”的功能。
GrayOperator.h和GrayOperator.cpp包含了第9章点运算的全部函数。
第十章
MagicHouse目录:
在第9章MagicHouse的基础上添加了“几何变换”的功能。
其中GeoOperator.h和GeoOperator.cpp包含了第10章几何变换的全部函数。
Example目录:
包含10.7节全部代码。
第十一章
在第10章MagicHouse的基础上添加了“图像增强”的功能。
其中improve.h和improve.cpp包含了第10章图像增强的所有函数。不少函数可以动态设置参数,从而获得不同的效果。本章实例仅简单调用了图像增强的函数。
第12章
在第11章MagicHouse的基础上添加了“滤镜”的功能。至此,MagicHouse的全部功能就实现了。
其中Filter.h和Filter.cpp包含了第11章滤镜的所有函数。
第十五章
FaceDetection是一个静态人脸检测程序,注意FaceDetection需要OpenCV提供的库支持,因此请首先到相关网站上下载并安装OpenCV,此外本程序需要导入一个分类器文件haarcascade_frontalface_alt.xml,该文件在OpenCV中提供,请读者将该文件复制到程序同一目录下,程序即可正确运行。
- 上一篇: opencv使用SVM实现图像分类识别
- 下一篇: OpenCV由汉字生成图片(png透明