pythonpictureanalysis/Image_Capture.py

85 lines
2.0 KiB
Python
Raw Normal View History

2022-07-26 21:27:11 +08:00
# -*- coding: utf-8 -*-
# @Time : 2022-7-26 0026 15:46
# @Author : Qing
# @Email : derighoid@gmail.com
# @File : Image_Capture.py
# @Software: PyCharm
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
2022-07-27 20:41:38 +08:00
# 图片保存的地址文件夹
2022-07-26 21:27:11 +08:00
root = "E:\\桌面\\Python_Picture_Analysis\\data\\"
2022-07-27 20:41:38 +08:00
# 定义图片剪切函数
2022-07-26 21:27:11 +08:00
def imgCut(path, left, upper, right, lower):
"""
:param path: 图片路径
:param left:与左边界的距离
:param upper:与上边界的距离
:param right:与有边界的距离
:param lower:与底部边界的距离
:return:
"""
2022-07-27 20:41:38 +08:00
# 获取图片
2022-07-26 21:27:11 +08:00
img = Image.open(path)
2022-07-27 20:41:38 +08:00
# print(img.size) Picture Size
part = (left, upper, right, lower) # 设置剪切的大小
2022-07-26 21:27:11 +08:00
2022-07-27 20:41:38 +08:00
# 剪切函数的调用
2022-07-26 21:27:11 +08:00
cut_img = img.crop(part)
2022-07-27 20:41:38 +08:00
# 展示图片
# 展示原图
2022-07-26 21:27:11 +08:00
plt.figure("image Cut")
plt.subplot(121)
plt.title("origin")
plt.imshow(img)
2022-07-27 20:41:38 +08:00
# 展示剪切后的图片
2022-07-26 21:27:11 +08:00
plt.subplot(122)
plt.title("CUT part")
plt.imshow(cut_img)
plt.show()
2022-07-27 20:41:38 +08:00
# 图片保存
2022-07-26 21:27:11 +08:00
Image.fromarray(np.uint8(cut_img)).save(root + "picture11.jpg")
return cut_img
2022-07-27 20:41:38 +08:00
#定义图片部分替换函数
2022-07-26 21:27:11 +08:00
def imgReplace(path1, path2, left2, upper2, right2, lower2):
"""
:param path1: 被替换图片的路径
:param path2: 替换的图片路径
:param left2, upper2, right2, lower2:替换图片的大小
:return:
"""
2022-07-27 20:41:38 +08:00
#图片的获取
img1 = Image.open(path1) # 被替换图
img2 = Image.open(path2) #替换图
2022-07-26 21:27:11 +08:00
part2 = (left2, upper2, right2, lower2)
cut_img2 = img2.crop(part2)
2022-07-27 20:41:38 +08:00
#调用替换函数
2022-07-26 21:27:11 +08:00
img1.paste(cut_img2, (10, 50, 250, 250))
2022-07-27 20:41:38 +08:00
#定义画布
2022-07-26 21:27:11 +08:00
plt.figure("picture replace")
plt.subplot(121)
plt.imshow(img2)
2022-07-27 20:41:38 +08:00
plt.title("Origin") # 展示原图
2022-07-26 21:27:11 +08:00
plt.subplot(122)
plt.imshow(img1)
2022-07-27 20:41:38 +08:00
plt.title("replaced picture") #展示替换后的图
2022-07-26 21:27:11 +08:00
plt.show()
2022-07-27 20:41:38 +08:00
# 保存 替换后的图片
2022-07-26 21:27:11 +08:00
Image.fromarray(np.uint8(img1)).save(root + 'picture12.jpg')
return img1