首页 > 其他分享 >使用OpenCV来实现读取一个目录下的所有图像,然后将它们调整大小为1920x1080像素,并保存

使用OpenCV来实现读取一个目录下的所有图像,然后将它们调整大小为1920x1080像素,并保存

时间:2024-04-15 11:44:39浏览次数:33  
标签:target source resized 像素 OpenCV dir directory path 1920x1080

使用OpenCV来实现读取一个目录下的所有图像,然后将它们调整大小为1920x1080像素,并保存的步骤如下:

  1. 安装OpenCV库:如果你还没有安装OpenCV库,可以通过pip安装:

    pip install opencv-python
    
  2. 编写Python脚本

    import os
    import cv2
    
    def resize_images_in_directory(source_dir, target_dir, size=(1920, 1080)):
        """
        Resize images in the specified directory to the given size and save them to the target directory.
    
        :param source_dir: Directory to find original images.
        :param target_dir: Directory to save resized images.
        :param size: Desired image size.
        """
        # 创建目标目录如果它不存在
        if not os.path.exists(target_dir):
            os.makedirs(target_dir)
    
        # 遍历源目录中的所有文件
        for filename in os.listdir(source_dir):
            if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):
                # 构建完整的文件路径
                original_path = os.path.join(source_dir, filename)
                resized_path = os.path.join(target_dir, filename)
    
                # 读取图像
                img = cv2.imread(original_path)
    
                # 调整图像大小
                resized_img = cv2.resize(img, size, interpolation=cv2.INTER_AREA)
    
                # 保存调整大小后的图像
                cv2.imwrite(resized_path, resized_img)
                print(f'Resized and saved {filename} to {resized_path}')
    
    # 使用示例
    source_directory = 'path/to/your/source/directory'
    target_directory = 'path/to/your/target/directory'
    resize_images_in_directory(source_directory, target_directory)
    

    这个脚本会读取指定源目录(source_directory)中的所有图像文件,调整它们的大小到1920x1080像素,然后保存到指定的目标目录(target_directory)。请根据你的需求修改source_directorytarget_directory路径。

  3. 运行脚本:确保源目录中有图像文件,然后运行这个脚本。

这个方法使用了OpenCV库来读取和处理图像,效率较高,并且可以处理指定目录下的所有支持的图像格式。

标签:target,source,resized,像素,OpenCV,dir,directory,path,1920x1080
From: https://www.cnblogs.com/odesey/p/18135613

相关文章

  • 像素画——色彩基础
    目录色调(Hue)饱和度(Saturation)亮度(Value)alpha通道,取值(0-255)色温色彩设计例子1,色调(Hue)是用来描述颜色本身。红,黄,蓝HSV颜色模型从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°////2.饱和度(Saturation)饱和度的取值是0%-100%,饱和度越高......
  • 像素画——绘制基础步骤
    步骤线条轮廓色彩明暗关系抗锯齿(AA)减噪成果1.线条轮廓要先画出物体的轮廓,我们再进行颜色的区分,(色块)若是想将物品画的比较的直的话。要把。斜边的的顶点部分点上。反之亦然:比如正方形,去掉最周边的顶点,会显得他比较的圆润。2.颜色选择是处于递进关系。请新手我们合理......
  • 像素画——明暗基础
    目录体积阴影(VolumeShadow)明暗交界线(Terminator)投射阴影反射高光(Reflection)高光(Highlight)边缘光(RimLight)漫反射光(BounceLight)成果1.体积阴影(VolumeShadow)最常见的阴影,是自投射的软阴影,由于光被物体自身阻挡而产生2.明暗交界线(Terminator)......
  • OpenCV与AI深度学习 | 实战 | 使用OpenCV确定对象的方向(附源码)
    本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。原文链接:实战|使用OpenCV确定对象的方向(附源码)导读本文将介绍如何使用OpenCV确定对象的方向(即旋转角度,以度为单位)。 1先决条件   安装Python3.7或者更高版本。可以参考下文链接:    ......
  • 结合 tensorflow.js 、opencv.js 与 Ant Design 创建美观且高性能的人脸动捕组件并发
    系列文章目录如何在前端项目中使用opencv.js|opencv.js入门如何使用tensorflow.js实现面部特征点检测tensorflow.js如何从public路径加载人脸特征点检测模型tensorflow.js如何使用opencv.js通过面部特征点估算脸部姿态并绘制示意图tensorflow.js使用opencv.js将人......
  • python调用opencv提示“Rebuild the library with Windows, GTK+ 2.x or Cocoa suppor
    windows下python调用opencv,提示以下问题:cv2.error:OpenCV(4.9.0)D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:1272:error:(-2:Unspecified error)Thefunctionisnotimplemented.RebuildthelibrarywithWindows,GTK+2.xorCocoa......
  • Python - opencv-python 获取视频尺寸
    参考地址:https://geek-docs.com/python/python-ask-answer/683_python_get_video_dimension_in_pythonopencv.htmlhttps://blog.csdn.net/m0_61787307/article/details/129654826 1.安装(试了三台服务器,有一台服务器安装过程会很慢,卡在一个地方一直不动,目前不清楚是......
  • Qt加Opencv实现 梯度矫正 功能
    废话:有时候我们是从物品的斜上方拍摄的图片,看起来不直观,需要把视角拉正,这样的一个操作就叫做梯度矫正,需要用到的技术是Opencv的透视变换。这个只是一个简单的演示demo,如果完善一下,比如物品检测,可以应用更多的场景,比如常见的:文件、资料上传,软管摄像头的应用等,怎么说也是一个......
  • tensorflow.js 如何使用opencv.js通过面部特征点估算脸部姿态并绘制示意图
    文章目录前言一、实现步骤1.获取所需特征点的索引2.使用opencv.js计算俯仰角、水平角和翻滚角cv.solvePnP介绍cv.solvePnP原理运行代码查看效果3.绘制姿态示意直线添加canvas元素计算姿态直线坐标并绘制总结前言在计算机视觉领域,估算脸部姿态是一项具有挑战性......
  • opencv基础操作:读取图片时使用灰度方式、转换颜色空间、使用opencv展示图片、使用open
    包含的操作有:读取图片时使用灰度方式转换颜色空间使用opencv展示图片使用opencv对BGR通道进行划分并展示,需要注意的是直接使用cv2.split()得到的B,G,R分别是单通道的,因此最终展示出来为灰度图像。    如果想保留彩色图像,可以直接对img切片来实现。使用opencv在一个窗口......