在对图片缩放时,可能会使得图片产生变形,以下代码按照比例缩放图片,保持长宽比。
例如原图为:

如果resize成(224,224)则图片变为

import cv2def process_image(img, min_side):size = img.shapeh, w = size[0], size[1]#长边缩放为min_sidescale = max(w, h) / float(min_side)new_w, new_h = int(w/scale), int(h/scale)resize_img = cv2.resize(img, (new_w, new_h))# 填充至min_side * min_sideif new_w % 2 != 0 and new_h % 2 == 0:top, bottom, left, right = (min_side-new_h)/2, (min_side-new_h)/2, (min_side-new_w)/2 + 1, (min_side-new_w)/2elif new_h % 2 != 0 and new_w % 2 == 0:top, bottom, left, right = (min_side-new_h)/2 + 1, (min_side-new_h)/2, (min_side-new_w)/2, (min_side-new_w)/2elif new_h % 2 == 0 and new_w % 2 == 0:top, bottom, left, right = (min_side-new_h)/2, (min_side-new_h)/2, (min_side-new_w)/2, (min_side-new_w)/2else:top, bottom, left, right = (min_side-new_h)/2 + 1, (min_side-new_h)/2, (min_side-new_w)/2 + 1, (min_side-new_w)/2pad_img = cv2.copyMakeBorder(resize_img, int(top), int(bottom), int(left), int(right), cv2.BORDER_CONSTANT, value=[0,0,0]) #从图像边界向上,下,左,右扩的像素数目return pad_imgif __name__ == '__main__':image = cv2.imread('/home/yasin//test.png')img_new = process_image(image, 224)cv2.imshow("img_new", img_new)cv2.waitKey()

结果为:

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

  1. python 等比例缩放图片 自写

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

  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. [Xcode 实际操作]六、媒体与动画-(1)使用图形上下文按一定比例缩放图片

    目录:[Swift]Xcode实际操作 本文将演示如何通过图形上下文,来实现图片缩放的功能. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UI ...

最新文章

  1. 前端学习(1355) 子模板
  2. 大火C4D元素,电商大促海报背景BANNER素材
  3. 【java笔记】接口的定义,接口的使用
  4. 世平数据库保密检查工具再次荣膺中国“优秀软件产品”称号
  5. word2010转html默认页面视图,word2010中,切换到页面视图方式的组合键
  6. 联通专线切换成移动专线问题故障解决
  7. 系统架构师论文-论软件开发平台的选择和应用(MIS系统)
  8. 【11-13】A股主要指数的市盈率(PE)估值高度
  9. MyExcel 2.1.4 版本发布,多项功能增强
  10. img元素实现图片裁切放大
  11. 基于XMPP协议的Android即时通信系(http://blog.csdn.net/lnb333666/article/details/7471292)...
  12. oracle的oca证书,Oracle三大认证考试及其含金量解析
  13. java经典50道编程题(很好练逻辑思维的题)(第一篇)
  14. python 读写csv文件(创建,追加,覆盖)
  15. 10月各国最新签证及入境政策汇总
  16. 微信小程序实现分享功能
  17. k8s学习-CKA考试必过宝典
  18. 关于HTML中a标签的重大安全性漏洞!!!
  19. matlab三相短路电流计算程序_电力系统三相短路计算的MATLAB代码.doc
  20. 二十三、动网格Smoothing Diffusion方法及实例

热门文章

  1. 计算机电缆备用芯,怎样区分控制电缆和电力电缆
  2. 腾讯云服务器开放解封25端口的方法步骤
  3. 大学生网页设计成品,这六个页面美哭了,Html宫崎骏的幻想世界动漫主题,超美视觉设计精品
  4. 电商项目开发(系统功能分析、架构分析)
  5. Java之GUI简单介绍
  6. 连接共享打印机,提示“操作无法完成(错误 0x00000709)”
  7. C语言—字符指针作函数参数 按如下函数原型编程实现字符串连接函数strcat()的功能。void MyStrcat(char *dstStr, char *srcStr);
  8. 困扰许久的Kafka Rebalance问题
  9. springboot大学生综合素质测评系统 毕业设计-附源码51615
  10. 2、Power Map—Power Map安装与使用?