我想选择图像的绿色通道并进行强度转换。我选择了图像的绿色通道。我想知道如何做强度转换。我目前在python工作
通过选择绿色通道,您在技术上已经进行了强度转换。这被表示为灰度图像,表示图像中每个像素处经历了多少绿色。
然而,@MarkSetchell是正确的,其中从彩色图像转换为强度的规范方法是每种颜色的加权组合。有些人平均所有的颜色,有些人夸大绿色通道,因为我们对颜色的感知更清晰,但SMPTE Rec. 709标准是最受欢迎的:Y' = 0.299 R' + 0.587 G' + 0.114 B'.
查看这些信息链接,了解更多关于转换的详细信息:
- https://en.wikipedia.org/wiki/Luma_(视频)
- http://www.johndcook.com/blog/2009/08/24/algorithms-convert-color-grayscale/
- https://en.wikipedia.org/wiki/Grayscale
然而,因为你使用的是OpenCV,你可以简单地调用cv2.cvtColor
与正确的标志来转换图像从彩色到灰度:
import numpy as np
import cv2
im = cv2.imread('...') # Place filename here
im = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
或者,您可以指定0作为cv2.imread
的额外标志,以自动将任何图像转换为灰度,而无需调用cv2.cvtColor
:
im = cv2.imread('...', 0)
你需要更精确。"绿色通道"可能意味着你有绿色亮度,与绿色强度相关。它们通过"传递函数"相互关联,例如定义为sRGB的一部分:
https://en.wikipedia.org/wiki/SRGB这将允许您在绿色的发光强度和绿色的亮度之间切换。
同样有可能,你对亮度(CIE Y)或亮度感兴趣。如果是这样的话,可以用Google搜索"Gamma FAQ"