• 东北大学pillow库上机实验(第三方库练习)


    练习使用pillow库,准备自拍的校园图片,对图片进行如下操作:
    1、生成缩略图,保存成1.jpg
    2、旋转任意角度,保存成2.jpg
    3、获取图像的轮廓,保存成3.jpg
    4、增强图像的对比度为原始的30倍,保存成图片4.jpg
    建立文本文件,在以上操作的前后把图像的大小和格式保存在文本文件中,并保存当时的系统时间。
     

    1. #声明 引用pillow中的image函数库
    2. from PIL import Image
    3. #设置缩略图大小
    4. #打开图片放缩后储存
    5. size = (128,128)
    6. with Image.open('neu photo.jpg') as im:
    7. S = im.size
    8. Type = im.format
    9. im.thumbnail(size)
    10. im.save('1.jpg')
    11. #获取大小及格式
    12. Ss = im.size
    13. Types = im.format
    14. #打开图片
    15. #逆时针旋转45°
    16. #储存到2中
    17. im=Image.open('neu photo.jpg')
    18. rotate = im.rotate(45)
    19. rotate.save('2.jpg')
    20. # 获取大小及格式
    21. sr = rotate.size
    22. Tr = im.format
    23. #引入ImageFiler库
    24. from PIL import Image
    25. from PIL import ImageFilter
    26. #打开图片,勾勒轮廓并存到3中
    27. im = Image.open('neu photo.jpg')
    28. contour = im.filter(ImageFilter.CONTOUR)
    29. contour.save('3.jpg')
    30. # 获取大小及格式
    31. sc = contour.size
    32. Tc = im.format
    33. #引入ImageEnhance库
    34. from PIL import Image
    35. from PIL import ImageEnhance
    36. #打开图片将对比度调到30倍
    37. #储存至4中
    38. im = Image.open('neu photo.jpg')
    39. contrast = ImageEnhance.Contrast(im).enhance(30)
    40. contrast.save('4.jpg')
    41. # 获取大小及格式
    42. st = contrast.size
    43. Tt = im.format
    44. #创建文本并写入
    45. import datetime
    46. with open('photo.txt', 'w') as f:
    47. f.write('size:%s\n' % str(S))
    48. f.write('type:%s\n' % str(Type))
    49. f.write('缩略大小:%s\n' % str(Ss))
    50. f.write('缩略格式:%s\n' % str(Types))
    51. f.write('旋转大小:%s\n' % str(sr))
    52. f.write('旋转格式:%s\n' % str(Tr))
    53. f.write('轮廓大小:%s\n' % str(sc))
    54. f.write('轮廓格式:%s\n' % str(Tc))
    55. f.write('对比大小:%s\n' % str(st))
    56. f.write('对比格式:%s\n' % str(Tt))
    57. f.write('学号:2022xxxx\n姓名:maojian\n日期和时间:%s\n' % datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

    ps:

    使用前记得更改图片名称!!!

     

  • 相关阅读:
    C++ std::default_random_engine的使用
    RestCloud ETL社区 八月精选问答
    「SpringCloud」01 Eureka服务注册与发现
    Qt QDialog模式对话框传递数据给主窗口(主窗口->子窗口)
    kernel 定时数据机构和API
    数据结构day44
    网络安全—综合渗透测试-CVE-2018-10933-libssh漏洞分析
    一文了解蛋白功能结构域预测与分析
    k8s的“前端”——ingress
    Clion+Qt,在运行exe文件时出现黑窗口的解决方案
  • 原文地址:https://blog.csdn.net/maojian_369/article/details/133936551