【发布时间】:2017-05-18 02:53:39
【问题描述】:
我正在用特定颜色 (RGB) 绘制一条线,然后在 Python 中使用 opencv2 加载图像并将 BGR 转换为 RGB。
不幸的是,我从 opencv2 得到的数组的 RGB 值略有不同。
我使用 Illustrator 还是 Paint 都没关系。 JPG、PNG、BMP 或 TIF。颜色总是在 +- 1 到 40 之间变化。
这是我的代码:
import numpy as np
import cv2
src = cv2.imread("test.jpg")
image = cv2.cvtColor(src, cv2.COLOR_BGR2RGB)
print(image[10, 10])
我的输入是 RGB 值 [100 50 0] 的正方形,我得到的是 [95 46 0],但我需要准确的 RGB 值。
【问题讨论】:
-
如果您想要精确的值,请尝试使用无损格式,如 PNG 或 TIFF。
-
正如我已经写过的,我使用了 JPG、TIFF、PNG 和 BMP。没有区别。
-
你能分享你创建的文件吗?最好是PNG格式吗?也许它有一个 OpenCV 忽略的 coour 配置文件。
-
fs5.directupload.net/images/170104/aerv3qua.png 给定值 [100 50 0] 我得到 [98 52 14]
-
我怀疑 ImageReady 正在对您的图像进行色彩管理。我只使用 Photoshop,而不使用 ImageReady,但我认为您需要找到一个名为
Color Management的选项并确保将其设置为off。它可能在Assign Color Profile或类似位置附近。
标签: python python-3.x opencv colors rgb