OpenCV_python3_09

Practical Python and OpenCV,3rd Edition 09


颜色空间(color spaces)

前面我们探讨了RGB颜色空间,但是还有许多其他的颜色空间我们可以利用。

Hue-Saturation-Value(色调-饱和度-值)(HSV)色彩空间更类似于人类思考和设想色彩的方式。然后是Lab颜色空间,它更适合人类感知颜色的方式。

新建一个colorspaces.py

# Construct the argument parser and parse the arguments
ap = argparse.ArgumentParser()
ap.add_argument('-i',"--image",required=True,
    help="path ot the image")
args = vars(ap.parse_args())

# Load the image and show it
image = cv2.imread(args["image"])
cv2.imshow("Original",image)

读取输入参数,显示原始图片。

# Convert the image to grayscale
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
cv2.imshow("Gray",gray)

# Convert the image to the HSV (Hue, Saturation, Value)
# color spaces
hsv = cv2.cvtColor(image,cv2.COLOR_BGR2HSV)
cv2.imshow("HSV",hsv)

lab = cv2.cvtColor(image,cv2.COLOR_BGR2LAB)
cv2.imshow("L*a*b",lab)
cv2.waitKey(0)

我们通过指定cv2.COLOR_BGR2GRAY 标志将图像从RGB颜色空间转换为灰度。通过指定cv2.COLOR_BGR2HSV标志,将图像转换为HSV颜色空间。最后,我们使用cv2.COLOR_BGR2LAB标志转换为Lab颜色空间。

显示效果:

用到的函数

cv2.cvtColor

更多的参考:

PPaO Chapter 6 – Image Processing

Basic Image Manipulations in Python and OpenCV

OpenCV and Python K-Means Color Clustering

Color Quantization with OpenCV using K-Means Clustering

Super fast color transfer between images

Ball Tracking with OpenCV

The complete guide to building an image search engine with Python and OpenCV

Skin Detection: A Step-by-Step Example using Python and OpenCV


---------------- The End ----------------
支持一下
Fork me on GitHub ;