CxImage图像灰度处理简述
2013-03-16 00:08
190 查看
目录(?)[+]
引言
目标功能
使用 CxImage 原因
功能实现
灰度转换实现流程图
核心代码
开发中遇到的问题
结束语
而在此时, 恰好在网上看到 CxImage 的一些简介 ,仔细研究了一下它的接口。发现这个类库刚好有我所需要的一些功能,而此类库又是开源的,使用的人非常的多,所以 bug 方面的问题不需要太担心。于是开始使用此类库进行代码编写。
在此,首先要感谢 CxImage 类库的作者 Davide Pizzolato 。
Ø BYTE GetPixelGray(long x, long y); // 获取指定像素的灰度值
Ø void SetPixelColor (long x ,long y ,COLORREF cr ); // 设置指定像素
的颜色。
for (int x =0; x <mWidth ; x ++) { for (int y =0; y <mHeight ; y ++) { BYTE bGray = m_pXImage ->GetPixelGray (x , y ); } }
b 存贮每个像素的原始灰度值
mPointGray .x = x ; mPointGray .y = y ; mPointGray .gray = bGray ; m_vPointGray .push_back (mPointGray );
c原始灰度值与“灰度分割参数”比较,并为图像设置新的灰度值
( 如灰度分割参数为 150)
if (bGray > 150 ) { m_pXImage ->SetPixelColor (x ,y ,RGB (255,255,255)); } else { m_pXImage ->SetPixelColor (x ,y ,RGB (0,0,0)); }
再此感谢 CxImage 的作者: Davide Pizzolato !
CabinRiver
2011-06-17 23:43:00
引言
目标功能
使用 CxImage 原因
功能实现
灰度转换实现流程图
核心代码
开发中遇到的问题
结束语
1. 引言
本周的工作项是实现图像的二三值转换功能,因为之前没有做过这块的东西,故而记录下实现的过程。以便以后翻阅!
2. 目标功能
实现图像的 2 值、 3 值转换。说白了就是灰度值的转换。
3. 使用 CxImage 原因
经过多方查找资料,特别是查看【 VC++ 图像处理】这本书之后,发现图像处理方面的东西还是很多的。并根椐这本书所介绍的图像处理知识开始进行代码编写,然而写过 300 行之后发现,需要写的东西越来越多。签于时间短、任务重的原因,只能放弃这条路。
而在此时, 恰好在网上看到 CxImage 的一些简介 ,仔细研究了一下它的接口。发现这个类库刚好有我所需要的一些功能,而此类库又是开源的,使用的人非常的多,所以 bug 方面的问题不需要太担心。于是开始使用此类库进行代码编写。
在此,首先要感谢 CxImage 类库的作者 Davide Pizzolato 。
4. 功能实现
CxImage 的功能非常的强大,而进行灰度处理只需要用到它的两个接口就可以了,即:
Ø BYTE GetPixelGray(long x, long y); // 获取指定像素的灰度值
Ø void SetPixelColor (long x ,long y ,COLORREF cr ); // 设置指定像素
的颜色。
4.1. 灰度转换实现流程图
实现流程图如下:
4.2. 核心代码
a 获取图像中每个像素的原始灰度值:
for (int x =0; x <mWidth ; x ++) { for (int y =0; y <mHeight ; y ++) { BYTE bGray = m_pXImage ->GetPixelGray (x , y ); } }
b 存贮每个像素的原始灰度值
mPointGray .x = x ; mPointGray .y = y ; mPointGray .gray = bGray ; m_vPointGray .push_back (mPointGray );
c原始灰度值与“灰度分割参数”比较,并为图像设置新的灰度值
( 如灰度分割参数为 150)
if (bGray > 150 ) { m_pXImage ->SetPixelColor (x ,y ,RGB (255,255,255)); } else { m_pXImage ->SetPixelColor (x ,y ,RGB (0,0,0)); }
5. 开发中遇到的问题
当使用接口【 BYTE GetPixelGray(long x, long y); 】 获取灰度值的时候,返回结果中会出现有字符的现像(初步估计:可能是图片中的一些信息)。因为此问题暂不影响图片处理效果,故先放置,等待后续处理。
6. 结束语
至此,灰度处理完成。当然,还有一些牵涉到界面的部分就不再多述了,如:图像的灰度随着滑块的滑动而变化、 3 值转换、 4 值转换等。
再此感谢 CxImage 的作者: Davide Pizzolato !
CabinRiver
2011-06-17 23:43:00
相关文章推荐
- CxImage图像灰度处理简述
- 数字图像处理——Matlab GUI与灰度变换函数
- 图像滤镜处理算法:灰度、黑白、底片、浮雕
- 灰度图像的伪彩色处理
- 数字图像处理基础:教你如何区分单色图像、灰度图像、伪彩色图像、真彩色图像
- 【图像处理】灰度映射(Gray Level Transformation)
- VC6.0图像处理3--灰度变换
- Atitit 图像处理 灰度图片 灰度化的原理与实现
- [数字图像处理]灰度变换——直方图处理
- Matlab图像处理之灰度变换函数
- 图像处理之特殊灰度算法技巧
- 数字图像处理-空间域处理-灰度变换-基本灰度变换函数(反转变换、对数变换、伽马变换和分段线性变换)
- 灰度图像--图像分割 阈值处理之局部阈值
- 图像滤镜处理算法:灰度、黑白、底片、浮雕
- 图像的处理(一)----灰度图像像素颜色亮度处理
- 【图像处理笔记】灰度变换
- 图像处理------特殊灰度算法技巧
- 图像处理 灰度图像直方图
- Android下常用的图像处理程序(灰度化、线性灰度变化、二值化)
- 图像的灰度变换——图像旋转、图像的反色处理、对比度拉伸