用python脚本转换图片分辨率

在这里插入图片描述
在这里插入图片描述

一、使用说明

  1. 确定已经安装python,且版本3.6以上,可以用下面指令查看python版本:python --version

  2. 配置环境,第一次使用先配置环境,后面不需要

  3. 把要转换的图片放到"img"文件夹下

  4. 转换,结果保存在本目录下的新创建的文件夹中

二、配置环境脚本(.bat)

@echo off
chcp 65001 > nul

REM Check Python version
python -c "import sys; exit(0) if sys.version_info >= (3, 6) else exit(1)"
IF ERRORLEVEL 1 (
    echo Your Python version is lower than 3.6. Please upgrade your Python version.
    echo Upgrade instructions:
    echo 1. Visit https://www.python.org/downloads/ to download the latest version of Python.
    echo 2. During installation, make sure to check "Add Python to PATH".
    pause
    exit /b 1
)

REM Install required packages
pip install -r .\__pycache__\requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple %*

pause

三、转换源码

import os
import sys
import cv2
from datetime import datetime
from tqdm import tqdm

def resize_image(image_path, target_size):
    """Resize the image to the target size."""
    image = cv2.imread(image_path)
    resized_image = cv2.resize(image, (target_size, target_size))
    return resized_image

def process_images_in_directory(directory, target_size):
    """Resize all images in the specified directory to the target size and save them in the output directory."""
    timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
    output_directory = os.path.join(os.getcwd(), f"resized_{target_size}x{target_size}_{timestamp}")
    if not os.path.exists(output_directory):
        os.makedirs(output_directory)
    
    image_files = [f for f in os.listdir(directory) if f.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.tiff'))]
    total_images = len(image_files)
    print(f"Processing images from directory: {directory}")
    print(f"Total images to process: {total_images}")
    
    for idx, filename in enumerate(tqdm(image_files, desc="Resizing images", unit="image")):
        image_path = os.path.join(directory, filename)
        resized_image = resize_image(image_path, target_size)
        
        # Save the resized image
        resized_image_path = os.path.join(output_directory, filename)
        cv2.imwrite(resized_image_path, resized_image)
    
    print(f"Resized images are saved in {output_directory}")

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python resize_images.py <target_size>")
        sys.exit(1)
    
    try:
        target_size = int(sys.argv[1])
    except ValueError:
        print("Target size must be an integer.")
        sys.exit(1)
    
    # Get the directory of images, which is in the current directory under 'img'
    current_directory = os.getcwd()
    image_directory = os.path.join(current_directory, 'img')
    
    if not os.path.exists(image_directory):
        print(f"Image directory {image_directory} does not exist.")
        sys.exit(1)
    
    process_images_in_directory(image_directory, target_size)

三、转换脚本(.bat)

如果用python原代码运行

@echo off
python .\__pycache__\resize_images.py 512 %*
pause

如果用编译出来的.pyc文件运行

python -m compileall resize_images.py
@echo off
python .\__pycache__\resize_images.pyc 512 %*
pause

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring Security——基于MyBatis

目录 项目总结 新建一个项目 pom.xml application.properties配置文件 User实体类 UserMapper映射接口 UserService访问数据库中的用户信息 WebSecurityConfig配置类 MyAuthenticationFailureHandler登录失败后 MyAuthenticationSuccessHandlerw登录成功后 WebSecur…

c++实现二叉搜索树(中)

小吉我今天更新了&#xff0c;惊不惊喜&#xff0c;意不意外&#xff0c;更新频率非常好&#xff08;棒棒的&#xff09;。小吉计划把二叉搜索树的知识更新完&#xff08;预计在这几天更完&#xff09;&#xff0c;然后会有一段时间停更&#xff0c;因为小吉我要准备期末考试&a…

5-1RT-Thread互斥量

5-1RT-Thread互斥量 互斥量斥量的管理方式 互斥量 互斥量又称为互斥型信号量&#xff0c;是一种特殊的二值信号量。以超市的储物柜为例&#xff0c;当用户A存入物品并关闭柜门&#xff0c;则用户A就获得了此格柜子的使用权。此时其他用户无法使用此个柜子&#xff0c;只有当用户…

Idea jdk配置的地方 启动时指定切换的地方

jdk 配置的地方 项目sdk 所在位置 管理添加或删除的地方&#xff0c;增加后&#xff0c;可以在在上面切换 启动时指定版本

正点原子imx6ull 进度条颜色、logo位置上偏或色偏等问题

正点原子imx6ull 进度条改颜色 logo位置上偏或显示色偏等问题 开机进度条logo问题进度条界面全屏logo位置上偏进度条界面logo其他问题进度条界面去掉中间这条杠 uboot界面logo问题不显示uboot界面的打印信息uboot显示logo不理想uboot不显示logo 开机进度条logo问题 进度条界面…

媲美Sora,免费使用!带物理模拟的,文生视频模型

6月13日&#xff0c;知名3D建模平台Luma AI发布最新文生视频模型Dream Machine&#xff0c;向所有用户免费开放使用。 Dream Machine除了支持文本之外&#xff0c;还可使用图片作为引导来生成视频&#xff0c;其生成的视频质量、动作一致性、色彩、光影、饱和度、运镜等方面&a…

EE trade:港股开户指南及所需条件

开通港股账户是许多投资者希望参与香港股票市场的重要步骤。以下是详细的港股开户要求和条件&#xff0c;以及开户流程和注意事项。 一、港股开户的基本条件 1. 证券账户及资金要求 A股证券账户&#xff1a;个人客户申请开通港股账户&#xff0c;需要已经开通上海或深圳的A股…

【YOLOv5/v7改进系列】改进池化层为RT-DETR的AIFI

一、导言 Real-Time DEtection TRansformer&#xff08;RT-DETR&#xff09;&#xff0c;是一种实时端到端目标检测器&#xff0c;克服了Non-Maximum Suppression&#xff08;NMS&#xff09;对速度和准确性的影响。通过设计高效的混合编码器和不确定性最小化查询选择&#xf…

优思学院|如何选择六西格玛黑带的项目?

不管六西格玛的实施着重于变革式的还是渐进式的目标&#xff0c;项目都是六西格玛最核心的部分。选择和使用组织中最好的人才本身并不一定能保证达到最好的结果&#xff0c;项目的选取是领导层无可推卸的责任。选择一个项目意味着什么&#xff1f;领导团队必须将无数的问题、困…

【启明智显分享】Model系列工业级HMI芯片:开源RISC-V+RTOS实时系统,开放!高效!

前言 「Model系列」芯片是启明智显针对工业、行业以及车载产品市场推出的系列HMI芯片&#xff0c;主要应用于工业自动化、智能终端HMI、车载仪表盘、两轮车彩屏仪表、串口屏、智能中控、智能家居、充电桩显示屏、储能显示屏、工业触摸屏等领域。此系列具有高性能、低成本的特点…

Linux 基本指令3

date指令 date[选项][格式] %Y--年 %m--月 %d--日 %H--小时 %M--分 %S--秒 中间可用其他符号分割&#xff0c;不能使用空格。 -s 设置时间&#xff0c;会返回设置时间的信息并不是改变当前时间 设置全部时间年可用-或者&#xff1a;分割日期和时间用空格分隔&#xff…

【Android】实现Recyclerview的Item可以左右侧滑动的效果

项目需要 使用Recyclerview进行列表的数据加载的时候&#xff0c;需要对这个Item进行左右滑动进行操作的功能&#xff0c; 比如这样 需求实现 上面图来源于 https://github.com/anzaizai/EasySwipeMenuLayout 这是一个可以用来进行列表左滑、右滑的项目&#xff0c;可以集…

Linux开机自启/etc/init.d和/etc/rc.d/rc.local

文章目录 /etc/init.d和/etc/rc.d/rc.local的区别/etc/init.dsystemd介绍 /etc/init.d和/etc/rc.d/rc.local的区别 目的不同&#xff1a; /etc/rc.d/rc.local&#xff1a;用于在系统启动后执行用户自定义命令&#xff0c;适合简单的启动任务。 /etc/init.d&#xff1a;用于管理…

借助ChatGPT撰写学术论文,如何设定有效的角色提示词指

大家好&#xff0c;感谢关注。这个给大家提供关于论文写作方面专业的讲解&#xff0c;以及借助ChatGPT等AI工具如何有效辅助的攻略技巧。有兴趣的朋友可以添加我&#xff08;yida985&#xff09;交流学术写作或ChatGPT等AI领域相关问题&#xff0c;多多交流&#xff0c;相互成就…

msvcp140.dll安装步骤,教你解决msvcp140.dll丢失的多种靠谱解决方法

一、msvcp140.dll文件丢失或损坏的影响 1 程序启动问题 当msvcp140.dll文件丢失或损坏时&#xff0c;最直接的后果是依赖于此DLL文件的程序无法正常启动。例如&#xff0c;Adobe系列软件、Microsoft Office套件、Steam游戏平台等&#xff0c;这些软件在启动时如果检测到msvcp…

记录open62541简单有效的编译生成.c和.h文件【OPCUA开源库】

一、下载和安装CMake 虽然说可以通过下面命令安装CMake,但是安装CMake时,通常会安装来自你的操作系统的软件仓库中的版本,这个版本可能不是最新的 sudo apt-get install cmake 如果安装后发现CMake版本低于CMake 3.13是没有办法进行编译的 接下来通过编译源码来升级高版本…

【荷包支付-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞 …

14.shell awk数组

awk数组 awk数组awk数组示例Nginx日志分析 awk数组 1.什么是awk数组 数组其实也算是变量,传统的变量只能存储一个值,但数组可以存储多个值 2.awk数组应用场景 通常用来统计、比如:统计网站访问TOP10、网站url访问TOP10等等 3.awk数组统计技巧 1.在awk中,使用数组时,不仅可以…

PostgreSQL 14.2 安装教程

第一章 PostgreSQL安装 1.1 新建/opt/tools目录 mkdir -p /opt/tools 1.2 上传postgresql文件 1.3 解压postgresql文件 tar -zxvf postgresql-14.2.tar.gz 1.4 进入postgresql并配置 cd postgresql-14.2 mkdir -p /opt/app/postgresql ./configure --prefix/opt/app/postg…

“探索机器学习的多面世界:从理论到应用与未来展望“

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;机器学习 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 目录 一、机器学习基础理论 1.机器学习的定义与分类 监督学习 无监督学…