opencv 灰度变换(灰度化)

加权平均值法:

D=(R*30+G*59+B*11)/100

,其中RGB分别是红,绿,蓝颜色通道的像素值。

取最大值法:

D=max(R,G,B)

平均值法:

D=(R+G+B)/3

import cv2
import numpy as np
image=cv2.imread("C:/Users/wangyiyuan/Desktop/20200201172603_hocyy.jpg")
h=np.shape(image)[0]
w=np.shape(image)[1]

grayimg=np.zeros((h,w,3),np.uint8)
for i in range(h):
    for j in range(w):
        grayimg[i,j]=0.3*image[i,j][0]+0.59*image[i,j][1]+0.11*image[i,j][2]
cv2.imshow("srcimage",image)
cv2.imshow("grayimage(1)",grayimg)#####加权平均值法
cv2.waitKey(0)


for i in range(h):
    for j in range(w):
        grayimg[i,j]=max(image[i,j][0],image[i,j][1],image[i,j][2])
cv2.imshow("grayimage(2)",grayimg)#####最大值法
cv2.waitKey(0)

for i in range(h):
    for j in range(w):
        grayimg[i,j]=(image[i,j][0]+image[i,j][1]+image[i,j][2])/3

cv2.imshow("grayimage(3)",grayimg)#####平均值法
cv2.waitKey(0)

结果如下图:(原图)

可以发现最大值法的运算速度最慢效率最低,而平均值法出现了一定程度上的失真。

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值