python-opencv如何读取图片及尺寸修改

 更新时间:2022年11月29日 09:40:37   作者:ithicker  
这篇文章主要介绍了python-opencv如何读取图片及尺寸修改,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

python-opencv读取图片及尺寸修改

修改图像尺寸大小

使用shape可得到图片的尺寸信息,宽度及高度和通道数,道数问题描述一个像素点,如果是灰度,那么只需要一个数值来描述它,就是单通道,如果有RGB三种颜色,就是三通道

import cv2
img=cv2.imread('1.jpg')
print(img.shape)
res=cv2.resize(img,(126,126))#修改图像尺寸
cv2.imshow('new_img',res)#显示新图像
cv2.imshow('img',img)#依旧显示原始图像,进行对比
#cv2.imwrite('new_img_path',res)
cv2.waitKey(0)
cv2.destoryAllWindows()

使用opencv进行图片批量修改尺寸

这几天接到公司设计方面的需求,需要将几十张图片统一修改为固定的尺寸(1080*1080),其实通过ps动作批处理可以完成。但是如果没有安装ps咋办嘞?或者懒得打开ps,可以考虑通过pyhton快速处理

注意事项

  • 存在图片为长方形或者正方形的情况
  • 存在图片格式的差异化

方法如下

import cv2
import os

outtype = '.png'  #   <---------- 输出的统一格式
image_size_h =0
image_size_w = 300  #  <---------- 设定长
source_path = "E:\\domo\\pic"+"\\"  #  <---------- 源文件路径
target_path = "E:\\domo\\newdomo"+"\\"  #  <---------- 输出目标文件路径
 
if not os.path.exists(target_path):
    os.makedirs(target_path)
 
image_list = os.listdir(source_path)  # 获得文件名
 
i = 0
for file in image_list:
    i = i + 1
    image_source = cv2.imread(source_path + file)  # 读取图片d
    print("处理中-->",file)
    if image_source.shape[0] == image_source.shape[1]:    #图片是正方形
        image_size_h = image_size_w
        image = cv2.resize(image_source, (image_size_w, image_size_h), 0, 0, cv2.INTER_LINEAR)  # 修改尺寸
        # cv2.imwrite(target_path + str(i) + outtype, image)  # 重命名并且保存 (统一图片格式)
        cv2.imwrite(target_path + str(file),image)  # 保留原命名
    else:   #图片是非方形
        sizenum = image_source.shape[0]/image_source.shape[1]
        image_size_h =sizenum * image_size_w 
        image = cv2.resize(image_source, (image_size_w, int(image_size_h)), 0, 0, cv2.INTER_LINEAR)  # 修改尺寸
        # cv2.imwrite(target_path + str(i) + outtype, image)  # 重命名并且保存 (统一图片格式)
        cv2.imwrite(target_path + str(file),image) # 保留原命名
print("批量处理完成")

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python 25行代码实现的RSA算法详解

    Python 25行代码实现的RSA算法详解

    这篇文章主要介绍了Python 25行代码实现的RSA算法,结合实例形式详细分析了rsa加密算法的概念、原理、相关实现技巧与注意事项,需要的朋友可以参考下
    2018-04-04
  • Pickle模块中的dump()和load()方法简介

    Pickle模块中的dump()和load()方法简介

    Pickle模块实现了基本的数据序列化与反序列化操作,通过序列化操作,我们可以将程序中运行的对象信息转化为字节流保存到文件中去,永久存储在磁盘上,这篇文章主要介绍了Pickle模块中的dump()和load()方法介绍,需要的朋友可以参考下
    2023-03-03
  • python子类如何继承父类的实例变量

    python子类如何继承父类的实例变量

    这篇文章主要介绍了python子类如何继承父类的实例变量,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • Python实现读取Linux系统的CPU以及内存占用

    Python实现读取Linux系统的CPU以及内存占用

    这篇文章主要为大家详细介绍了如何利用Python语言实现Linux系统的CPU以及内存占用,文中的示例代码讲解详细,具有一定的学习价值,需要的可以收藏一下
    2023-05-05
  • Python获取list中指定元素索引的两种方法小结

    Python获取list中指定元素索引的两种方法小结

    本文主要介绍了两种在Python中获取列表中指定元素索引的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • Python读取DataFrame的某行或某列的方法实现

    Python读取DataFrame的某行或某列的方法实现

    Dataframe是Python中一种重要的数据处理工具,它能够以表格形式存储并处理数据,本文主要介绍了Python读取DataFrame的某行或某列的方法实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • Python+Empyrical实现计算风险指标

    Python+Empyrical实现计算风险指标

    Empyrical 是一个知名的金融风险指标库。它能够用于计算年平均回报、最大回撤、Alpha值等。下面就教你如何使用 Empyrical 这个风险指标计算神器
    2022-05-05
  • 如何利用Python识别图片中的文字

    如何利用Python识别图片中的文字

    这篇文章主要给大家介绍了关于如何利用Python识别图片中文字的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-05-05
  • python数字图像处理数据类型及颜色空间转换

    python数字图像处理数据类型及颜色空间转换

    这篇文章主要为大家介绍了python数字图像处理数据类型及颜色空间转换示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 通过python封装SQLite3的示例代码

    通过python封装SQLite3的示例代码

    这篇文章主要介绍了使用 Python 封装 SQLite3 的相关内容,包括创建数据库实例、创建表、各种插入(单个、批量、字典等)、删除(按条件、按 ID 等)、修改(多种方式)、查询(单条、多条、分页等)的示例及对应的实现代码,需要的朋友可以参考下
    2024-11-11

最新评论