图像灰度变化的原理:

彩色图像中的每个像素的颜色由R、G、B三个分量决定,而每个分量的取值范围为0~255。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其算法有以下两种:

1)求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋给这个像素的三个分量。

2)根据RGB和YUV颜色空间的变化关系,建立亮度Y与R、G、B三个颜色分量的对应关系:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。

OpenCV有相关的函数cvtColor,用它可以直接完成灰度化操作。设img为源图像矩阵,myimg1为灰度化后的目标图像矩阵。myimg2为复制的图像。

编写代码如下:

import cv2
import numpy as np
fn = r"C:\Users\LIHAO\Pictures\Saved Pictures\wallhaven-1pdkkw.jpg"
if __name__ == "__main__":img = cv2.imread(fn)sp = img.shapeprint(sp)# 获取图像大小# heightsz1 = sp[0]# widthsz2 = sp[1]# 显示图像大小print('width:%d\nheight:%d'%(sz2,sz1))# 创建一个窗口并显示图像cv2.namedWindow('img')cv2.imshow('img', img)# 复制图像矩阵,生成与源图像一样的图像,并显示myimg2 = img.copy()cv2.namedWindow('myimg2')cv2.imshow('myimg2', myimg2)# 复制并转换为灰度图像,并显示myimg1 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)cv2.namedWindow('myimg1')cv2.imshow('myimg1', myimg1)cv2.waitKey()cv2.destroyAllWindows()

示例图片:

图像大小:

(1080, 1920, 3)
width:1920
height:1080

运行效果图:

 

图像灰度变化(OpenCV)相关推荐

  1. gamma校正 matlab,Gamma校正 ——图像灰度变化 OpenCV (十)

    Gamma校正(C++.OpenCV实现) 1.作用: Gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系: 伽玛校正由以下幂律表达式定义: 2.函数原型 v ...

  2. OpenCV 【十】——Gamma校正 ——图像灰度变化

    Gamma校正(C++.OpenCV实现) 1.作用: Gamma校正是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系: 伽玛校正由以下幂律表达式定义: 2.函数原型 v ...

  3. OpenCV 【十四】改变图像的对比度和亮度高度关联章节:OpenCV 【十】——Gamma校正 ——图像灰度变化

    目录 0 提问 1.1 原理 trick: 1.2 代码 1.3 结果 0 提问 访问像素值 用0初始化矩阵 saturate_cast 是做什么用的,以及它为什么有用 1.1 原理 图像处理 一般来 ...

  4. 图像灰度变化MATLAB代码

    I=imread('cameraman.tif'); [M N]=size(I); for i=1:Mfor j=1:NI1(i,j)=floor(I(i,j)/16)*16;//改变此处的值即可改变 ...

  5. 【Halcon视觉】图像灰度变化

    图像灰度变换的目的,是为了提高图像的对比度,对比度越高,清晰度越高. 1.灰度线性变换 add_image()    图像相加 invert_image()     图像取反 2.灰度非线性变换 lo ...

  6. LabVIEW图像灰度分析与变换(基础篇—4)

    目录 1.图像灰度分析 1.1.直方图分析 1.1.1.灰度图像直方图分析 1.1.2.彩色图像直方图分析 1.2.线灰度曲线分析 1.3.图像线灰度均值分析 1.4.图像形心和质心分析 1.5.图像 ...

  7. matlab灰度gui,matlabgui灰度变化

    课程设计报告册? 课程名称: 课题名称: 专业班级: 姓名: MATLAB 课程设计 灰度变换增强 Bob Wang 学 号: 信息楼 220 15164 课程设计主要场所: 时间: ...... & ...

  8. 【OpenCV 例程200篇】39. 图像灰度的线性变换

    [OpenCV 例程200篇]39. 图像灰度的线性变换 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 线性灰度变换 ...

  9. 基于OpenCV实现图像线性变化

    基础知识: 线性灰度变换函数f(x)是一个一维线性函数 y=f(x)=ax+b 式中:a为线性函数的斜率,b为线性函数在y轴的截距,x表示输入图像的灰度值,y表示输出图像的灰度值. (1) 当a> ...

最新文章

  1. Jquery中获取select选中的文本与值
  2. 计算机会计应用实训,计算机会计模拟实习报告.pdf
  3. typeof做类型判断时容易犯下的错
  4. 刷题练习记录(3)——无重复字符的最长子串(JAVA 和 Python)——set()函数/集合...
  5. 初识redis(redis基础命令)
  6. POI读入excel文件到Java中
  7. PHP GD库---之商详合成分享图片
  8. 注入游戏没有焦点_数独游戏 数学之美(三)
  9. mysql grep 提取错误日志_详解grep获取MySQL错误日志信息的方法
  10. Linux Shell高级技巧(二)
  11. 【HTML+CSS网页设计与布局 从入门到精通】第4章
  12. Servlet Request
  13. 分享一份 sublime 的个人配置文件
  14. 如何通过ngnix将网站访问改为https
  15. Ignition Vision基本操作
  16. 查歌词php,php krc歌词解析
  17. pad平板性能测试软件,苹果iPad 2020款评测,最便宜的iPad,性能碾压安卓?
  18. 如何查计算机硬盘型号,win10电脑的硬盘型号如何查看
  19. 问题:阿里云RDS数据库Binlog日志一直增大,撑爆磁盘
  20. matlab axisxy行列关系,在matlab中axis是什么意思

热门文章

  1. 心电图多少为正常范围_心电图主要观察哪些波形?各波间期的正常范围值都是多少?...
  2. “数字公务员”纷纷上岗,提高12345热线工单处理效率
  3. 社会性动物 第五章:大众传播、宣传与说服
  4. 微信小程序04---头像上传、瀑布流、下拉刷新、触底加载更多、分包
  5. ios中级面试题(二)
  6. COC部落又散了北京爱情故事
  7. 深度选择器 /deep/ >>> ::v-deep的用法
  8. linux中IIO子系统------IIO数据结构部分解析1
  9. CSDN编辑器教程,学习使用markdown编辑器
  10. 光遇服务器什么时候维护好2.7,光遇:开服如何坚持到现在?老玩家坦言,这四件事难以割舍...