首页 > 其他 > 详细

图像灰度化与图像加噪

时间:2020-03-13 15:25:18      阅读:92      评论:0      收藏:0      [点我收藏+]

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

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

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

    OpenCV有关的函数ctvColor,用它可直接完成灰度化操作。设img为源图像矩阵,myinmg1为灰度化的目标函数矩阵,编写代码如下:

#复制并且转换为灰度图像
myimg1 = cv2.ctvColor(img,cv2.COLOR_BGR2GRAY)

  完整代码:

import cv2
import numpy as np
fn = ‘001.png‘
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.imshow(‘myimg2‘, myimg2)


    #复制并转换为灰度化图像,并显示
    myimg1 = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    cv2.namedWindow(‘myimg1‘)
    cv2.imshow(‘myimg1‘,myimg1)
    cv2.waitKey()
    cv2.destroyAllWindows()

  2.图像加噪。将图像若干个像素点的值设为噪声点的值。比如为图像加上很多像素值为[25,20,20]的像素点,例如:

 

图像灰度化与图像加噪

原文:https://www.cnblogs.com/superSmall/p/12486640.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!