Python-OpenCV中圖像顏色空間轉換



  本文主要記錄Python-OpenCV中cv2.cvtColor()的使用;


cv2.cvtColor()

  轉換圖像的顏色空間;官方文檔

def cvtColor(src, code, dst=None, dstCn=None):
"""
轉換圖像的顏色空間
Argument:
	src: 原圖像;
	code: 指定顏色空間轉換類型;
	dst: 目標圖像;與原圖像大小深度一致;
	dstCn: 指定目標圖像通道數;默認None,則會根據src、code自動計算;
"""

使用:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# @Time    : 19-4-20 下午3:23
# @Author  : chen
"""
opencv讀取的圖像是BGR格式;
OpenCV可以指定顏色空間轉換形式,包括:
	RGB與其他顏色空間的轉換
	BGR與其他顏色空間的轉換
"""

import matplotlib.pyplot as plt
import cv2

lena_BGR = cv2.imread("./lena.png")

# show BGR lena
plt.subplot(3, 3, 1)
plt.imshow(lena_BGR)
plt.axis('off')
plt.title('lena_BGR')

# BGR to RGB
lena_RGB = cv2.cvtColor(lena_BGR, cv2.COLOR_BGR2RGB)
plt.subplot(3, 3, 2)
plt.imshow(lena_RGB)
plt.axis('off')
plt.title('lena_RGB')

# BGR to GRAY
lena_GRAY = cv2.cvtColor(lena_BGR, cv2.COLOR_BGR2GRAY)
plt.subplot(3, 3, 3)
plt.imshow(lena_GRAY)
plt.axis('off')
plt.title('lena_GRAY')

# BGR to CIE XYZ
lena_CIEXYZ = cv2.cvtColor(lena_BGR, cv2.COLOR_BGR2XYZ)
plt.subplot(3, 3, 4)
plt.imshow(lena_CIEXYZ)
plt.axis('off')
plt.title('lena_CIEXYZ')

# BGR to YCrCb
lena_YCrCb = cv2.cvtColor(lena_BGR, cv2.COLOR_BGR2YCrCb)
plt.subplot(3, 3, 5)
plt.imshow(lena_YCrCb)
plt.axis('off')
plt.title('lena_YCrCb')

# BGR to HSV
lena_HSV = cv2.cvtColor(lena_BGR, cv2.COLOR_BGR2HSV)
plt.subplot(3, 3, 6)
plt.imshow(lena_HSV)
plt.axis('off')
plt.title('lena_HSV')

# BGR to HLS
lena_HLS = cv2.cvtColor(lena_BGR, cv2.COLOR_BGR2HLS)
plt.subplot(3, 3, 7)
plt.imshow(lena_HLS)
plt.axis('off')
plt.title('lena_HLS')

# BGR to CIE L*a*b
lena_Lab = cv2.cvtColor(lena_BGR, cv2.COLOR_BGR2Lab)
plt.subplot(3, 3, 8)
plt.imshow(lena_Lab)
plt.axis('off')
plt.title('lena_Lab')

# BGR to CIE L*u*v
lena_Luv = cv2.cvtColor(lena_BGR, cv2.COLOR_BGR2Luv)
plt.subplot(3, 3, 9)
plt.imshow(lena_Luv)
plt.axis('off')
plt.title('lena_Luv')

plt.show()

1. RGB to GRAY

RGB to GRAY:

\[Y = 0.299 \cdot R + 0.587 \cdot G + 0.114\cdot B \]

GRAY to RGB:

\[R = Y, \ G=Y, \ B = Y, \ A = max(ChannelRange) \]

2. RGB to CIE XYZ

3. RGB to YCrCb JPEG

4. RGB to HSV

5. RGB to HLS

6. RGB to CIE L*a*b

7. RGB to CIE L*u*v


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM