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("批量处理完成")

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

相关文章

  • Python3和pyqt5实现控件数据动态显示方式

    Python3和pyqt5实现控件数据动态显示方式

    今天小编就为大家分享一篇Python3和pyqt5实现控件数据动态显示方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python利用柯里化实现提高代码质量

    Python利用柯里化实现提高代码质量

    柯里化(Currying)是函数式编程中的一个重要概念,它可以将一个多参数函数转化为一系列单参数函数的组合,本文将详细解释什么是柯里化,如何在Python中实现柯里化,感兴趣的可以了解下
    2024-01-01
  • Python中的pprint折腾记

    Python中的pprint折腾记

    这篇文章主要介绍了Python中的pprint折腾记,本文着重讲解pprint的使用,并给出使用实例,需要的朋友可以参考下
    2015-01-01
  • Python爬取网易云音乐上评论火爆的歌曲

    Python爬取网易云音乐上评论火爆的歌曲

    最近跟着网上教程学着用python爬取问题,于是就想试着扒一扒Python爬取网易云音乐上评论火爆的歌曲,下面这篇文章就主要介绍了利用Python如何爬取网易云音乐上那些评论火爆的歌曲,需要的朋友可以参考借鉴,一起来看看吧。
    2017-01-01
  • Pytorch如何打印与Keras的model.summary()类似的输出(最新推荐)

    Pytorch如何打印与Keras的model.summary()类似的输出(最新推荐)

    这篇文章主要介绍了Pytorch如何打印与Keras的model.summary()类似的输出,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • 4种方法教你利用Python发现数据的规律

    4种方法教你利用Python发现数据的规律

    发现数据的规律是数据分析和数据科学中非常重要的一个步骤。这篇文章主要给大家整理了4个可以发现数据规律的方法,希望对大家有所帮助
    2023-03-03
  • Python安装与卸载流程详细步骤(图解)

    Python安装与卸载流程详细步骤(图解)

    这篇文章主要介绍了Python环境的安装与卸载流程,本文分步骤通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 用python做一个搜索引擎(Pylucene)的实例代码

    用python做一个搜索引擎(Pylucene)的实例代码

    下面小编就为大家带来一篇用python做一个搜索引擎(Pylucene)的实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • pandas创建DataFrame对象失败的解决方法

    pandas创建DataFrame对象失败的解决方法

    本文主要介绍了pandas创建DataFrame对象失败的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 用Python爬取2022春节档电影信息

    用Python爬取2022春节档电影信息

    大家好,本篇文章主要讲的是用Python爬取2022春节档电影信息,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01

最新评论