均匀裁剪图片(3000X3000到1000X1000)
原图尺寸:3000X3000
裁剪后的图片尺寸:1000X1000
一、运行代码命名为 cut.py
二、1.jpg 是需要进行裁剪的图片
三、Cut 文件夹保存按裁剪顺序重新命名的图片
完整代码
import cv2
import glob
import sys
import os
import numpy as np#保存切割的左上角坐标
def all_dot(w,h,new_w,new_h):if w % new_w !=0 or h % new_h != 0:print("原图无法充分裁剪")sys.exit()#退出程序dot_list=[]#保存裁剪图的左上角坐标x = int(w/new_w) #纵切y = int(h/new_h) #横切[x1,y1]=[0,0]#从原图左上角开始for k in range(int(x*y)):dot_list.append([x1,y1])x1 = x1 + new_wif (k+1) % x == 0:x1 = 0y1 = y1 + new_hprint("一共可以裁成%d张宽为%d,长为%d的图"%(len(dot_list),new_w,new_h))print(dot_list)return dot_list def plot_rectangle(img_dir,new_w,new_h,count): img = cv2.imread(img_dir,cv2.IMREAD_COLOR)#按彩色图读入w=img.shape[1]h=img.shape[0]print("原图宽为%d,高为%d"%(w,h),'\n')dots = all_dot(w,h,new_w,new_h)for i in range(len(dots)):#可以生成的图片数量x0=dots[i][0]y0=dots[i][1]x1=dots[i][0]+new_wy1=dots[i][1]+new_hcut_save_image(img,x0,y0,x1,y1, count+i)#显示裁剪框注释这一行#img表示图像,两坐标分别左上(x0,y0)、右下坐标(x1,y1),(0,0,255)为颜色,2为框粗#cv2.rectangle(img,(dots[i][0],dots[i][1]),(dots[i][0]+new_w,dots[i][1]+new_h),(0,255,255), 2)#开始裁剪注释这一行 #cut_save_image(img,x0,y0,x1,y1, count+i)cv2.imshow('tx',img)cv2.waitKey(5000)cv2.destroyAllWindows()def cut_save_image(img,x0,y0,x1,y1,k):cut_img = img[y0:y1,x0:x1]#保存裁剪后图片的路径cv2.imwrite("C:/Users/Chengguo/Desktop/Cut/%08d.jpg"%k,cut_img,[100])#[100]完整写入def main():count=0#被裁剪图片的路径imgpath='C:/Users/Chengguo/Desktop/' for jpgfile in glob.glob(imgpath+"*.jpg"):#返回所有匹配的图片路径列表print(jpgfile) plot_rectangle(jpgfile,1000,1000,count)count=count+12print("\n","一共%d张图片"%count)if __name__== '__main__':main()
均匀裁剪图片(3000X3000到1000X1000)相关推荐
- ipad html 自定义裁剪图片大小,移动端图片裁剪上传插件 Mavatar.js(原创)
插件描述:移动端头像上传,支撑头像预览和放大缩小平移,内置上传至后端请求方法. 注:请在移动端用手势查看缩放效果,PC端无法缩放 Mavatar 移动端头像上传,支撑头像预览和放大缩小平移,内置上传至 ...
- iOS实现动态区域裁剪图片
阅读 249 收藏 32 2017-11-29 原文链接:github.com 想自己动手搭建一个 Discuz 论坛?试试腾讯云上实验室吧https://cloud.tencent.com/deve ...
- Python裁剪图片(Crop an Image)
Python裁剪图片(Crop an Image) 目录 Python裁剪图片(Crop an Image) #原始图像 #图像剪裁 #处理后的图像
- pillow模块批量 读取图像、旋转、放缩、裁剪图片等操作
1_pillow模块批量 读取图像.旋转.放缩.裁剪图片等操作(20190104 文章目录 1.pillow的安装和导入 2.pillow 读取.放缩.旋转.左右翻转.上下翻转图片操作 3.pillo ...
- canva画图 图片居中裁剪_Canvas裁剪图片(截选框可拖拽)
利用Canvas实现图片裁剪 效果图 实现思路 打开图片并将图片绘制到canvas中: 利用canvas的drawImage()函数来裁剪图片: 将canvas转化为Image即可. HTML代码: ...
- poi向word插入图片_如何使用word裁剪图片图形?如何使用word修整图片?
Word中使用图片与图形的教程: 将图片添加到文档 Word支持从Internet或本地计算机插入图像.如果您能够复制图像,则可以将其粘贴到文档中.您可以使用计算机上存储的自己的图像,也可以从Inte ...
- android 使用photoshop 裁剪图片
今天,简单讲讲如何使用photoshop 剪裁图片. 之前,由于修改界面的需要,所以之前的图片不符合要求了.但是我们这边又没有美工,所以自己在网上搜索了如何使用photoshop 裁剪图片,最终是剪裁 ...
- imgareaselect 缩略图 裁剪图片
(客户端模拟裁剪图片) imgareaselect: http://odyniec.net/projects/imgareaselect/ php生成缩略图参考: http://www.php.net ...
- UIImage 裁剪图片和等比列缩放图片
本文转载至 http://blog.csdn.net/cuiweijie3/article/details/9514293 转自 http://www.tedz.me/ios/uiimage-crop ...
- 【pytorch 】torchvision.transforms.CenterCrop==>从图像中心裁剪图片
transforms.CenterCrop torchvision.transforms.CenterCrop(size) 功能:从图像中心裁剪图片 size: 所需裁剪的图片尺寸 transform ...
最新文章
- Spring+SpringMVC+MyBatis深入学习及搭建(十七)——SpringMVC拦截器
- Java IO 体系(二): inputstream与outputstream
- php 生成小程序二维码
- python简单开发接口
- Apache Drill:如何创建新功能?
- Unix——系统调用和库函数调用概念区别和联系
- oracle重建服务器,Oracle重建控制文件的实例教程
- erp系统是什么东西
- 算法导论 练习14.1-7
- 机电传动控制大作业第一阶段
- 应用栈解决迷宫问题的C语言实现
- 开博第一篇,附上我开通博客的理由
- IDEA 常用快捷键介绍
- 带你近距离了解小米这家公司
- iPhone/iPad应用使用麦克风的开启和关闭
- 教程丨一文入门图像预训练模型
- android的word默认字体大小设置,更改Microsoft Word文档的默认字体大小和样式 | MOS86...
- IC验证之UART模块
- ubuntu下各服务 重启命令
- 2023湖北大学考研分析