python opencv图像处理笔记
1、改变图片颜色
import cv2 image = cv2.imread("red.jpg") #image[:, :, ::-1] #[:, :, :]分别代表b,g,r(蓝绿红),:-1代表颜色值反转(红变蓝) #最后一堆,表示颜色,蓝0,绿1,2红 cv2.imshow('image', image[:, :, ::-1]) #cv2.imshow('image', image[:, :, [0, 1, 2]]) cv2.waitKey()
2、图片转灰度
import cv2 image = cv2.imread("red.jpg") gray = cv2.cvtColor(image, code=cv2.COLOR_BGR2GRAY) cv2.imshow('image', gray ) cv2.waitKey()
3、图片转HSV
import cv2 image = cv2.imread("red.jpg") # gray = cv2.cvtColor(image, code=cv2.COLOR_BGR2GRAY) hsv = cv2.cvtColor(image, code=cv2.COLOR_BGR2HSV) cv2.imshow('image', hsv) cv2.waitKey()
4、标记颜色范围
import cv2 import numpy as np image = cv2.imread("f.png") # gray = cv2.cvtColor(image, code=cv2.COLOR_BGR2GRAY) hsv = cv2.cvtColor(image, code=cv2.COLOR_BGR2HSV) lower_blue = np.array([110, 50, 50]) #浅蓝色 upper_blue = np.array([130, 255, 255]) #深蓝色 #标记颜色在浅蓝色和深蓝色之间的范围 mask = cv2.inRange(hsv, lower_blue, upper_blue) cv2.imshow('image', mask) cv2.waitKey()
5、标记选择的颜色范围
import cv2 import numpy as np image = cv2.imread("f.png") # gray = cv2.cvtColor(image, code=cv2.COLOR_BGR2GRAY) hsv = cv2.cvtColor(image, code=cv2.COLOR_BGR2HSV) lower_blue = np.array([110, 50, 50]) upper_blue = np.array([130, 255, 255]) mask = cv2.inRange(hsv, lower_blue, upper_blue) #标记选择的颜色范围 res = cv2.bitwise_and(image, image, mask=mask) cv2.imshow('image', res) cv2.waitKey()
6、图片马赛克
方法一
import cv2 # 方法一 image = cv2.imread("3.jpg") # 查看图片尺寸 # print(image.shape) # 443,600 image2 = cv2.resize(image, (44, 60)) image3 = cv2.resize(image2, (440, 600)) cv2.imshow('image', image3) cv2.waitKey()
方法二
import cv2 import numpy as np # 方法二 image = cv2.imread("3.jpg") # 查看图片尺寸 # print(image.shape) # 443,600 image2 = cv2.resize(image, (44, 60)) image3 = np.repeat(image2, 10, axis=0) image4 = np.repeat(image3, 10, axis=1) cv2.imshow('image', image4) cv2.waitKey()
方法三
import cv2 # 方法二 image = cv2.imread("3.jpg") # 查看图片尺寸 # print(image.shape) # 443,600 image2 = image[::10, ::10] cv2.namedWindow('image', flags=cv2.WINDOW_NORMAL) cv2.resizeWindow('image', 443, 600) cv2.imshow('image', image2) cv2.waitKey()
7、图片特定区域马赛克(如人脸部分)
import cv2 import numpy as np image = cv2.imread("bao.jpg") face = image[66:215, 244:350] face = face[::7, ::7] face = np.repeat(face, 7, axis=0) face = np.repeat(face, 7, axis=1) image[66:215, 244:350] = face[:149, :106] cv2.imshow('image', image) cv2.waitKey()

浙公网安备 33010602011771号