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()

 

posted @ 2022-08-13 22:16  程序员小艺  阅读(65)  评论(0)    收藏  举报