python实现原图裁剪为固定尺寸小图的具体代码,供大家参考,具体内容如下

讲解

1、代码效果:实现原图裁剪为固定尺寸小图

代码

import numpy as np
import pandas as pd
import os
import torch as t
import torchvision.transforms.functional as ff
from torch.utils.data import Dataset
from PIL import Image
import torchvision.transforms as transforms
import cfg


def center_crop(data, crop_size):
  data = ff.center_crop(data, crop_size)
  return data


def img_crop(img):
  higth, width = img.size
  w = 100
  id = 1
  i = 0
  while (i + w <= higth):
    j = 0
    while (j + w <= width):
      new_img = img.crop((i, j, i + w, j + w))
      rename = r""#小图存放路径
      new_img.save(rename + str(id) + ".png", quality=95)#小图保存
      id += 1
      j += 100
      print(new_img)
    i += 100


if __name__ == "__main__":
  path = r''#待处理图像
  crop_size = [500, 500]#中心裁剪为500X500图像便于后面裁剪小图
  img = Image.open(path)
  print(img)
  img = center_crop(img, crop_size)
  print(img)
  img_crop(img)

运算结果

运行前

运行过程

运行结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员的世界。

标签:python裁剪

python将原图裁剪为固定尺寸小图的更多相关文章

  1. Python数据可视化分析--豆瓣电影Top250

    Python数据分析–豆瓣电影Top250利用Python爬取豆瓣电影TOP250并进行数据分析,对于众多爬虫爱好者,应该并不陌生。很多人都会以此作为第一个练手的小项目。当然这也多亏了豆瓣的包容,没有加以太多的反爬措施,对新手比较友好。手动声明版权声明:本文为博主原创文章,创作不易本文链接:http......

  2. Python 实现自动化Excel报表

    好几个月没有写笔记了, 并非没有积累, 而是有点懒了. 想想还是要续上, 作为工作成长的一部分哦.最近有做一些报表, 但一直找不到一个合适的报表工具, 又实在不想写前端, 后端... 思来想去, 感觉 Excel 就一定程度上能做可视化的, 除了不能动态交互外, 其他都挺好. 今天分享的就是一个关于......

  3. python实现excel公式格式化的示例代码

    之前跟一些小伙伴有个讨论:大概就是很多跟数据打交道的朋友都面对过很复杂的excel公式,有时嵌套层数特别多,肉眼观看很容易蒙圈。有了这样的需求,我就有了解决问题的想法,说干就干,于是一个比较牛逼的excel公式格式化的工具就出现了。效果体验先看看效果吧:=IF(C11>100%*C4,IF(C......

  4. python实现拉格朗日插值及作图

    本文实例为大家分享了python实现拉格朗日插值及作图,供大家参考,具体内容如下python代码import numpy as npimport matplotlib.pyplot as pltX = input("x的值:").split(' ')Y = input("......

  5. python 如何用 Hypothesis 来自动化单元测试

    高质量的代码离不开单元测试,而设计单元测试的用例往往又比较耗时,而且难以想到一些极端情况,本文讲述如何使用 Hypothesis 来自动化单元测试刷过力扣算法题的同学都知道,有时候觉得代码已经很完善了,一提交才发现很多情况没有考虑到。然后感叹力扣的单元测试真的牛比。因此,高质量的代码离不开单元测试,......

  6. python 执行函数的九种方法

    方法一:直接调用函数运行这种是最简单且直观的方法def task(): print("running task")task()如果是在类中,也是如此class Task: def task(self): ......

  7. Python 3的f-Strings:增强的字符串格式语法(指南)

    最近也在一个视频网站的爬虫,项目已经完成,中间有不少需要总结的经验。从Python 3.6开始,f-Strings是格式化字符串的一种很棒的新方法。与其他格式化方式相比,它们不仅更具可读性,更简洁且不易出错,而且速度更快!Python中的“老式”字符串格式化在Python 3.6之前,你有两种主要的......

  8. python中re模块的使用(正则表达式)

    一、什么是正则表达式?正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。二、正则表达式的匹配规则1.表......

  9. Python优化机制:常量折叠

    英文:https://arpitbhayani.me/blogs/constant-folding-python作者:arprit译者:豌豆花下猫(“Python猫”公众号作者)声明:本翻译是出于交流学习的目的,基于 CC BY-NC-SA 4.0 授权协议。为便于阅读,内容略有改动。每种编程语言为......

  10. 用Python自动清理电脑内重复文件,只要10行代码(自动脚本)

    给定一个文件夹,使用Python检查给定文件夹下有无文件重复,若存在重复则删除主要涉及的知识点有:os模块综合应用glob模块综合应用利用filecmp模块比较两个文件步骤分析该程序实现的逻辑可以具化为:遍历获取给定文件夹下的所有文件,然后通过嵌套循环两两比较文件是否相同,如果相同则删除后者。实现问......

随机推荐

  1. 使用 C# 9 的records作为强类型ID - 路由和查询参数

    上一篇文章,我介绍了使用 C# 9 的record类型作为强类型id,非常简洁public record ProductId(int Value); 但是在强类型id真正可用之前,还有一些问题需要解决,比如,ASP.NET Core并不知道如何在路由参数或查询字符串参数中正确的处理它们,在这篇文章中......

  2. vue使用Split封装通用拖拽滑动分隔面板组件

    前言手动封装一个类似Iview中的Split组件,可将一片区域,分割为可以拖拽调整宽度或高度的两部分区域,最终效果如下:开始基础布局在vue工程中创建SplitPane组件,引入页面使用。<template><div class="page"><Sp......

  3. Java中获取时间戳

    Java中获取时间戳 三种方式对比**最近项目开发过程中发现了项目中获取时间戳的业务。而获取时间戳有以下三种方式,首先先声明推荐使用System类来获取时间戳,下面一起看一看三种方式。1.System.currentTimeMillis() System类中的currentTimeMillis()方......

  4. python3表格数据处理

    技术背景数据处理是一个当下非常热门的研究方向,通过对于大型实际场景中的数据进行建模,可以用于预测下一阶段可能出现的情况。比如我们有过去的2002年-2018年的黄金价格的数据:该数据来源于Gitee上的一个开源项目。其中包含有:时间、开盘价、收盘价、最高价、最低价、交易数以及成交额这么几个参数。假如......

  5. perl uc,lc,ucfirst,lcfirst大小写转换函数

    大小写字母转换:函数 uc (uppercase) 将所有的小写字母转成大写;函数 lc (lowercase) 将所有的大写字母转成小写;Perl提供了四个内置的函数类,从而能够轻松地改变字符和字的大小写。函数uc()会用大写返回其所有的参数,而lc()会用小写返回其参数。如果没有指定参数的话,u......

  6. 使用JS调用WebService接口

    <> $(document).ready(function () { var username = "admin"; var password = "123456";       /*==J......

  7. MYSQL 字符集设置(终端的字符集)

    每次利用终端 创建数据库或者创建表的时候,字符集都是latin1(不指定字符集的时候)如下:查看当前数据库的字符集character_set_client:客户端请求数据的字符集character_set_connection:客户机/服务器连接的字符集character_set_database:......

  8. .NET 5 程序高级调试-WinDbg

    上周和大家分享了.NET 5开源工作流框架elsa,程序跑起来后,想看一下后台线程的执行情况。抓了个进程Dump后,使用WinDbg调试,加载SOS调试器扩展,结果无法正常使用了:0:000> .loadby sos clrUnable to find module 'clr'这引起了个人的兴......

  9. Java异常处理场景中不同位置的返回值详细解析

    Java 异常处理中的返回值在不同位置不同场景下是有一些差别的,这里需要格外注意具体分以下两种场景:1 finally语句块没有return语句,即当代码执行到try或者catch语句块中的return语句时,相当于在本地保存了一份此时返回值的变量的值副本,然后按照try catch finally......

  10. 用python制作个音乐下载器

    前言某个夜深人静的夜晚,我打开了自己的文件夹,发现了自己写了许多似乎很无聊的代码。于是乎,一个想法油然而生:“生活已经很无聊了,不如再无聊一点叭”。说干就干,那就开一个专题,我们称之为kimol君的无聊小发明。妙…啊~~~直奔主题!本文主题是用python做一个音乐下载器(MusicLover),直......