天然气缓蚀剂厂家
免费服务热线

Free service

hotline

010-00000000
天然气缓蚀剂厂家
热门搜索:
产品介绍
当前位置:首页 > 产品介绍

当灰度处理与图像下

发布时间:2021-09-11 04:16:44 阅读: 来源:天然气缓蚀剂厂家
当灰度处理与图像下

灰度处理与图像(下)

由(1)和(2)式得知,知道图像某点的R、G、B值,要得到亮度信息,则可由下式计算出:

Y=0.299*R+0.587*G+0.114*B

在实际计算时,可按下式进行:

Y=0.30*R+0.59*G+0.11*B……(3)式

而在用BMP表示的灰度图中,其红(R)、绿(G)、兰(B)三个分量的值相等,即有

R=G=B……(4)式

把(4)式代入(1)式中,可得:I=Q=0,即图像没有了色彩信息。

同理,对Y断裂伸长—试样断裂时的伸长UV色彩系也一样。

4、灰度化处理

由上面(3)式可知:为了把彩色图像转换为灰度图像,首先要找出彩色图像的颜色值:R、G、B。然后,通过(3)式计算,即可得出亮度值Y。再令:R=G=B=Y,则得到的新的图像,就是灰度图像。

对于24位或32位的真彩色图像而言,找出每点的RGB值相对就会直接被送入工厂做更多测试及试生产等容易。前面介绍了,24位或32位真彩不需调色板,它的图像数据就是实际的RGB的值。RGB三个分量分别情况要求:温度10℃~40℃ 湿度20% RH~70%RH占有一个字节,即容易取得RGB的值。

而对于16位位图言,它的一个点用两个字节来表示。它也不用调色板。要取得RGB的值,就需要了解R、

G、B在这两个字节中的位置。它们所占的位置是这样的:

R占高5位,B占低5位,G占中间6位。

取出相应的RGB值后,都转变为八位(低位补0)。故取出一个点的RGB值,可采用如下的算法得到R、G、B三个分量的值:

typedef unio tagRGBDATA{

unsigned int rgb16;

stuct{

unsigned B:5;// 3

unsigned G:6;// 2

unsigned R:5;// 3

}Bits16;

}RGBDATA;

#define R具有过载保护等功能R16(a)((unsigned char)

((((a).Bits 16.R) 3) Oxf8))

#define RG16(a)((unsigned char)

((((a).Bits 16.G) 2) Oxfc))

#define RB16(a)((unsigned char)

((((a).Bits 16.B) 3) Oxf8))

显然,由上述三个宏定义,容易求得某点的R、G、B三个分量的值。再通过(3)式,即可得到该点的亮度值Y。然后,写回新的256色位图时,令R=G=B=Y,这样,就得到了一个256级的灰度图像。

图2就是图1通过上述方法变换后的效果图:

图1 灰度化前

图2 灰度化后

5、结束语

本文在介绍彩色图像的灰度化处理时,详细介绍了16位位图的灰度化处理方法。此方法灰度化效果好、速度快,并且在图像处理过程中很有实用价值。

浙江工作服订做
浙江工作服定制
浙江工作服定做
浙江工作服设计