用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学习笔记之常用函数及说明
May 23 Python
Python中的匿名函数使用简介
Apr 27 Python
Python中的默认参数详解
Jun 24 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
Feb 05 Python
Django自定义manage命令实例代码
Feb 11 Python
Tensorflow卷积神经网络实例
May 24 Python
Python中if elif else及缩进的使用简述
May 31 Python
在Python函数中输入任意数量参数的实例
Jul 16 Python
python3 批量获取对应端口服务的实例
Jul 25 Python
Django1.11自带分页器paginator的使用方法
Oct 31 Python
Python生成个性签名图片获取GUI过程解析
Dec 16 Python
Python函数的迭代器与生成器的示例代码
Jun 18 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
图形数字验证代码
2006/10/09 PHP
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
php调用nginx的mod_zip模块打包ZIP文件
2014/06/11 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
PHP读取目录树的实现方法分析
2019/03/22 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
javascript 操作cookies详解及实例
2017/02/22 Javascript
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
angularjs自定义过滤器demo示例
2019/08/24 Javascript
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
python安装scipy的方法步骤
2019/06/26 Python
postman传递当前时间戳实例详解
2019/09/14 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
python eventlet绿化和patch原理
2020/11/21 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
基于css3实现漂亮便签样式
2013/03/18 HTML / CSS
详解HTML5中的标签
2015/06/19 HTML / CSS
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
JAVA和C++区别都有哪些
2015/03/30 面试题
求职者简历中的自我评价
2013/10/20 职场文书
卖房协议书
2014/04/11 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
投诉书格式范本
2015/07/02 职场文书
golang实现浏览器导出excel文件功能
2022/03/25 Golang