微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何转换此代码以显示灰度强度而不是 RGB

如何解决如何转换此代码以显示灰度强度而不是 RGB

我想知道如何将此代码转换显示灰度强度而不是 RGB。

import cv2
import numpy as np


def mouseRGB(event,x,y,flags,param):
    if event == cv2.EVENT_LBUTTONDOWN:
        colorsB = frame[y,0]
        colorsG = frame[y,1]
        colorsR = frame[y,2]
        colors = frame[y,x]
        print("Red: ",colorsR)
        print("Green: ",colorsG)
        print("Blue: ",colorsB)
        print("BRG Format: ",colors)
        print("Coordinates of pixel: X: ","Y: ",y)


cv2.namedWindow('mouseRGB')
cv2.setMouseCallback('mouseRGB',mouseRGB)

capture = cv2.VideoCapture(0)

while(True):

    ret,frame = capture.read()

    cv2.imshow('mouseRGB',frame)

    if cv2.waitKey(1) == 27:
        break

capture.release()
cv2.destroyAllWindows()

解决方法

您可以使用 cv2.cvtColor 将 BGR 转换为灰度。在您的情况下,您必须添加

gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
cv2.imshow('mouseRGB',gray)

有关详细信息,请参阅 opencv tutorial

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。