python 之图像处理

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

输出结果如下:

python 之图像处理_第1张图片

注:标题不要用“中文”

举例二:对图像进行模糊处理

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

输出结果如下:

python 之图像处理_第2张图片

 案例三:将图片信息转换成表格

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

输出结果如下:

python 之图像处理_第3张图片

 2. 利用ffmpeg的命令对视频处理——视频裁剪

首先,利用cmd中的“cd +决定路径”方式准确将cmd定位到ffmpeg所在的位置

其次,输入ffmpeg -i 视频路径 -ss 开始时间 -t 需要截取的时间 -vcodec copy -acodec copy -preset superfast 输出视频名称.mp4

python 之图像处理_第4张图片

 输出文件截图:

python 之图像处理_第5张图片

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

输出结果如下:

python 之图像处理_第6张图片 

python 之图像处理_第7张图片

你可能感兴趣的:(python,pycharm,pytorch)