- 灰度
- 颜色反转
- 马赛克
- 毛玻璃
- 融合
- 边缘检测
- 浮雕效果
- 颜色映射
- 油画效果
- 其它
灰度:
灰度与彩色的区别:
import cv2
img0 = cv2.imread('image0.jpg',0)
img1 = cv2.imread('image0.jpg',1)
print(img0.shape)
print(img1.shape)
运行结果:
(547, 730)
(547, 730, 3)
彩色图像:每个像素由R、G、B三个分量表示,每个通道取值范围0~255。数据类型一般为8位无符号整形。
灰度图像:每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度。
另外:
二值图像(黑白图像):每个像素点只有两种可能,0和1,0代表黑色,1代表白色。数据类型通常为1个二进制位。
索引图像:类似于查字典,为了解决彩色图像消耗空间大的问题,一般应用于色彩构成比较简单的场景。
三种方法:
method1:
import cv2
img = cv2.imread('image0.jpg',1)
dst = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow('dst',dst)
cv2.waitKey(0)
cv2.cvtColor方法
method2:
import cv2
import numpy as np
img = cv2.imread('image0.jpg',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
dst = np.zeros((height,width,3),np.uint8)
for i in range(0,height):
for j in range(0,width):
(b,r,g) = img[i,j]
gray = (int(b)+int(r)+int(g))/3
dst[i,j] = np.uint8(gray)
cv2.imshow('dst',dst)
cv2.waitKey()
rgb均值
method3:
#gray = r*0.299