【python读取含有url图片链接的txt文档-3】

如果你需要一个更复杂的解决方案来进行图像数据增强,那么你可以考虑使用imgaug(Image Augmentation)库。imgaug是一个强大且灵活的图像增强库,它提供了大量的预定义增强方法,并且允许你自定义自己的增强策略。

以下是一个使用imgaug进行图像数据增强的Python代码示例:

import os
import requests
from PIL import Image
import imgaug as ia
from imgaug import augmenters as iaa# 下载图像的函数
def download_image(url, save_path):response = requests.get(url, stream=True)if response.status_code == 200:with open(save_path, 'wb') as f:for chunk in response:f.write(chunk)else:print(f"Failed to download image from {url}")# 定义数据增强序列
def create_augmentation_seq():seq = iaa.Sequential([iaa.Fliplr(0.5),  # 水平翻转,50%的概率iaa.Flipud(0.5),  # 垂直翻转,50%的概率iaa.Affine(rotate=(-20, 20),  # 随机旋转,范围在-20到20度之间scale=(0.8, 1.2),  # 随机缩放,范围在0.8到1.2倍之间translate_percent={"x": (-0.1, 0.1), "y": (-0.1, 0.1)},  # 随机平移,范围在-10%到10%之间mode="constant",  # 使用常数填充新的像素cval=(0, 255)    # 填充像素的值范围),iaa.AdditiveGaussianNoise(loc=0, scale=(0.0, 0.05*255), per_channel=0.5),  # 添加高斯噪声iaa.ContrastNormalization((0.7, 1.3)),  # 对比度归一化], random_order=True)  # 每次应用增强时的顺序是随机的return seq# 主程序
def main():# 读取face.txt文件中的URLwith open('face.txt', 'r') as f:urls = f.read().splitlines()# 下载图像的目录download_dir = 'downloaded_images'# 增强后图像的目录augmented_dir = 'augmented_images'# 创建目录if not os.path.exists(download_dir):os.makedirs(download_dir)if not os.path.exists(augmented_dir):os.makedirs(augmented_dir)# 创建数据增强序列seq = create_augmentation_seq()# 下载并增强图像for idx, url in enumerate(urls):image_path = os.path.join(download_dir, f"face_{idx}.jpg")download_image(url, image_path)# 读取图像image = Image.open(image_path)# 将PIL图像转换为numpy数组image_array = np.array(image)# 应用数据增强augmented_images = seq(images=[image_array])# 保存增强后的图像for i, aug_image in enumerate(augmented_images):aug_image_path = os.path.join(augmented_dir, f"face_{idx}_aug_{i}.jpg")Image.fromarray(aug_image).save(aug_image_path)print("数据增强完成,增强后的图像已保存在", augmented_dir)# 运行主程序
if __name__ == "__main__":main()

这个脚本首先定义了一个download_image函数来下载图像,并定义了一个create_augmentation_seq函数来创建一个包含多种增强方法的序列。然后,主程序main读取URL列表,下载图像,并使用定义的增强序列对每个图像进行增强。增强后的图像被保存在一个单独的目录中。

请注意,这个脚本假设所有的URL都指向JPEG格式的图像,并且所有的图像都可以被正确下载。在实际应用中,你可能需要添加额外的错误处理和验证逻辑。此外,这个脚本使用的是随机增强,每次运行时都会得到不同的增强结果。

最后,确保你已经安装了imgaug库和它的依赖项。你可以使用pip来安装它:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/801430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式之命令模式讲解

概念:命令模式(Command Pattern)又称行动(Action)模式或交易(Transaction)模式。将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请…

数据结构:冒泡排序,快速排序,插入排序

冒泡排序,每次只排一个,像鱼吐泡泡一样,从数组最后开始两两交换,一次只找到一个当前最小的,放到第一个,第二个...位置. T(n)O(n的平方),有序O(n) S(n)O(1) #i…

使用 Spring Boot 和 Maven 引入本地 Jar 包

背景 在 Java 开发中,有时候我们需要引入本地的 Jar 包到项目中,以满足特定的功能需求。本文将以引入 id 生成器为例,介绍如何在 Spring Boot 项目中使用 Maven 管理本地 Jar 包。 准备工作 创建 libs 目录: 在项目根目录下创建…

Flink KafkaSource 启用动态分区检查

Flink KafkaSource 启用动态分区检查 在不同版本的Flink中&#xff0c;动态分区检查&#xff08;Dynamic Partitions Check&#xff09;启用方式可能会有一些变化。以下是不同版本变化的情况总结&#xff1a; 1. Flink版本< 1.11 分区发现 Flink Kafka Consumer 支持发现动…

spring eureka 服务实例实现快速下线快速感知快速刷新配置解析

背景 默认的Spring Eureka服务器&#xff0c;服务提供者和服务调用者配置不够灵敏&#xff0c;总是服务提供者在停掉很久之后&#xff0c;服务调用者很长时间并没有感知到变化。或者是服务已经注册上去了&#xff0c;但是服务调用方很长时间还是调用不到&#xff0c;发现不了这…

pandas,polars,pyspark的df对象常见用法对比

案例背景 最近上班需要处理的都是百万&#xff0c;千万级的数据&#xff0c;pandas的性能已经不够看了&#xff08;虽然它在处理数据上是真的很好用&#xff09;&#xff0c;公司都是用的polar和pyspark&#xff0c;我最近也学习了一些&#xff0c;然后写篇文章对比一下他们的…

java中word转为pdf

背景&#xff1a;由于前端vue无法实现复杂的word可视化插件&#xff0c;希望后端做个能将复杂word转为pdf的方案。&#xff08;这里我最终使用的是documents4j&#xff09; java中word转为pdf 经过gpt、网上搜索、以及多方面的考量有以下几种方案。 1.poi原生的转换&#xff…

2024年150道高频Java面试题(二十一)

41. ArrayList 和 LinkedList 的区别是什么&#xff1f; ArrayList 和 LinkedList 都是 Java 中常用的 List 接口的实现&#xff0c;用于存储一系列动态的元素集合。它们之间的主要区别在于数据结构、性能特性、和适用场景。 数据结构&#xff1a; ArrayList 使用动态数组来实…

达梦使用disql登录数据库显示“未连接”

基础环境 操作系统&#xff1a;Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本&#xff1a;DM Database Server 64 V8 架构&#xff1a;单实例问题&#xff1a;达梦数据库在使用disql登录时&#xff0c;显示“未连接”。 指定了IP和端口号还是连接异常。 […

CentOS如何做端口映射?

在今天的技术发展中&#xff0c;越来越多的应用需要跨越网络进行远程管理和控制。为了实现这一目标&#xff0c;端口映射技术被广泛应用于各个领域。其中&#xff0c;【天联】作为一种性能稳定、安全可靠的端口映射工具&#xff0c;在各种应用场景中得到了广泛的应用和认可。 结…

python+django+flask+vue贫困地区儿童资助网站22pk7

Python 中存在众多的 Web 开发框架&#xff1a;Flask、Django、Tornado、Webpy、Web2py、Bottle、Pyramid、Zope2 等。近几年较为流行的&#xff0c;大概也就是 Flask 和 Django 了 一开始&#xff0c;本文就对系统内谈到的基本知识&#xff0c;从整体上进行了描述&#xff0c…

无法从 tensorflow.comptensorflow.compat.v2.experimental 中导入 dtensor

解决办法1&#xff1a; 对tensorflow2的版本做升或降的调整 解决办法2&#xff1a; 查看tensorflow2的版本与keras的版本是否相匹配 该项目下载的tensorflow2.6.0&#xff0c;连带安装版本为2.15.0的keras 需要更改keras的版本来解决报错&#xff1a; pip install keras2.6.0…

SEO优化艺术:精细化技巧揭示与搜索引擎推广全面战略解读

SEO&#xff08;搜索引擎优化&#xff0c;Search Engine Optimization&#xff09;是一种网络营销策略&#xff0c;旨在通过改进网站内外的各项元素&#xff0c;提升网站在搜索引擎自然搜索结果中的排名&#xff0c;从而吸引更多目标用户访问网站&#xff0c;增加流量&#xff…

面试算法-154-搜索二维矩阵 II

题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,…

SQL注入---HTTP报头注入

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前文中提到万能密钥的工作原理&#xff0c;然而万能密钥仅在源代码中没有代码审计&#xff0c;此时才被称之为万能密钥&#xff0c;而代码中有代码审计时需要分以下几种情况讨论 一.uagent注入 …

鸿蒙ArkUI声明式学习:【UI资源管理】

OpenHarmony 应用的资源分类和资源的访问以及应用开发使用的像素单位以及各单位之间相互转换的方法。 资源分类 移动端应用开发常用到的资源比如图片&#xff0c;音视频&#xff0c;字符串等都有固定的存放目录&#xff0c;OpenHarmony 把这些应用的资源文件统一放在 resourc…

python+django教师业绩考评考核评分系统flask

在设计过程中&#xff0c;将参照一下国内外的一些同类网站&#xff0c;借鉴下他们的一些布局框架&#xff0c;将课题要求的基本功能合理地组织起来&#xff0c;形成友好、高效的交互过程。开发的具体步骤为&#xff1a;   第一步&#xff0c;进行系统的可行性分析&#xff0c…

我对神经网络的一点理解

为什么会写这点心得&#xff1f; 因为算起来&#xff0c;学习和接触深度学习已经4年多了&#xff0c;这期间更多是应用层面&#xff0c;调包侠&#xff0c;调参侠&#xff0c;在基础概念层面尤其是数据推理过程&#xff0c;都是浅尝辄止&#xff0c;这些课必须陆续补上&#x…

宝塔面板php7.37.4版本不支持ZipArchive手工安装扩展方法

宝塔面板安装的PHP7.3和7.4默认已经不带zip扩展&#xff0c;要手工安装zip扩展首先需要安装libzip&#xff0c;方法如下&#xff1a; 宝塔面板php7.3版本在SSH命令行界面执行以下语句&#xff1a; cd /www/server/php/73/src/ext/zip/ /www/server/php/73/bin/phpize ./config…

java实现TCP交互

服务器端 import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.PriorityQueue; import java.util.Scanner;public class TCP_Serv…