python 之图像处理

发布时间: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()

输出结果如下:

\"python

注:标题不要用“中文”

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

从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

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

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

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

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

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

\"python

 输出文件截图:

\"python

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 

\"python

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号