• 有时候我们需要对图片进行如加噪、放缩等变换,当数据集比较大时,遍历整个数据集所用时间太长,为此可以写一点多线程处理的代码,下面以压缩为例子:
# author: Wu
# 2022/1/24
# This script is used to jpeg compressimport os
import cv2
import numpy as np
from threading import Threadinput_folder = '/data0/wjh/coco/val2017'
output_jpg50_folder = '/data0/wjh/coco/val2017-jpg50'
output_jpg70_folder = '/data0/wjh/coco/val2017-jpg70'
num_threads = 5def jpg_compress(filelist):for file in filelist:img = cv2.imread(os.path.join(input_folder, file))new_jpg50name = os.path.join(output_jpg50_folder, file.split('.')[0]+'.jpg')new_jpg70name = os.path.join(output_jpg70_folder, file.split('.')[0]+'.jpg')cv2.imwrite(new_jpg50name, img, [int(cv2.IMWRITE_JPEG_QUALITY), 50])cv2.imwrite(new_jpg70name, img, [int(cv2.IMWRITE_JPEG_QUALITY), 70])def multi_thread_process():if num_threads == 1:jpg_compress(os.listdir(input_folder))returnfilelist_total = os.listdir(input_folder)filenum = len(filelist_total)filenum_each_thread = int(filenum/num_threads)thread_list = []for i in range(num_threads-1):thread_list.append(Thread(target=jpg_compress, args=(filelist_total[i*filenum_each_thread : (i+1)*filenum_each_thread],)))thread_list.append(Thread(target=jpg_compress, args=(filelist_total[(num_threads-1)*filenum_each_thread :],)))for th in thread_list:th.start()for th in thread_list:th.join()multi_thread_process()
  • 当图像处理的需求产生变化时,只需要修改jpg_compress函数即可

python多线程图片处理相关推荐

  1. 2021-03-10 Python多线程爬虫快速批量下载图片

    Python多线程爬虫快速批量下载图片 1.完成这个需要导入的模块 urllib,random,queue(队列),threading,time,os,json 第三方模块的安装 键盘win+R,输入 ...

  2. Python多线程下载网络URL图片的方法

    Python多线程下载网络URL图片的方法 采用多线程的方法,通过URL地址,下载资源图片 GitHub地址:https://github.com/PanJinquan/python-learning ...

  3. python多线程下载小姐姐图片

    python多线程下载小姐姐图片 闲谈 思路 实现过程 单线程实现代码功能 问题描述 多线程处理办法 完成效果 闲谈 今日闲来无事,翻看博客,看到一篇关于python自动下载图片的文章,就萌生了也写一 ...

  4. Python 多线程下载图片

    多线程下载图片 参考链接: Python标准库-urllib和urllib3 urllib实战2–urllib基础urlretrieve().urlcleanup().info().getcode() ...

  5. python爬图片_网络爬虫经验:反爬和反反爬

    我想很多人入门python是图片爬虫,就是HTTP请求,保存一下图片,用python实现非常快.网上很多爬虫的教程就讲到这里,实际上很单一,看了跟没看没什么区别,都是找一下网页的规律,然后Beauti ...

  6. python多线程爬虫实例-Python实现多线程爬虫

    编辑推荐: 本文主要介绍对Python多线程爬虫实战的整体的思路,希望对大家有帮助. 本文来知乎,由火龙果软件Alice编辑,推荐. 最近在写爬虫程序爬取亚马逊上的评论信息,因此也自学了很多爬虫相关的 ...

  7. python多线程爬虫实例-Python多线程爬虫简单示例

    python是支持多线程的,主要是通过thread和threading这两个模块来实现的.thread模块是比较底层的模块,threading模块是对thread做了一些包装的,可以更加方便的使用. ...

  8. Tensorflow yolov3 Intel Realsense D435 双摄像头下测试python多线程(假的多线程)self.predict()函数运行时间(191204)

    测试代码: # -*- coding: utf-8 -*- """ @File : test-191204-两个摄像头调用多线程识别.py @Time : 2019/12 ...

  9. python多线程执行_python多线程实现同时执行两个while循环

    如果想同时执行两个while True循环,可以使用多线程threading来实现. 完整代码 #coding=gbk from time import sleep, ctime import thr ...

最新文章

  1. Mysql 基于 Amoeba 的 读写分离(2)
  2. java中字节_java中的变量各占得字节数
  3. 备忘:phalcon的坑
  4. 使用 .NET CLI 构建项目脚手架
  5. ubuntu16.04下在TensorFlow中实现快速风格迁移
  6. 疫苗:JAVA HASHMAP的死循环
  7. Exchange 2016 体系结构
  8. rbw数字信号处理_基于FPGA的数字中频信号处理的设计与实现
  9. 禁忌搜索算法求解TSP问题-python实现
  10. 无法重命名,文件不可信,后台被自动关闭,“Notebook Untitled.ipynb is not trusted jupyter”
  11. Q1成绩:华为可穿戴设备增幅亮眼,Uber亏损10亿美元!
  12. 2020-2021年度第二届全国大学生算法设计与编程挑战赛题解(冬季赛)
  13. 两条纵坐标折线图绘制
  14. ffmpeg php 抠像_FFMPEG批量绿幕抠像BAT脚本实现
  15. 会议签到评分系统功能需求2020-5-9
  16. 一文了解 DoH(DNS-over-HTTPS)和DoT(DNS-over-TLS)
  17. Uni-App开发框架介绍
  18. Android 自定义View二(深入了解自定义属性attrs.xml)
  19. linux内存管理笔记(四十二)----内存规整
  20. 吴恩达深度学习coursework1

热门文章

  1. 证明ker f是H中的闭线性子空间(f是连续有界线性泛函)
  2. 智课雅思短语---五、 in contrast / on the contrary
  3. 宜家新型智能灯泡被指易遭黑客入侵
  4. 专项---APP安全---Android APP安全测试内容
  5. 贫穷限制的,不仅仅是想象力
  6. QT自制秒表计时器、可获取电脑时间
  7. “超女民-主”?“画饼充饥”!
  8. 风靡全球的英雄联盟手游,竟然没有国服,只能教你玩国际服了...
  9. ol-ext transform 对象,旋转、拉伸、放大(等比例缩放),事件监听
  10. 【JavaScript】DOM和事件简介和文档加载流程以及DOM查询(上)案例(附源码)