没有合适的资源?快使用搜索试试~ 我知道了~
图像灰度化处理的实现.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 179 浏览量
2022-11-12
13:10:05
上传
评论
收藏 830KB PDF 举报
温馨提示
试读
14页
。。。
资源推荐
资源详情
资源评论
图像灰度化处理的实现
delphi 图像处理学习 2008-07-22 18:43 阅读 153 评论 0
字号: 大 中 小
一、 图像的灰度化处理的基本原理
将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有 R、G、B
三个分量决定,而每个分量有 255 中值可取,这样一个像素点可以有 1600 多万(255*255*255)的颜色
的变化范围。而灰度图像是 R、G、B 三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为
255 种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少
一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。
图像的灰度化处理可用两种方法来实现。
第一种方法使求出每个像素点的 R、G、B 三个分量的平均值,然后将这个平均值赋予给这个像素的三个
分量。
第二种方法是根据 YUV 的颜色空间中,Y 的分量的物理意义是点的亮度,由该值反映亮度等级,根据 RGB
和 YUV 颜色空间的变化关系可建立亮度 Y 与 R、G、B 三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以
这个亮度值表达图像的灰度值。
二、 用 Delphi 进行图像灰度化的实现:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
p:PByteArray;
//PByteArray 的定义格式
//PByteArray = ^TByteArray;
//TByteArray = array[0..32767] of Byte;
ChangedBmp : Tbitmap;
gray,x,y:integer;
TestBMP : Tbitmap; // 处理过程中位图
begin
TestBMP:=Tbitmap.Create;
ChangedBmp:=Tbitmap.Create;
TestBMP.Assign(image1.Picture);
for y := 0 to TestBMP.Height - 1 do
begin
//获取每一行象素信息
p := TestBMP.scanline[y];
for x := 0 to TestBMP.Width - 1 do
begin
//这里采用 YUV 与 RGB 颜色空间变换的方法,即 Y=0.3R+0.59G+0.11B
Gray := Round(p[3 * x + 2] * 0.3 + p[3 * x + 1] * 0.59
+ p[3 * x] * 0.11);
//由于是 24 位真彩色,故一个像素点为三个字节
p[3 * x + 2] := byte(Gray);
p[3 * x + 1] := byte(Gray);
p[3 * x] := byte(Gray);
//Gray 的值必须在 0~255 之间
end;
ChangedBmp.Assign(TestBMP);
PaintBox1.Canvas.CopyMode:=srccopy;
PaintBox1.Canvas.Draw(0,0,ChangedBmp);// 用 PaintBox 控件重新绘制图像;
end;
三、注意事项:
程序申请了 TestBMP、WillbeChangedBmp ,所以在程序初始化的时候,要注意创建:
TestBMP:=Tbitmap.Create;
ChangedBmp:=Tbitmap.Create;
程序结束后注意要把 TestBMP.Destory 和 ChangedBmp.Destory;
四、程序效果:
值得一提的是,如果用 QQ 截图,效果就有很大差别,不知道为什么.
下面是 QQ 截图的效果
图像的二值化的基本原理
delphi 图像处理学习 2008-07-22 21:01 阅读 28 评论 0
字号: 大 中 小
图像的二值化处理就是讲图像上的 点的灰度置为 0 或 255,也就是讲整个图像呈现出明显的黑白
效果。即将 256 个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局
部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像
处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把
灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只
与像素值为 0 或 255 的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的
处理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。 所
有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为 255 表示,否则这些像素点
被排除在物体区域以外,灰度值为 0,表示背景或者例外的物体区域。 如果某特定物体在内部有
均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到
比较的分割效果。如果物体同背景的差别表现不在灰度值上(比如纹理不同) ,可以将这个差别
特征转换为灰度的差别,然后利用阀值选取技术来分割该图像。动态调节阀值实现图像的二值化
可动态观察其分割图像的具体结果。
2、 图像的二值化的程序实现
通过 Delphi 刻度控件调整阀值,实现动态控制,程序如下:
vprocedure TForm1.Button1Click(Sender: TObject);
var
剩余13页未读,继续阅读
资源评论
G11176593
- 粉丝: 6686
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功