用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)


Posted in Python onJune 04, 2020

我就废话不多说了,大家还是直接看代码吧!

import PIL.Image
import numpy
import os
import shutil
def sum_right(path):
 img = PIL.Image.open(path)
 array = numpy.array(img)
 num = array.sum(axis=0)
 print(type(num))
 res_left = 0
 res_right = 0
 for i in range(256,512):
  res_right += num[i]
 print(res_right)

if __name__ == '__main__':
 dir2 = r"C:\Users\Howsome\Desktop\tst"
 dir1 = r"C:\Users\Howsome\Desktop\AB"
 names = os.listdir(dir1)
 n = len(names)
 print("文件数量",n)
 res = 0
 average_5 = 25565356
 average_25 = 26409377
 average_5_right = 10006019
 #average_tmp = (average_25+average_5)//2
 count = 0
 #show(os.path.join(dir1, "uni4F6C.png"))
 for i in range(n):
  #取图片
  img = PIL.Image.open(os.path.join(dir1,names[i]))
  file = os.path.join(dir1,names[i])
  rmfile = os.path.join(dir2,names[i])
  array = numpy.array(img)
  num = array.sum(axis=0)
  res_right = 0
  for i in range(256, 512):
   res_right += num[i]
  average_5_right += res_right/n

  if res_right > average_5_right:
    shutil.copyfile(file, rmfile)
    os.remove(file)
    count += 1
 print(average_5_right)
 print(count)

补充知识:python遍历灰度图像像素方法总结

啥也不说了,看代码吧!

import numpy as np
import matplotlib.pyplot as plt
import cv2
import time

img = cv2.imread('lena.jpg',0)

# 以遍历每个像素取反为例

# 方法1
t1 = time.time()
img1 = np.copy(img)
rows,cols = img1.shape[:2]
for row in range(rows):
 for col in range(cols):
  img[row,col] = 255 - img[row,col]
t2 = time.time()
print('方法1所需时间:',t2-t1)

# 方法2
t3 = time.time()
img2 = np.copy(img)
rows,cols = img2.shape[:2]
img2 = img2.reshape(rows*cols)
# print(img2)
for i in range(rows*cols):
 img2[i] = 255-img2[i]
img2 = img2.reshape(rows,cols)
# print(img2)
t4 = time.time()
print('方法2所需时间:',t4-t3)

# 方法3
t5 = time.time()
img3 = np.copy(img)
# 使用多维迭代生成器
for (x,y), pixel in np.ndenumerate(img3):
 img3[x,y] = 255-pixel
t6 = time.time()
print('方法3所需时间:',t6-t5)

测试结果:

方法1所需时间: 0.14431977272033691
方法2所需时间: 0.13863205909729004
方法3所需时间: 0.24196243286132812

以上这篇用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python标准库内置函数complex介绍
Nov 25 Python
Python中的map()函数和reduce()函数的用法
Apr 27 Python
Python中字典和集合学习小结
Jul 07 Python
python实现决策树
Dec 21 Python
对python中的os.getpid()和os.fork()函数详解
Aug 08 Python
Python 如何提高元组的可读性
Aug 26 Python
基于Django统计博客文章阅读量
Oct 29 Python
python+Django+pycharm+mysql 搭建首个web项目详解
Nov 29 Python
浅谈Python的方法解析顺序(MRO)
Mar 05 Python
Python读写压缩文件的方法
Jul 30 Python
Python连接mysql数据库及简单增删改查操作示例代码
Aug 03 Python
Python日志器使用方法及原理解析
Sep 27 Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 #Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 #Python
完美解决ARIMA模型中plot_acf画不出图的问题
Jun 04 #Python
Python使用Matlab命令过程解析
Jun 04 #Python
Python flask框架端口失效解决方案
Jun 04 #Python
Python实现列表中非负数保留,负数转化为指定的数值方式
Jun 04 #Python
Python新手学习装饰器
Jun 04 #Python
You might like
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
2014/06/19 PHP
thinkPHP中session()方法用法详解
2016/12/08 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
风吟的小型JavaScirpt库 (FY.JS).
2010/03/09 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
js将字符串转成正则表达式的实现方法
2013/11/13 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
2017/11/15 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
建筑个人求职信范文
2014/01/25 职场文书
高中生期末评语
2014/01/28 职场文书
旷课检讨书3000字
2014/02/04 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
预备党员表决心的话
2015/09/22 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书