Python等比例缩放图片

使用了 OpenCV 进行图片的读取
输入:利用 cv2.imread 函数读取的 Mat 矩阵
输出:缩放后的 Mat 矩阵(示例代码为缩放到 512x512 大小,也可自行设定大小)

待处理图片分为两种类型:宽 > 高(Width > Height) 或 宽 < 高(Width < Height)

若是 宽 > 高:
那么缩放后多余出来的宽度,从中间截取 512 个像素。
若是 宽 < 高:
那么缩放后宽度不够,两侧填充黑色补齐到宽为 512 个像素。

示例代码:

def imgToSize(img):''' imgToSize()# ----------------------------------------# Function:   将图像等比例缩放到 512x512 大小#             根据图像长宽不同分为两种缩放方式# Param img:  图像 Mat# Return img: 返回缩放后的图片# Example:    img = imgToSize(img)# ----------------------------------------'''# 测试点# cv2.imshow('metaImg.jpg', img)imgHeight, imgWidth = img.shape[:2]# cv.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])# src 原图像,dsize 输出图像的大小,# img = cv2.resize(img, (512,512))zoomHeight = 512zoomWidth = int(imgWidth*512/imgHeight)img = cv2.resize(img, (zoomWidth,zoomHeight))# 测试点# cv2.imshow('resizeImg', img)# 如果图片属于 Width<Height,那么宽度将达不到 512if imgWidth >= imgHeight:# 正常截取图像w1 = (zoomWidth-512)//2# 图像坐标为先 Height,后 Widthimg = img[0:512, w1:w1+512]else:# 如果宽度小于 512,那么对两侧边界填充为全黑色# 根据图像的边界的像素值,向外扩充图片,每个方向扩充50个像素,常数填充:# dst = cv2.copyMakeBorder(src, top, bottom, left, right, borderType[, dst[, value]])# dst = cv2.copyMakeBorder(img,50,50,50,50, cv2.BORDER_CONSTANT,value=[0,255,0])# 需要填充的宽度为 512-zoomWidthleft = (512-zoomWidth)//2# 避免余数取不到right = left+1img = cv2.copyMakeBorder(img, 0,0,left,right, cv2.BORDER_CONSTANT, value=[0,0,0])img = img[0:512, 0:512]# 测试点# cv2.imshow('size512', img)return img

python 等比例缩放图片 自写相关推荐

  1. python 等比例缩放图片

    在对图片缩放时,可能会使得图片产生变形,以下代码按照比例缩放图片,保持长宽比. 例如原图为: 如果resize成(224,224)则图片变为 import cv2def process_image(i ...

  2. python调整屏幕缩放比例_python实现批量按比例缩放图片效果

    本文实例为大家分享了python实现批量按比例缩放图片的具体代码,供大家参考,具体内容如下 把脚本文件放在要缩放的文件夹下面. 双击运行脚本,输入要缩放的系数.脚本会在当前目录下创建一个scaledI ...

  3. Python Opencv等比例缩放图片

    Python Opencv等比例缩放图片 前言 前提条件 相关介绍 实验环境 等比例缩放图片 代码实现 输出结果 前言 本文是个人使用Python Opencv处理图片的笔记,由于水平有限,难免出现错 ...

  4. 等比例缩放图片并填充图片为正方形(python附代码)

    等比例缩放图片并填充图片为正方形 看实现的效果 代码 看实现的效果 之前的 836x662 之后的 300x300 且图片中的塔克斯居中 代码 import os import cv2 import ...

  5. [原创] 图片操作的类(ImageLibrary)-按比例缩放图片

    [原创] 图片操作的类(ImageLibrary)-按比例缩放图片 http://www.vjsdn.com/bbs/bbsTopicDetails.aspx?pid=241 转载于:https:// ...

  6. java实现按比例缩放图片技巧

    java实现按比例缩放图片技巧 案例需求: 根据指定的文件名称,用户给定的缩放比例来完成缩放图片 思路分析: 1.文件对象File 2.BufferedImage构造器: 图像数据的访问的缓冲器 3. ...

  7. Java 等比例缩放图片

    /*** 等比率缩放* @param imgsrc 原图片路径* @param imgdist 缩放图片路径* @param widthdist 指定缩放宽度*/ public static void ...

  8. JS实现等比例缩放图片

    JS实现等比例缩放图片 有时候我们前端页面只有500×500像素的宽和高的布局,但是后台返回的数据图片是1000×1000,那么这种情况下 如果我直接返回的话 那么图片肯定有一部分没有显示出来,在这种 ...

  9. CSDN的Markdown编辑器中等比例缩放图片的方法

    方法 先直接说方法,在图片链接后面加上" =??x"或" =x??"即可,其中双引号不用写,等于号前面有个空格,??是一个具体数字,代表图片缩放后的宽度或高度 ...

最新文章

  1. 洛谷:P3950 部落冲突
  2. html表单上传图片获取路径,asp.net获取HTML表单File中的路径的方法
  3. 新华三的背景_新华三集团与飞友科技签署战略合作协议,共赢智慧机场新时代...
  4. 24行代码-Leecode 2063. 所有子字符串中的元音——Leecode周赛系列
  5. 如何到SAP官网上查询某产品的roadmap - 路线图
  6. GUI库:PyQt5
  7. Tree Context Menu
  8. Xen虚拟机加入Puppet环境如何解决时间同步问题
  9. Windows操作系统----事件日志----事件查看器
  10. Java 表格文字垂直居中_itextpdf中表格中单元格的文字水平垂直居中的设置
  11. C语言学习(3)VScode配置C语言环境(简洁易懂版)
  12. 互联网通信流程(含servlet)
  13. 纪念一下学写pipeline时脑子里的坑
  14. 在iOS应用中使用字体图标及制作字体库
  15. JavaScript - 日期型字符串增加天数(日期增加指定天数计算)
  16. 用户名不在sudoers文件中此事将被报告的解决方法
  17. 【JY】浅谈结构设计
  18. 哈工大2022年大作业——程序人生
  19. Docker网络、端口映射详解篇(三)
  20. uniapp 原生tabbar无法覆盖问题

热门文章

  1. 两个栈实现一个队列,两个队列实现一个栈
  2. BellmanFord的队列优化
  3. 注解的方式实现动态代理基于SpringAOP
  4. UIGestureRecognizer学习笔记
  5. thinkphp3.0部分总结
  6. 区别聚焦索引和非聚集索引
  7. 【转载】使用javassist动态注入代码
  8. 设计模式学习笔记(十)——Decorator装饰模式
  9. UA PHYS515A 电磁理论V 电磁波与辐射10 简单辐射问题 一根通电电线的辐射
  10. Java虚拟机字节码指令概述