图像灰度变化(OpenCV)

目录

一、图像灰度变化的原理

二、Python代码

三、示例图片

四、获取的图像大小

五、运行效果图


一、图像灰度变化的原理

        彩色图像中的每个像素的颜色由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为复制的图像。

二、Python代码

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.shape
    print(sp)
    # 获取图像大小
    # height
    sz1 = sp[0]
    # width
    sz2 = 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

五、运行效果图

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌天傲海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值