python 3.6 +openCV3 - 1色彩空间
2018-12-04 13:07
176 查看
像素图
单通道图(灰度图)
每个像素点只有一个值表示颜色(0-255),0是黑色,255是白色。
三通道的灰度图,三个通道值一样。
三通道图
每个像素点都有三个值表示。BGR图即为三通道图。
四通道图
加上alpha的色彩空间。alpha即为不透明度。
import cv2 as cv import numpy as np def get_image_infor(image): print(type(image)) # <class 'numpy.ndarray'> # height, width, channels print(image.shape) # (494, 500, 3) print(image.size) # 741000 print(image.dtype) # uint8 pixel_data = np.array(image) print(pixel_data) # 每个像素点的值, print(image) src = cv.imread("test.png") # blue, green, red cv.namedWindow("input image", cv.WINDOW_AUTOSIZE) cv.imshow("input image", src) get_image_infor(src) cv.waitKey(0) cv.destroyAllWindows()
更改每个像素点的值(慢,用API快很多)
def access_pixels(image): print(image.shape) hei = image.shape[0] wid = image.shape[1] cha = image.shape[2] print(wid, hei, cha) for r in range(hei): for c in range(wid): for ch in range(cha): pv = image[r, c, ch] image[r, c, ch] = 255 - pv cv.imshow("pixel_demo", image)
色彩空间模型
RGB
HSV
色相(Hue)是色彩的基本属性,就是平常说的颜色的名称。
饱和度(Saturation)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取0-100%的数值。
明度(Value/Brightness),取0-max(计算机中HSV取值范围和存储的长度有关)。HSV颜色空间可以用一个圆锥空间模型来描述。圆锥的顶点处,V=0,H和S无定义,代表黑色。圆锥的顶面中心处V=max,S=0,H无定义,代表白色。
HIS
YCrCb
YUV(YCrCb)
色彩空间的转化
def color_space_demo(image): gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) cv.imshow("gray image", gray) hsv = cv.cvtColor(image, cv.COLOR_BGR2HSV) cv.imshow("HSV image", hsv) his = cv.cvtColor(image, cv.COLOR_BGR2HLS) cv.imshow("HLS image", his) ycrcb = cv.cvtColor(image, cv.COLOR_BGR2YCrCb) cv.imshow("Ycrcb image", ycrcb) yuv = cv.cvtColor(image, cv.COLOR_BGR2YUV) cv.imshow("YUV image", yuv)
相关文章推荐
- Python&OpenCV——使用不同的色彩空间表示图像
- OpenCV+python:色彩空间转换及色彩通道的分离和合并
- Python3与OpenCV3.3 图像处理(四)--色彩空间
- Python OpenCV中色彩空间的转换类型
- python OpenCV学习笔记(五):色彩空间
- OpenCV+Python——色彩空间
- opencv色彩空间转换及通道操作
- ubuntu16.04+anaconda3+python3.6下如何配置opencv3
- python3.6安装opencv
- Windows10Python3.6下安装OpenCV解决import cv2问题
- Python3.6 配置 opencv
- 【OpenCV】笔记(9)——色彩空间和颜色处理
- 【学习 OpenCV】—— 色彩空间(RGB、HSV、rgb2hsv、rgb2gray 的实现)
- python3.6配置opencv win10-64bit最快配置方案
- 色彩阀值化处理——openCV-python中inRange()等相关函数实测
- python opencv入门 颜色空间转换(9)
- python 3.6 + numpy + matplotlib + opencv + scipy 安装
- 【问题已解决】python 3.6下安装opencv-python解决cv2 DLL load failed: 找不到指定的模块问题
- anaconda4.4.0 python3.6 安装opencv3.3.0.10
- win10中Anaconda(Python3.6)配置OpenCV3.3+深度神经网络实现