利用Python里的cv2(opencv)改变图片大小【同时也是cv2.resize的学习】
目录
- 简介
- resize函数
- 参数说明
- 代码示例
- 参考文章链接
简介
opencv库当中的resize函数可以帮助我们快速进行图像的大小变化,在此我记录一下我的学习心得,并且提出自己的问题,希望大家可以参考和阅读。
resize函数
cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) → dst
参数说明
src :源图像
dst :目标图像。当参数dsize不为0时,dst的大小为dsize的大小;否则,它的大小需要根据src的大小以及参数fx和fy决定。另外,dst的类型和src图像相同。
dsize :目标图像大小。当dsize为0时,它可以通过以下公式计算得出:
请注意,参数dsize和参数(fx, fy)不能够同时为0
fx :水平轴上的比例因子。当它为0时,计算公式如下:
fy :垂直轴上的比例因子。当它为0时,计算公式如下:
interpolation :(说实话我感觉这几个差不多)
Interpolation 方法:
- INTER_NEAREST:最近邻插值法
- INTER_LINEAR:双线性插值法(默认)
- INTER_AREA:基于局部像素的重采样。对于图像抽取来说,这可能是一个更好的方法。但如果是放大图像时,它和最近邻法的效果类似。
- INTER_CUBIC:基于4x4像素邻域的3次插值法
- INTER_LANCZOS4:基于8x8像素邻域的Lanczos插值
代码示例
第一种(使用参数dsize)
import cv2img = cv2.imread('image1.jpg') #读图print(img.shape) #输出为(450,600,3)(高,宽,通道数)
height,width = img.shape[:2] #获取原图像的水平方向尺寸和垂直方向尺寸。
res = cv2.resize(img,(width//2,height//2),interpolation=cv2.INTER_CUBIC) #dsize=(2*width,2*height)cv2.imshow('res',res)
cv2.imwrite('output.jpg',res)#cv2.destroyWindow('res')
#销毁指定窗口
第二种(使用参数fx,fy)
import cv2img = cv2.imread('image1.jpg')#读图height,width = img.shape[:2] #获取原图像的水平方向尺寸和垂直方向尺寸。
res = cv2.resize(img,None,fx=2,fy=2,interpolation=cv2.INTER_CUBIC)
#比例因子:fx=2,fy=2
cv2.imshow('res',res)
cv2.imwrite('output2.jpg',res)#cv2.destroyWindow('res')
#销毁指定窗口
另:附上官方文档截图
参考文章链接
1、opencv中的resize 函数 的理解以及引申
2、图像处理: 五种 插值法
3、cv2.resize官方文档
利用Python里的cv2(opencv)改变图片大小【同时也是cv2.resize的学习】相关推荐
- opencv改变图片大小,cv2.resize方法详解
cv2.resize可以改变图片的尺寸,方法如下 def resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None) src: ...
- python add picture显示过大_利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例...
前言 最近的一个项目中需要在图片上添加文字,使用了OpenCV,结果发现利用opencv给图像添加文字有局限.可利用的字体类型比较少,需要安装Freetype扩展,比较复杂.而且不能用putText函 ...
- python批量生成图片_利用Python批量生成任意尺寸的图片
实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...
- C#使用OpenCv图像批处理——改变图片大小并且重命名
添加NuGet包 选择最新版就好了 安装完成后右键项目重新生成方案 使用OpenCvSharp.CPlusPlus命名空间 using OpenCvSharp.CPlusPlus; 写一个函数用来改变 ...
- python教程-数据分析-matplotlib绘制折线图1(改变图片大小,保存图片,改变坐标的间距,显示中文,快捷键出对应文档)
matplotlib学习笔记: `matplotlib`之缘起 导入包 绘制简单的折线图 改变图片大小 保存图片 改变坐标轴的间距 调整图片的密集程度 学到这,要来一题练练手了! 在matplotli ...
- 利用python爬取qq个性网图片
利用python爬取qq个性网图片 网站头像布局大同小异,稍改代码即可爬取想要的头像. 不多bb,上代码. import requests from parsel import Selector im ...
- python改变图片大小不失针
import os from math import floor import PIL.Image as ImageIMAGES_PATH = "C:\\Users\\Administrat ...
- VC2010“添加资源-引入JPG图片”会改变图片大小
结论: 通过VC2010添加JPG图片(添加资源->引入jpg图片)会改变图片大小. 本身只是为了想给对话框添加一个背景图片,试了下bmp的,都没有问题. 为了测试下是否可以加载(用LoadIm ...
- css让image不改变大小_如何改变图片大小
我们进行网页设计的时候图片有时候可以会不符合大小,那我们怎么样才能在代码中实现图片大小的改变呢?本篇文章就来给大家介绍关于如何改变图片的大小? 我们改变图片的大小有两种方法:一种是在HTML标签内更改 ...
最新文章
- Atitit. 高级软件工程师and 普通的区别 高级编程的门槛总结
- android与mysql的交互,与Android中的外部SQLite数据库进行交互.
- 【easy】206. Reverse Linked List 链表反转
- PTA 数据结构与算法题目集(中文)
- mybatis_user_guide(6) Java API
- rtsp协议的视频服务器,RTSP拉流协议视频平台EasyNVR能够接入多少路视频直播流?...
- python安装过程的一些问题解决方案
- Flutter实战一Flutter聊天应用(二十)
- coc部落冲突关联错误101解决方案
- 同城双活与异地多活架构分析
- iol植入手术过程_卢奕教授专访:领略Phaco+IOL+Express植入术
- mysql 存储树形结构
- 什么是keep-alive?
- 如何使用OBS开启直播
- 吴恩达深度学习课程值不值得学?四晚学完的高手给你建议
- GCC 编译 C 语言文件
- 「react进阶」一文吃透React高阶组件(HOC)
- tkinter-Entry详解
- [数据结构][Python]鸡尾酒排序、桶排序
- fc2 php,fc2fans_club.py