python 等比例缩放图片 自写
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 等比例缩放图片 自写相关推荐
- python 等比例缩放图片
在对图片缩放时,可能会使得图片产生变形,以下代码按照比例缩放图片,保持长宽比. 例如原图为: 如果resize成(224,224)则图片变为 import cv2def process_image(i ...
- python调整屏幕缩放比例_python实现批量按比例缩放图片效果
本文实例为大家分享了python实现批量按比例缩放图片的具体代码,供大家参考,具体内容如下 把脚本文件放在要缩放的文件夹下面. 双击运行脚本,输入要缩放的系数.脚本会在当前目录下创建一个scaledI ...
- Python Opencv等比例缩放图片
Python Opencv等比例缩放图片 前言 前提条件 相关介绍 实验环境 等比例缩放图片 代码实现 输出结果 前言 本文是个人使用Python Opencv处理图片的笔记,由于水平有限,难免出现错 ...
- 等比例缩放图片并填充图片为正方形(python附代码)
等比例缩放图片并填充图片为正方形 看实现的效果 代码 看实现的效果 之前的 836x662 之后的 300x300 且图片中的塔克斯居中 代码 import os import cv2 import ...
- [原创] 图片操作的类(ImageLibrary)-按比例缩放图片
[原创] 图片操作的类(ImageLibrary)-按比例缩放图片 http://www.vjsdn.com/bbs/bbsTopicDetails.aspx?pid=241 转载于:https:// ...
- java实现按比例缩放图片技巧
java实现按比例缩放图片技巧 案例需求: 根据指定的文件名称,用户给定的缩放比例来完成缩放图片 思路分析: 1.文件对象File 2.BufferedImage构造器: 图像数据的访问的缓冲器 3. ...
- Java 等比例缩放图片
/*** 等比率缩放* @param imgsrc 原图片路径* @param imgdist 缩放图片路径* @param widthdist 指定缩放宽度*/ public static void ...
- JS实现等比例缩放图片
JS实现等比例缩放图片 有时候我们前端页面只有500×500像素的宽和高的布局,但是后台返回的数据图片是1000×1000,那么这种情况下 如果我直接返回的话 那么图片肯定有一部分没有显示出来,在这种 ...
- CSDN的Markdown编辑器中等比例缩放图片的方法
方法 先直接说方法,在图片链接后面加上" =??x"或" =x??"即可,其中双引号不用写,等于号前面有个空格,??是一个具体数字,代表图片缩放后的宽度或高度 ...
最新文章
- 洛谷:P3950 部落冲突
- html表单上传图片获取路径,asp.net获取HTML表单File中的路径的方法
- 新华三的背景_新华三集团与飞友科技签署战略合作协议,共赢智慧机场新时代...
- 24行代码-Leecode 2063. 所有子字符串中的元音——Leecode周赛系列
- 如何到SAP官网上查询某产品的roadmap - 路线图
- GUI库:PyQt5
- Tree Context Menu
- Xen虚拟机加入Puppet环境如何解决时间同步问题
- Windows操作系统----事件日志----事件查看器
- Java 表格文字垂直居中_itextpdf中表格中单元格的文字水平垂直居中的设置
- C语言学习(3)VScode配置C语言环境(简洁易懂版)
- 互联网通信流程(含servlet)
- 纪念一下学写pipeline时脑子里的坑
- 在iOS应用中使用字体图标及制作字体库
- JavaScript - 日期型字符串增加天数(日期增加指定天数计算)
- 用户名不在sudoers文件中此事将被报告的解决方法
- 【JY】浅谈结构设计
- 哈工大2022年大作业——程序人生
- Docker网络、端口映射详解篇(三)
- uniapp 原生tabbar无法覆盖问题