简单图像处理(简单图像处理(opencv-python入门)入门)
本文主要内容:
负片、调节图片亮度与对比度、图像裁剪、图像尺寸变换、图像旋转、图像添加噪声、图像模糊与滤波负片、调节图片亮度与对比度、图像裁剪、图像尺寸变换、图像旋转、图像添加噪声、图像模糊与滤波
所有代码已经在Spyder上编译通过的,python版本是3.7,希望能有帮助
参考书目:《Python人脸识别——从入门到工程实践》王天庆著
1.负片(相机底片)负片(相机底片)
import cv2
import numpy as np
img=cv2.imread("1.png")
cv2.imshow("lala",img)
cv2.waitKey(1000)
print(img)
height=img.shape[0] width=img.shape[1]
negative_file=np.zeros((height,width,3))
b,g,r=cv2.split(img)
r=255-r
b=255-b
g=255-g
negative_file[:,:,0]=b
negative_file[:,:,1]=g
negative_file[:,:,2]=r
cv2.imwrite("negative.jpg",negative_file)
img2=cv2.imread("negative.jpg")
cv2.imshow("fupian",img2)
cv2.waitKey(2000)
cv2.destroyAllWindows();
2.调节图片亮度与对比度调节图片亮度与对比度
import cv2
import numpy as np
def convert_img1(img,alpha,beta):
blank=np.zeros(img.shape,img.dtype)
return cv2.addWeighted(img,alpha,blank,0,beta)
def convert_img2(img,alpha,beta):
rows,cols,channel=img.shape
new_img=np.zeros(img.shape,img.dtype)
for i in range(0,rows):
for j in range(0,cols):
for k in range(0,channel):
new_img[i,j,k]=np.clip(alpha *img[i,j,k]+beta,0,255)
return new_img
img=cv2.imread('1.png')
cv2.imshow('old',img)
cv2.waitKey(1000)
cv2.imwrite('convert3.jpg',convert_img1(img,1.5,50))
img1=cv2.imread('convert3.jpg')
cv2.imshow('convert',img1)
cv2.waitKey(2000)
cv2.destroyAllWindows()