如何将CV2中的所有可能的颜色空间应用于单个图像并输出274个图像变化



这是我的代码,在标题上帮助我解决问题。

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图像的变化?

您的图像由CV2读取,因此其频道将像蓝绿色红色一样排列,因此您只能使用与BGR相关的mode使用cv2.cvtColor(例如:cv2.COLOR_BGR2LUV, cv2.COLOR_BGR2Lab(。

错误将以灰色模式出现(例如:cv2.COLOR_GRAY2BGR,cv2.COLOR_GRAY2BGR555(,因为灰色图像只有1个通道,并且在其他模式下输出将错误使用3个通道,例如RGB,HSV等。

最新更新