python通过opencv实现批量剪切图片

yipeiwu_com7年前Python基础

上一篇文章中,我们介绍了python实现图片处理和特征提取详解,这里我们再来看看Python通过OpenCV实现批量剪切图片,具体如下。

做图像处理需要大批量的修改图片尺寸来做训练样本,为此本程序借助opencv来实现大批量的剪切图片。

import cv2
import os
def cutimage(dir,suffix):
 for root,dirs,files in os.walk(dir):
  for file in files:
   filepath = os.path.join(root, file)
   filesuffix = os.path.splitext(filepath)[1][1:]
   if filesuffix in suffix:  #遍历找到指定后缀的文件名["jpg",png]等
    image = cv2.imread(file) #opencv剪切图片  
    #cv2.imshow(file,image) 
    dim =(242,200)      #指定尺寸w*h
    resized =cv2.resize(image,dim,interpolation = cv2.INTER_AREA) #这里采用的插值法是INTER_LINEAR
    #cv2.imshow("resize:%s"%file,resized)
    cv2.imwrite("../cv/%s"%file,resized) #保存文件 
 cv2.waitKey(0)     #退出

suffix = ["jpg"]
dir = '.'
cutimage(dir,suffix)

有一些值需要自己更改,比如保存路径和保存名称。

总结

以上就是本文关于python通过opencv实现批量剪切图片的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

python图像常规操作

python基础练习之几个简单的游戏

python实现人脸识别代码

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

Python类的继承和多态代码详解

Python类的继承和多态代码详解

Python类的继承 在OOP(ObjectOrientedProgramming)程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(S...

详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别

Socket的基本背景 在讨论这两个选项的区别时,我们需要知道的是BSD实现是所有socket实现的起源。基本上其他所有的系统某种程度上都参考了BSD socket实现(或者至少是其接口...

python使用Paramiko模块实现远程文件拷贝

paramiko是用python写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输以及远...

python使用turtle绘制分形树

python使用turtle绘制分形树

由于分形树具有对称性,自相似性,所以我们可以用递归来完成绘制。只要确定开始树枝长、每层树枝的减短长度和树枝分叉的角度,我们就可以把分形树画出来啦!! 代码如下: # -*- co...

python中MySQLdb模块用法实例

本文实例讲述了python中MySQLdb模块用法。分享给大家供大家参考。具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对my...