发布时间:2023-05-13 15:00
1.对图像的处理
首先,对图像的处理需要提前安装第三方的PIL,可利用其对图像进行缩放、裁剪、旋转、色彩转换等一些处理工作。
举例一:设置一些图像的不同模式,open().convert(). convert中,可设置出“1”、“L”、“P”等不同模式。【“L”:8 bit像素,黑白】
from PIL import Image
import os
import matplotlib.pyplot as plt
print(os.getcwd())
os.chdir(\'C:\\\\Users\\\\读书人mn\\\\Desktop\\\\123123\')
print(os.getcwd())
im=Image.open(\'four.jpg\').convert(\'L\')
print(im.format,im.size,im.mode)
#im.show()
plt.imshow(im)
plt.title(\'wenxuan\')
plt.axis(\'off\')
plt.show()
输出结果如下:
注:标题不要用“中文”
举例二:对图像进行模糊处理
从scipy导入过滤器,im2=filters.gaussian_filter(im,20)中数字20为模糊的程度。
from scipy.ndimage import filters
import matplotlib.pyplot as plt
from pylab import *
im=array(Image.open(\'four.jpg\').convert(\'L\'))
im2=filters.gaussian_filter(im,20)
plt.figure()
plt.imshow(im)
plt.show()
plt.imshow(im2)
plt.show()
输出结果如下:
案例三:将图片信息转换成表格
from PIL import Image
import matplotlib.pyplot as plt
img=array(Image.open(\'four.jpg\').convert(\'L\'))
hist(img.flatten(),32)
plt.figure(\'Image\')
plt.imshow(img)
plt.axis(\'off\')
plt.show()
输出结果如下:
2. 利用ffmpeg的命令对视频处理——视频裁剪
首先,利用cmd中的“cd +决定路径”方式准确将cmd定位到ffmpeg所在的位置
其次,输入ffmpeg -i 视频路径 -ss 开始时间 -t 需要截取的时间 -vcodec copy -acodec copy -preset superfast 输出视频名称.mp4
输出文件截图:
3. 图像处理与人脸识别的结合应用
import cv2
import numpy as np
import pandas as pd
import os
from matplotlib import pyplot as plt
import face_recognition
img2=cv2.imread(\"图片1.jpg\")
img=cv2.imread(\"图片2.jpg\")
img2_gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
img2_face=face_recognition.face_locations(img2,number_of_times_to_upsample = 0,model =\'cnn\')
for (top,right,bottom,left) in img2_face:
#用矩形框标记出眼睛的位置 检测多尺度图像,返回值是一张脸部区域信息的列表(x,y,宽,高)
roi_gray = img2_gray[top:bottom, left:right]
roi_color= img2[top:bottom, left:right]
img2=img2[top:bottom, left:right]
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces=face_recognition.face_locations(img,number_of_times_to_upsample = 0,model =\'cnn\')
for (top,right,bottom,left) in faces:
#用矩形框标记出眼睛的位置 检测多尺度图像,返回值是一张脸部区域信息的列表(x,y,宽,高)
height,width =[bottom-top,right-left]
img2 = cv2.resize(img2,(height , width),interpolation=cv2.INTER_AREA)
roi_gray = gray[top:bottom, left:right]
roi_color = img[top:bottom, left:right]
img[top:bottom, left:right]=img2
cv2.imshow(\'img\',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出结果如下: