winform对图片进行灰度处理

        //图片进行灰度处理
        //originalImage为原图像   返回灰度图像
        private Bitmap GrayImage(Bitmap originalImage)
        {
            ImageAttributes imageAttributes = new ImageAttributes();
            float[][] matrix = { new float[] {0.299f, 0.299f, 0.299f, 0, 0},
                                             new float[]   {0.587f,   0.587f,   0.587f,   0,   0},
                                             new float[]   {0.114f,   0.114f,   0.114f,   0,   0},
                                             new float[]   {0,   0,   0,   1,   0},
                                             new float[]   {0,   0,   0,   0,   1}
                                   };
            ColorMatrix colorMatrix = new ColorMatrix(matrix);
            imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);

            Bitmap grayHead = new Bitmap(originalImage.Width, originalImage.Height);
            using (Graphics g = Graphics.FromImage(grayHead))
            {
                g.DrawImage(originalImage, new Rectangle(0, 0, originalImage.Width, originalImage.Height), 0, 0, originalImage.Width, originalImage.Height, GraphicsUnit.Pixel, imageAttributes);
            }
            return grayHead;
        }

效果:

      

时间: 2024-07-30 10:19:33

winform对图片进行灰度处理的相关文章

OpenCV人脸检测(完整源码+思路)

本博文IDE为vs2013 OpenCV2.49 话不多说,先看视频演示(20S演示): 如下: https://v.youku.com/v_show/id_XMjYzMzkxMTYyMA==.html?spm=a2h0w.8278793.2736843.4#paction 程序截图如下: 如何来用OpenCV来实现能. 下面给出OpenCV实现人脸检测的一般步骤: 1.加载人脸检测器 2.开启摄像头 3.对图片进行灰度处理(其实可以不处理,上图中原图的标题栏就是未进行灰度处理进行的检测,这里的

定向数据爬虫和搜索引擎(Directional Spider)设计文档

  定向数据网络爬虫和搜索引擎项目设计 (新闻数据抓取.分析.加工.检索) 版本号:            v 1.0.0 编写人:          张  文  豪 日  期:       2014年6月10日 文档说明:这个文档还在编写之中,文章中很多写在“保留”二字的不是每月东西,而是没有写.虽然没有具体实现,但是我觉得我把我的经验和思考都写进去了.虽然对于读者来说这个文档相当粗糙,但是是我一个很看重的东西.如果真的有人愿意认真阅读这篇文章,我会很开心和大家交流探讨,欢迎留言和联系我. [

简单bmp图片处理工具——python实现

预备实现功能: 1.读取bmp文件 2.保存bmp文件 3.对bmp图片进行放大.缩小 4.对bmp图片进行灰度化 5.对bmp图片进行旋转 bmp文件格式非常简单,对于我这种初学者来说减少了不少不必要麻烦,故选择写一个处理bmp格式的工具.因为之前自学python一直没有动手,所以语言选择python. 第一步.熟悉bmp文件格式,完成bmp文件的解析.生成 参考了如下博客  1.http://blog.csdn.net/lanbing510/article/details/8176231 2

【工作笔记】CxImage简介

CxImage是一个图像处理库,可以读取常用格式的图片,包括jpg.bmp.gif.tif等:可以获取.设置图片的信息,如宽.高.DPI.位深等等:也可以对图片进行灰度.剪切.翻转等处理.总之功能非常强大. 下载地址:点我点我 使用方法 1.编译CxImage: 2.将cximage600_full\CxImage中的头文件拷出到一个目录: 3.将所有生成的库拷出到一个目录 4.在工程中设置好库的路径和头文件的路径,就可以用了 5.API可以参考cximage600_full/index.htm

OpenCV人脸检測(完整源代码+思路)

本博文IDE为vs2013 OpenCV2.49 话不多说,先看视频演示(20S演示): 例如以下: https://v.youku.com/v_show/id_XMjYzMzkxMTYyMA==.html?spm=a2h0w.8278793.2736843.4#paction 程序截图例如以下: 怎样来用OpenCV来实现能. 以下给出OpenCV实现人脸检測的一般步骤: 1.载入人脸检測器 2.开启摄像头 3.对图片进行灰度处理(事实上能够不处理,上图中原图的标题栏就是未进行灰度处理进行的检

机器学习算法·KNN

机器学习算法应用·KNN算法 一.问题描述 验证码目前在互联网上非常常见,从学校的教务系统到12306购票系统,充当着防火墙的功能.但是随着OCR技术的发展,验证码暴露出的安全问题越来越严峻.目前对验证码的识别已经有了许多方法,例如CNN,可以直接输入图片进行识别.验证码分为许多种类,本文以传统的字符验证码作为研究对象,进行图片分割成单一图片作为训练集,构架以测KNN,决策树或者朴素贝叶斯这三个算法为核心的验证码识别算法,进一步体会三个算法的特点. 二.数据准备 2.1数据说明 对于比较简单的字

使用Python生成基础验证码教程

pillow是Python平台事实上的图像处理标准库.PIL功能非常强大,但API却非常简单易用. 所以我们使用它在环境里做图像的处理. 第一步 下载pillow #运行命令 pip install pillow 第二部 编写代码 1>创建一个类,初始化并为类添加属性 我们可能需要的属性有:验证码图片宽高,干扰点线数量,我们要出现多少个验证码等 2>随机生成背景颜色和字体颜色,在此建议将背景色生成范围定为浅色(0-120),字体色为深色(120-255)易于人眼识别 3>创建画布并依次画

一键生成微信个人专属数据报告,了解你的微信社交历史

目录 一键生成微信个人专属数据报告,了解你的微信社交历史 简介 功能截图 如何运行 如何打包成二进制可执行文件 编写思路 补充 一键生成微信个人专属数据报告,了解你的微信社交历史 简介 你是否想过生成一份属于你的微信个人数据报告,了解你的微信社交历史.现在,我们基于python对微信好友进行全方位数据分析,包括:昵称.性别.年龄.地区.备注名.个性签名.头像.群聊.公众号等. 其中,在分析好友类型方面,主要统计出你的陌生人.星标好友.不让他看我的朋友圈的好友.不看他的朋友圈的好友数据.在分析地区

c# winform 把彩色图片转换为灰色的图片,变灰,灰度图片,速度很快,safe,unsafe

把彩色图片转换为灰色的图片,直接用.net接口遍历每个像素点转换的效率非常低,800K的图片65万像素我的电脑要用5分钟,而用了unsafe,速度提高了几千倍,同样的图片只用了0.几秒 附一个常用的遍历像素点转换的代码 构造函数 C#代码   public Tphc() { InitializeComponent(); this.pictureBox1.ImageLocation = "F:\\黑色头发.jpg"; } 按钮单击事件 C#代码   private void button