灰度化

问题引入

彩色图像的色彩信息较多,有时不方便计算机直接进行目标定位等方面的处理,
一般需要先将彩色图像转换为灰度图像

方法

通用数学公式

F(x,y)=rR(x,y)+gG(x,y)+bB(x,y)

F(x,y)为灰度矩阵
R(x,y)、G(x,y) 、B(x,y)分别表示RGB三个分量的矩阵
rgb为灰度化系数(r+b+g=1)

分量法

f1(x,y)=R(x,y)  f2(x,y)=G(x,y)  f3(x,y)=B(x,y)

其中fk(x,y)(k=1,2,3)为转换后的灰度图像在(x,y)处的灰度值

最大值法

f(x,y)=max(R(x,y),G(x,y),B(x,y))

平均值法

f(x,y)=(R(x,y)+G(x,y)+B(x,y))/3

加权平均

f(x,y)=0.3R(x,y)+0.59G(x,y)+0.11B(x,y)

代码

灰度转换代码

void Gray(BYTE pic[3][1000][1000],long h,long w,float a[3],BYTE f[][1000] )
{for (int y=0;y<h;y++)for (int x =0;x<w;x++)              f[y][x]=(a[0]*pic[0][y][x]+a[1]*pic[1][y][x]+a[2]*pic[2][y][x]);
}

灰度图像显示函数

void DispGrayImage( CDC* pDC,BYTE f[][1000],long h,long w)
{for (int y=0;y<h;y++)for (int x =0;x<w;x++)pDC->SetPixel(x,y,RGB(f[y][x],f[y][x],f[y][x]));
}->SetPixel(x,y,RGB(f[y][x],f[y][x],f[y][x]));
}

灰度化处理——灰度化相关推荐

  1. CUDA精进之路(三):图像处理——图像灰度化、灰度直方图统计

    引言 在大部分的图像处理程序中,其中必不可少的一步就是对传入的彩图进行灰度处理,将三个通道的RGB图片转化为单通道的Gray图,而对于灰度图进行直方图统计同样是观察检测图像特征的常用方法.在OpenC ...

  2. 手写数字图片数据之python读取保存、二值化、灰度化图片+opencv处理图片的方法

    python 读取.保存.二值化.灰度化图片+opencv处理图片的方法 进行手写数字的图片预测的时候碰到了这样的问题. 先说说处理图片有三种方式 一.matplotlib 二.PIL 三.openc ...

  3. 图像的二值化和灰度化

                   图像的二值化是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果. 将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和 ...

  4. 图像处理中的二值化和灰度化

    图像的灰度化: 灰度是指只含亮度信息,不含色彩信息的图像.黑白照片就是灰度图,特点是亮度由暗到明,变化是连续的.要表示灰度图,就需要把亮度值进行量化 使用灰度图的好处: ① RGB的值都一样. ② 图 ...

  5. 图像灰度、二值化、膨胀和腐蚀(纯Java篇)

    在c.c++或者python环境中可以使用opencv非常容易实现图像灰度.二值化.膨胀和腐蚀等功能:但在java环境中,使用opencv来处理相对比较麻烦,简单的操作用opencv处理也相对过重,这 ...

  6. python图像灰度化_python实现图片二值化及灰度处理方式

    python实现图片二值化及灰度处理方式 我就废话不多说了,直接上代码吧! 集成环境:win10 pycharm #!/usr/bin/env python3.5.2 # -*- coding: ut ...

  7. python灰度处理打印图片_python实现图片二值化及灰度处理方式

    我就废话不多说了,直接上代码吧! 集成环境:win10 pycharm #!/usr/bin/env python3.5.2 # -*- coding: utf-8 -*- '''4图片灰度调整及二值 ...

  8. python + pyqt +opencv 有界面,对lable中的图片进行图像旋转,向右平移,向下平移,二值化,灰度,边缘检测

    对lable中的图片进行图像旋转,向右平移,向下平移,二值化,灰度,边缘检测 要求: 一个界面,具体界面内容自行设计但必须符合以下要求 多个操作按钮: 1.图像180°旋转 2.图像向右平移 3.图像 ...

  9. 《图像处理》二值化和灰度化、透明度

    透明度 介绍: Color 类用于封装默认 sRGB 颜色空间中的颜色,或者用于封装由 ColorSpace 标识的任意颜色空间中的颜色.每种颜色都有一个隐式的 alpha 值 1.0,或者有一个在构 ...

  10. Java图像处理:灰度、二值化、浮雕、去色、反向、怀旧、放大镜等

    图像是由一个个像素点组合而成,图像处理本身实际上是遍历图像的像素点,对像素点的RGB值进行更改,以达到图像处理的目的. 接下来,我们主要介绍一下图片转化为二维像素点数组的方法以及部分图像处理如灰度.二 ...

最新文章

  1. 多层PCB的叠层板材
  2. AI:2020年6月21日北京智源大会演讲分享之09:40Judea教授《 The New Science of Cause and Effect with reflections ondata s》
  3. JAVA实现服务器间拷贝文件,寻找在Java服务器之间传输大文件的好方法
  4. 1151压力变送器型号_日本进口横河EJA530E压力变送器型号解读
  5. flex module不编译的问题
  6. 入门JavaScript?看懂这篇文章就够了!——Web前端系列学习笔记
  7. efcore技巧贴-也许有你不知道的使用技巧
  8. a - 数据结构实验之串一:kmp简单应用_【在线教学示范课案例】数据结构(刘航)...
  9. 【Android OpenGL ES 开发 (零)】创建一个新的工程
  10. python字典转dataframe_python DataFrame转dict字典过程详解
  11. 第二阶段个人总结1(5.25)
  12. Kafka生成消息时的3种分区策略
  13. 181112每日一句
  14. 泛微E8调整附件大小和属性
  15. N种方法让你的文章排版更好看
  16. 上海市居住证办理材料及流程
  17. c语言打印字母金字塔图形,C程序打印金字塔和图案
  18. 揭秘linux启动过程
  19. 购买PG霜,请认准官方网站
  20. Code 39码与Code 128码区别

热门文章

  1. Hadoop基本原理
  2. lvds接口屏线安装图解_液晶屏上的LVDS,TTL,RSDS三种接口的详解
  3. 谷歌浏览器86版_VMLogin 浏览器1.2.8.0 版本更新公告:全新内核 Chromium 86.0.4240.75 更新说明...
  4. 相见恨晚的一款前端布局神器!
  5. PMCAFF外包大师合作模式介绍
  6. 缺少计算机所需的介质程序,UEFI安装Win8提示缺少所需的介质驱动程序怎么办?...
  7. mui 与vue 混合开发的可行性分析
  8. C#报错Newtonsoft.Json.JsonSerializationException: “A member with the name ‘phone‘ already
  9. MacBook快捷键
  10. ubuntu linux修改ip地址命令,如何在ubuntu桌面通过命令行,更改ip地址