图像灰度处理

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-29 04:26:26

这里采用四种方法对图像进行灰度处理:

方法一:读取图片时只读取灰度图像

方法二:调用opencv Api实现

方法三:算法实现图像灰度:gray = (B + G + R)/3

方法四:算法实现:gray = r*0.299 + g*0.587 + b*0.114

代码:

import cv2import numpy as npgray1 = cv2.imread('D:/pythonob/imageinpaint/img/zidan.jpg',0)#方法一imgSrc = cv2.imread('D:/pythonob/imageinpaint/img/zidan.jpg',1)gray2 = cv2.cvtColor(imgSrc,cv2.COLOR_BGR2GRAY)#方法二:API实现图像灰度。第二个参数:转换方式BGR-->gray#方法三;算法实现图像灰度:gray = (B + G + R)/3imgInfo = imgSrc.shapeheight = imgInfo[0]width = imgInfo[1]gray3 = np.zeros((height,width,3),np.uint8)for i in range(0,height):    for j in range(0,width):        (b,g,r) = imgSrc[i,j]        gray = (int(b) + int(g) + int(r))/3        gray3[i,j] = np.uint8(gray)#方法四:gray = r*0.299 + g*0.587 + b*0.114gray4 = np.zeros((height,width,3),np.uint8)for i in range(0,height):    for j in range(0,width):        (b,g,r) = imgSrc[i,j]        gray = int(b)*0.114 + int(g)*0.587 + int(r)*0.299        gray4[i,j] = np.uint8(gray)cv2.imshow('G1',gray1)cv2.imshow('imgSrc',imgSrc)cv2.imshow('G2',gray2)cv2.imshow('G3',gray3)cv2.imshow('G4',gray4)cv2.waitKey(0)效果图:

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!