图像转灰度

  • 公式:gray = 0.299r + 0.587g + 0.114b
  • 代码
import cv2

IMG_PATH = '.\img\\'
IMG_SAVE = '.\save\\'
# lena = cv2.imread('lena.png', -1)
lena = IMG_PATH + 'lena.png'


def channel_split_by_func(file=lena):
    """BGR转Gray,自己手写计算灰度图,需要注意数字格式转换"""
    img = cv2.imread(file, -1)
    b, g, r = cv2.split(img)
    gray = (0.299*r + 0.587*g + 0.114*b).astype(np.uint8)
    cv2.imshow('b', b)
    cv2.imshow('g', g)
    cv2.imshow('r', r)
    cv2.imshow('ori', img)
    cv2.imshow('gray', gray)
    cv2.waitKey()
    cv2.destroyAllWindows()

def bgr2gray():
    """BGR转Gray,直接调用cv2函数"""
    color = cv2.imread(lena)
    gray = cv2.cvtColor(color, cv2.COLOR_BGR2GRAY)
    cv2.imshow('color', color)
    cv2.imshow('gray', gray)
    cv2.waitKey()
    cv2.destroyAllWindows()


if __name__ == '__main__':
    channel_split_by_func()
全部评论

相关推荐

湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务