个性化阅读
专注于IT技术分析

Python可视化不同颜色空间中的图像

OpenCV(开源计算机视觉)是一种计算机视觉库, 其中包含用于对图片或视频执行操作的各种功能。它最初由Intel开发, 但后来由Willow Garage维护, 现在由Itseez维护。该库是跨平台的, 可在多种编程语言(例如Python, C++等)上使用。

让我们讨论不同的图像可视化方法, 其中我们将以不同的格式表示图像, 例如灰度, RGB比例, Hot_map, 边缘图, 光谱图等。

RGB图像:

RGB图像由3个不同的通道(R(红色), G(绿色)和B(蓝色))的线性组合表示。对于单个通道, 此颜色空间中的像素强度由0到255之间的值表示。因此, 由像素表示的一种颜色的可能性数约为1600万[255 x 255 x 255]。

# Python program to read image as RGB
  
# Importing cv2 and matplotlib module
import cv2
import matplotlib.pyplot as plt
  
# reads image as RGB
img = cv2.imread( 'g4g.png' )
  
# shows the image
plt.imshow(img)

输出:

Python |可视化不同颜色空间中的图像1

灰度图像:

灰度图像仅包含单个通道。该颜色空间中的像素强度由介于0到255之间的值表示。因此, 由像素表示的一种颜色的可能性为256。

# Python program to read image as GrayScale
  
# Importing cv2 module
import cv2
  
# Reads image as gray scale
img = cv2.imread( 'g4g.png' , 0 ) 
  
# We can alternatively convert
# image by using cv2color
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  
# Shows the image
cv2.imshow( 'image' , img) 
  
cv2.waitKey( 0 )         
cv2.destroyAllWindows()

输出:

Python |可视化不同颜色空间中的图像2

YCrCb颜色空间:

Y表示亮度或亮度分量, Cb和Cr是色度分量。 Cb代表蓝色差异(蓝色成分和亮度成分的差异)。 Cr表示红色差(红色成分与亮度成分的差)。

# Python program to read image
# as YCrCb color space
  
# Import cv2 module
import cv2
  
# Reads the image
img = cv2.imread( 'g4g.png' )
  
# Convert to YCrCb color space
img = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
  
# Shows the image
cv2.imshow( 'image' , img) 
  
cv2.waitKey( 0 )         
cv2.destroyAllWindows()

输出:

Python |可视化不同颜色空间中的图像3

HSV色彩空间:

H :色相代表主波长。

S:饱和度表示颜色的阴影。

V:值代表强度。

# Python program to read image
# as HSV color space
  
# Importing cv2 module
import cv2
  
# Reads the image
img = cv2.imread( 'g4g.png' )
  
# Converts to HSV color space
img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
  
# Shows the image
cv2.imshow( 'image' , img) 
  
cv2.waitKey( 0 )         
cv2.destroyAllWindows()

输出:

Python |可视化不同颜色空间中的图像4

LAB色彩空间:

L –代表亮度。

A -颜色成分从绿色到洋红色。

B –颜色分量从蓝色到黄色。

# Python program to read image
# as LAB color space
  
# Importing cv2 module
import cv2
  
# Reads the image
img = cv2.imread( 'g4g.png' )
  
# Converts to LAB color space
img = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
  
# Shows the image
cv2.imshow( 'image' , img) 
  
cv2.waitKey( 0 )         
cv2.destroyAllWindows()

输出:

Python |可视化不同颜色空间中的图像5

图片的边缘图:

可以通过各种过滤器(如拉普拉斯算子, 索贝尔等。在这里, 我们使用拉普拉斯算子生成边缘图。

# Python program to read image
# as EdgeMap
  
# Importing cv2 module
import cv2
  
# Reads the image
img = cv2.imread( 'g4g.png' )
  
  
laplacian = cv2.Laplacian(img, cv2.CV_64F)
cv2.imshow( 'EdgeMap' , laplacian) 
  
cv2.waitKey( 0 )         
cv2.destroyAllWindows()

输出:

Python |可视化不同颜色空间中的图像6

图像的热图:

在热图表示中, 矩阵中包含的各个值表示为颜色。

# Python program to visualize 
# Heat map of image
  
# Importing matplotlib and cv2
import matplotlib.pyplot as plt
import cv2
  
# reads the image
img = cv2.imread( 'g4g.png' )
  
# plot heat map image
plt.imshow(img, cmap = 'hot' )

输出:

Python |可视化不同颜色空间中的图像7

光谱图

光谱图像图获得场景图像中每个像素的光谱。

# Python program to visualize 
# Spectral map of image
  
# Importing matplotlib and cv2
import matplotlib.pyplot as plt
import cv2
  
img = cv2.imread( 'g4g.png' )
plt.imshow(img, cmap = 'nipy_spectral' )

输出:

Python |可视化不同颜色空间中的图像8

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。


赞(0) 打赏
未经允许不得转载:srcmini » Python可视化不同颜色空间中的图像
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏