本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

灰度化的原理时假定每个像素点的三通道值相同,并用统一的灰度值待代替。加权平均法读取灰度化图像时,是将三个通道的通道值进行加权,然后用来代替灰度。

实际中加权平均法RGB灰度化的公式为:

式中表示三个通道的权值,且三者之和为1。

解决方案

首先运用opencv读取图像:

import cv2 as cv
  src =  cv.imread("D:\pecture\PmZT25jtyg_small.jpg")    #读取图片。

再读取出图像每个像素点的三个通道值,运用加权平均法的思想计算灰度值,输出灰度图像,在运用加权平均法得到灰度图像后,为确保图像的灰度化误差不大,还需要对权值进行调整,调整时可以和图像原本的灰度化进行对比:

import cv2 as cv
  import numpy as np
  def gray_pixels(image):
      for i

Python|加权平均法读取灰度化图像介相关推荐

  1. Python计算机视觉:在阈值化图像中使用center_of_mass()函数寻找每个物体的中心坐标

    Python计算机视觉:在阈值化图像中使用center_of_mass()函数寻找每个物体的中心坐标 <Python计算机视觉>第一章练习第七题: 使用形态学操作处理阈值化图像.在发现一些 ...

  2. GDIPlus灰度化图像

    将RGB彩色图像转为8位的索引颜色 先定义一个宏 // Greyscale conversion #define GREY(r, g, b) (BYTE)(((WORD)r * 77 + (WORD) ...

  3. python read()读取图片_可以python sitk.ReadImage读取列表/系列图像吗?

    我不明白sitk.ReadImage是否可以读取或不读取图像列表?我没有设法找到一个示例显示如何列出图像应该输入到函数. 但是在功能文件中它说: ReadImage(**VectorString fi ...

  4. python实现彩色图片灰度化并转化为字符型图片

    python可以用来学习用来工作,当然也能用来娱乐,相信众多pythoner都不会反对这一点,今天是周五了,又是一个美好的周末的开始,打算做点有意思的事情玩一玩,无意间看到一个很有意思的东西就打算拿来 ...

  5. 8.OpenCvSharp图像灰度处理(分量法、最大值法、平均法、加权平均法)——c#OpenCvSharp学习笔记

    OpenCvSharp图像灰度处理(分量法.最大值法.平均法.加权平均法) 项目概述 项目实现了基于OpenCvSharp实现了图像灰度处理,包含了分量法.最大值法.平均法.加权平均法等灰度处理方法的 ...

  6. 2种图像增强方法:图像点运算和图像灰度化处理

    摘要:本文主要讲解图像点运算的灰度化处理,详细介绍常用的灰度化处理方法,并分享了图像颜色空间相互转换,以及三种灰度转换算法的实现. 本文分享自华为云社区<[Python从零到壹] 四十三.图像增 ...

  7. (二)对图像进行预处理(灰度化,二值化)

    对图像进行预处理(灰度化,二值化) 一.图像灰度化处理 图像灰度化是指每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度. 灰度图像与黑白图像不同,在计算机图像领域中黑白图 ...

  8. 图像灰度化的三种常见方法源码

    图像灰度化是图像处理很基础的一部分,在这里给出图像灰度化的三种常见方法的M源码,以供大家参考~ 平均值法,最大值法,加权平均值法 function f=MyGrayProcessing(Img) [m ...

  9. Unity3D Shader系列之UI Image灰度化

    目录 1.灰度化是什么 2.灰度值计算方法 3.灰度化的目的 4.Shader实现 5.参考文章 在<OpenCV for Unity学习笔记(1)--Mat及灰度化图像>我们看到,使用O ...

  10. 【图像处理】——图像的灰度化处理(Python实现三种方法——最大值法、平均值法、加权均值法、gamma校正)

    目录 一.什么是图像的灰度化? 二.灰度化的几种方法(最大值法.平均值法.加权均值法.gamma校正) 1.直接调用函数:cv2.cvtColor() 图像颜色空间转换 2.最大值法 (1)概念 (2 ...

最新文章

  1. 《深入理解Android:Wi-Fi,NFC和GPS》章节连载[节选]--第六章 深入理解wi-Fi Simple Configuration...
  2. 保存数组类型数据_JS基本数据类型和引用数据类型的区别及深浅拷贝
  3. android危险权限分组,Android 6.0权限请求相关及权限分组方法
  4. Qt学习笔记之QTextCodec
  5. Android延时执行调用的几种方法
  6. 删除MyEclipse 6.5.1自带的Maven4MyEclipse
  7. envi栅格TIF数据进行分割_常用水文气象数据读取及其可视化(二进制、HDF5、NetCDF)以GLDAS、MODIS、GSMaP为例...
  8. sql盲注 解决_sql盲注解决方案.docx
  9. 微信红包封面催生暴利灰产:有人月入三十万
  10. es6学习推荐网址(阮一峰)
  11. 双系统卸载ubuntu
  12. linux内核驱动使用hugepages,Linux系统下快速配置HugePages的完整步骤
  13. Bug 20186278 - crfclust.bdb Becomes Huge Size Due to Sudden Retention Change (文档 ID 20186278.8)
  14. 点网络计算机怎么出现蓝屏,电脑总是出现蓝屏该怎么解决
  15. 本地自签https证书
  16. 无问东西:你曾是少年
  17. mstsc远程登录windows服务器
  18. Unity基础篇:Serializable总结与深入研究。
  19. Charles抓手机包
  20. python 词表里的词不符合_一年级语文下册,第1~4单元生字笔顺组词表,家长:这也太全面了...

热门文章

  1. 将一个 iOS 设备变成 iBeacon
  2. 短信工具类 SmsUtil
  3. POJ 1179 Polygon
  4. 手机流量卡代理第一次做,要做好哪些准备?
  5. 斜线“\”与反斜线“/”应用场景的整理(转)
  6. ffmpeg转mov为mp4
  7. 手机图片怎么压缩变小,值得收藏的几个在线工具
  8. wow插件入门资源整理
  9. 智能性与实用性兼具,华为开启智能眼镜全民时代
  10. 如何对客户行为进行数据分析?