第一范文网 - 专业文章范例文档资料分享平台

C# - GDI+编程教程 

来源:用户分享 时间:2025/12/8 23:46:51 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

.

图24 灰度图像

3.灰度图像处理

【例12】改善对比度。

算法说明:本例根据特定的输入输出灰度转换关系,增强了图像灰度,处理后图像的中等灰度值增大,图像变亮。

注意:本例中描述对比度改善的输入、输出灰度值对应关系的程序段为:

lev= 80; wid =100;

for (x=0;x<256;x+=1) {

lut[x]=255; }

for (x=lev;x<(lev+wid);x++) {

dm =((double)(x-lev)/(double)wid)*255f; lut [x] =(int)(dm); }

(1)在窗体上添加一个“对比度”命令按钮。 (2)双击“对比度”命令按钮,编辑代码如下:

private void button5_Click(object sender, EventArgs e) {

Color c = new Color();

Bitmap box1 = new Bitmap(pictureBox1.Image); Bitmap box2 = new Bitmap(pictureBox1.Image); int rr, x, m, lev, wid; int[] lut = new int[256];

int [,,]pic=new int[600,600,3]; double dm; lev = 80; .

.

wid = 100;

for (x = 0; x < 256; x += 1) {

lut[x] = 255; }

for (x = lev; x < (lev + wid); x++) {

dm = ((double)(x - lev) / (double)wid) * 255f; lut[x] = (int)dm; }

for (int i = 0; i < pictureBox1.Image.Width - 1; i++) {

for (int j = 0; j < pictureBox1.Image.Height; j++) {

c = box1.GetPixel(i, j); pic[i, j, 0] = c.R; pic[i, j, 1] = c.G; pic[i, j, 2] = c.B; } }

for (int i = 0; i < pictureBox1.Image.Width - 1; i++) {

for (int j = 0; j < pictureBox1.Image.Height; j++) {

m = pic[i, j, 0]; rr=lut[m];

Color c1 = Color.FromArgb(rr, rr, rr); box2.SetPixel(i,j,c1); }

pictureBox2.Refresh(); pictureBox2.Image = box2; } }

(3)运行程序,运行结果如图25所示。

.

.

图25 改善对比度

.

搜索更多关于: C# - GDI+编程教程  的文档
C# - GDI+编程教程 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8b1jy3ue2q2i4cx3q5al1oirv327pb00pnv_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top