任务
图像处理1:在Windows10系统下,用python,借助os、PIL、operator、matplotlib.pyplot、spicy.ndimage、pylab、numpy等库在jupyter notebook进行图像处理,完成返回图像格式、大小、模式,添加图像标题,修改图像格式,划定区域并剪切、旋转、粘贴,高斯模糊,绘制图像轮廓图、直方图,Sobel算子。
视频处理1:在Windows10系统下,用python,借助cv2、subprocess等库在jupyter notebook进行视频转图像处理,并使用ffmpeg和ffplay进行图像转视频和播放,以及电脑录屏。
目录
Ⅰ一些常识及os库的常用使用
写程序第一步先确定当前工作路径,发现不对可以更换至需要位置,但工作路径更换与文件路径无关,后续读入图片、视频等的路径宜与当前工作路径相同,而非文件路径。
import os
print(dir(os))
os.getcwd()#查看当前工作路径
os.chdir()#更换当前工作路径
os.listdir()返回指定路径下的文件和文件夹列表
os.makedirs("./p")#在当前目录下创建文件夹,名字是p
ctrl+/:注释或解注n行代码
全大写的是boject的属性(常量)
object名字太长可在导入库的末尾写上as xxx来起别名,但起了别名,原名就失效了
路径尽量保持较短,同时尽量不出现中文命名,容易报错
Ⅱ返回图像格式、大小、模式,添加图像标题,判断两图是否相同
导入所需各库,打开目标图像,返回图像格式、大小、模式,添加图像标题,并展示图像。
http://dba.cn/book/python3/ChangYongDiSanFangMoKuai/PIL.html(PIL中文使用手册)
https://pillow.readthedocs.io/en/stable/handbook/concepts.html#concept-modes(英文版)
from PIL import Image
import matplotlib.pyplot as plt
import operator
im=Image.open("hll.jpg")
print(im.format,im.size,im.mode)
plt.imshow(im)
plt.title("Image")
plt.axis("off")
plt.show()
转换色彩模式,重命名图像标题,展示图像,并比较与原图是否相同。
equal to operation比较两个值是否相同,返回bool值,即True/False
im_gray=im.convert("L")
plt.imshow(im_gray)
plt.title("Image-gray")
plt.axis("off")
plt.show()
out=operator.eq(im,im_gray)
print(out)
完整代码:
from PIL import Image
import matplotlib.pyplot as plt
import operator
im=Image.open("hll.jpg")
print(im.format,im.size,im.mode)
plt.imshow(im)
plt.title("Image")
plt.axis("off")
plt.show()
im_gray=im.convert("L")
plt.imshow(im_gray)
plt.title("Image-gray")
plt.axis("off")
plt.show()
out=operator.eq(im,im_gray)
print(out)
运行结果: