Python 如何将CV2中所有可能的颜色空间(274个可用颜色空间?)应用于单个图像并输出图像的274个变化?
这是我的代码,帮我解决标题上的问题Python 如何将CV2中所有可能的颜色空间(274个可用颜色空间?)应用于单个图像并输出图像的274个变化?,python,loops,colors,space,cv2,Python,Loops,Colors,Space,Cv2,这是我的代码,帮我解决标题上的问题 import cv2 import imutils image = cv2.imread("/home/taral/Desktop/blister_main/blister.jpg") flags = [i for i in dir(cv2) if i.startswith('COLOR_')] # color space lists provided by OpenCV2 documentation count = 1 for flag in fl
import cv2
import imutils
image = cv2.imread("/home/taral/Desktop/blister_main/blister.jpg")
flags = [i for i in dir(cv2) if i.startswith('COLOR_')] # color space lists provided by OpenCV2 documentation
count = 1
for flag in flags:
# holder = ('cv2.{}'.format(flag))
mode = 'cv2.' + str(flag)
converted = cv2.cvtColor(image, eval(mode))
name = '/home/taral/Desktop/blister_main/color_space'+str(count)+'.jpg'
path = cv2.imwrite(name, converted)
count += 1
如何将CV2中所有可能的颜色空间(274可用颜色空间..?)应用于单个图像并输出图像的274个变体?您的图像由CV2读取,因此其通道将排列为蓝绿色和红色,因此您只能在BGR相关的
模式下使用CV2.cvtColor
(例如:cv2.COLOR\u BGR2LUV,cv2.COLOR\u BGR2Lab
)
错误将以灰色模式出现(例如:cv2.COLOR\u GRAY2BGR,cv2.COLOR\u GRAY2BGR555
),因为灰色图像只有一个通道,而在其他模式下,如RGB、HSV等三个通道的输出将出错。您的图像由cv2读取,因此其通道将排列为蓝绿红色,因此您只能将cv2.cvtColor
与BGR相关的模式一起使用(例如:cv2.COLOR\u BGR2LUV,cv2.COLOR\u BGR2Lab
)
该错误将在灰色模式下出现(例如:cv2.COLOR\u GRAY2BGR,cv2.COLOR\u GRAY2BGR555
),因为灰色图像只有1个通道,而在其他模式下,如RGB、HSV等3个通道的输出将出错