图像处理中的强度转换是什么?
What is intensity conversion in image processing?
我想select图像的绿色通道并进行强度转换。我已经select编辑了图像的绿色通道。我想知道如何进行强度转换。我目前在 python.
工作
通过选择绿色通道,从技术上讲,您已经在进行强度转换。这表示为灰度图像,表示图像中每个像素处有多少绿色。
但是,@MarkSetchell 是正确的,其中从彩色图像转换为强度的规范方法是每种颜色的加权组合。有些人平均所有这些,其他人在绿色通道上夸大更多,因为我们更清楚地感知该颜色,但 SMPTE Rec。 709 标准是最受欢迎的标准之一:Y' = 0.299 R' + 0.587 G' + 0.114 B'.
查看这些信息链接,了解有关转换的更多详细信息:
- https://en.wikipedia.org/wiki/Luma_(video)
- 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)
你需要更精确。 "green channel" 可能意味着你有绿色亮度,与绿色强度相关。它们通过 "transfer function" 关联,例如定义为 sRGB 的一部分:
https://en.wikipedia.org/wiki/SRGB
这将允许您在绿色的发光强度和绿色的亮度之间切换。
同样有可能,您对亮度 (CIE Y) 或亮度感兴趣。 Google 对于 "Gamma FAQ" 如果是的话。
我想select图像的绿色通道并进行强度转换。我已经select编辑了图像的绿色通道。我想知道如何进行强度转换。我目前在 python.
工作通过选择绿色通道,从技术上讲,您已经在进行强度转换。这表示为灰度图像,表示图像中每个像素处有多少绿色。
但是,@MarkSetchell 是正确的,其中从彩色图像转换为强度的规范方法是每种颜色的加权组合。有些人平均所有这些,其他人在绿色通道上夸大更多,因为我们更清楚地感知该颜色,但 SMPTE Rec。 709 标准是最受欢迎的标准之一:Y' = 0.299 R' + 0.587 G' + 0.114 B'.
查看这些信息链接,了解有关转换的更多详细信息:
- https://en.wikipedia.org/wiki/Luma_(video)
- 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)
你需要更精确。 "green channel" 可能意味着你有绿色亮度,与绿色强度相关。它们通过 "transfer function" 关联,例如定义为 sRGB 的一部分:
https://en.wikipedia.org/wiki/SRGB
这将允许您在绿色的发光强度和绿色的亮度之间切换。
同样有可能,您对亮度 (CIE Y) 或亮度感兴趣。 Google 对于 "Gamma FAQ" 如果是的话。