图像缩放

缩放包括缩小和放大

语法格式
cv2.resize()有很多参数,其中src和dsize必备

cv2.resize(src.dsize)
src原始图像路径
dsize 目标图像大小 (列,行)

cv2.resize(src.dsize,fx,fy)
fx,fy 缩放大小 比列,在dsize不用情况下。

b=cv2.resize(a,dszie=None,fx=0.5,fy=0.5)

算例代码
指定大小

import cv2
a=cv2.imread("image\\lenacolor.png")
b=cv2.resize(a,(200,100))
#注意:第2个参数控制的是“列长度、行长度”,注意顺序。
cv2.imshow("original",a)
cv2.imshow("resize",b)
cv2.waitKey()
cv2.destroyAllWindows()
import cv2
a=cv2.imread("image\\lenacolor.png")
size=(200,100)
b=cv2.resize(a,size)
#注意:第2个参数控制的是“列长度、行长度”,注意顺序。
cv2.imshow("original",a)
cv2.imshow("resize",b)
cv2.waitKey()
cv2.destroyAllWindows()

按比例缩放
rows,cols=a.shape[:2] #2表示取0,1行列数,不取通道

import cv2
a=cv2.imread("image\\lenacolor.png")
rows,cols=a.shape[:2]
size=(round(cols*0.5),round(rows*1.2))
b=cv2.resize(a,size)
#注意:第2个参数控制的是“列长度、行长度”,注意顺序。
cv2.imshow("original",a)
cv2.imshow("resize",b)
cv2.waitKey()
cv2.destroyAllWindows()
import cv2
a=cv2.imread("image\\lenacolor.png")
rows,cols=a.shape[:2]
size=(round(cols*0.5),round(rows*1.2))
b=cv2.resize(a,size)
#注意:第2个参数控制的是“列长度、行长度”,注意顺序。
cv2.imshow("original",a)
cv2.imshow("resize",b)
cv2.waitKey()
cv2.destroyAllWindows()

使用fx,fy

import cv2
import numpy as np
a=cv2.imread("image\\lenacolor.png")
b=cv2.resize(a,None,fx=1.2,fy=0.5)
cv2.imshow("original",a)
cv2.imshow("resize",b)
cv2.waitKey()
cv2.destroyAllWindows()

图像翻转

flip:翻转
语法:
dst=cv2.flip(src,flipCode)
src:原始图像
flipCode:翻转模式 :左右翻转,上下翻转,左右上下翻转。

flipCode=0:以X轴上下翻转
flipCode>0:以y轴左右翻转
flipCode<0:以x轴和y轴翻转.

import cv2a=cv2.imread('lenacolor.png')#cv2.IMREAD_UNCHANGED 未改变
b=cv2.flip(a,-1)
cv2.imshow("original",a)
cv2.imshow("flip",b)
cv2.waitKey()
cv2.destroyAllWindows()


总目录链接:
python3+opencv学习笔记汇总目录(适合基础入门学习)
电气专业的计算机小白,写博文不容易,如果你觉得本文对你有用,请点个赞再走,谢谢。

opencv 学习笔记9:图像缩放与图像翻转相关推荐

  1. OpenCV学习笔记03:缩放裁剪图像与调整图像色调

    文章目录 一.缩放裁剪图像 (一)resize函数 (二)缩放图像 1.编写程序,实现功能 2.运行程序,查看结果 (三)裁剪图像 1.编写程序,实现功能 2.运行程序,查看结果 二.调整图像色调 ( ...

  2. OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()

    OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize() 一.图像金字塔定义: 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是 ...

  3. OpenCV学习笔记(十六)——CamShift研究 OpenCV学习笔记(十七)——运动分析和物体跟踪Video OpenCV学习笔记(十八)——图像的各种变换(cvtColor*+)imgproc

    OpenCV学习笔记(十六)--CamShift研究 CamShitf算法,即Continuously Apative Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算 ...

  4. OpenCV学习笔记(十七):图像修补:inpaint()

    OpenCV学习笔记(十七):图像修补:inpaint() inpaint()函数 使用区域邻域在图像中还原选定区域. void inpaint( InputArray src, // 表示要修复的图 ...

  5. OpenCV学习笔记(三):图像对比度、亮度调整源码

    OpenCV学习笔记(三):图像对比度.亮度调整源码 主函数: #include <opencv2/opencv.hpp>using namespace cv;using namespac ...

  6. Opencv学习笔记(二) 提取图像中的水平线和垂直线

    提取图像中的水平线和垂直线属于基础的形态学操作的应用,原理:根据要提取图形来定义一个特定的结构元素,然后以这个结构相素去遍历图像,进行一系列形态学操作,以此过滤掉其他特征的图形,达到提取的效果. 示例 ...

  7. opencv学习笔记(三)—— 利用图像金字塔进行图像无缝拼接,cv2.pyrDown() ,cv2.pyrUp()

    原理 一般情况下,我们要处理是一副具有固定分辨率的图像.但是有些情况下,我们需要对同一图像的不同分辨率的子图像进行处理.比如,我们要在一幅图像中查找某个目标,比如脸,我们不知道目标在图像中的尺寸大小. ...

  8. 【OpenCV 学习笔记】第十一章: 图像金字塔

    第十一章: 图像金字塔 一.什么是图像金字塔¶ 同一张图片不同分辨率的子图的集合. 图像金字塔底部是待处理的高分辨率图像,也就是原始图像,顶部是低分辨率的近似图像.一般情况下,都是每向上移动一级,图像 ...

  9. opencv学习笔记(八)-- 在图像上绘制形状和文字

    文章目录 CV::Point以及CV::Scalar 画直线cv::line() 画椭圆cv::elipse() 画矩形cv::rectangle() 画圆cv::circle() 画填充多边形cv: ...

  10. 【OpenCV学习笔记】之六 手写图像旋转函数---万丈高楼平地起

    话说,平凡之处显真格,这一点也没错!  比如,对旋转图像进行双线性插值,很简单吧?  可,对我,折腾了大半天,也没有达到预期效果!  尤其是三个误区让我抓瞎好久: 1,坐标旋转公式.   这东西,要用 ...

最新文章

  1. Java项目:网上电子书城项目(java+SSM+JSP+maven+Mysql)
  2. MySQL 数据类型学习笔记
  3. 必须要调整心态,积极起来,不能再偷懒
  4. 浅析去中化区块链游戏资产交易平台
  5. 工作196:注意接收数据的格式
  6. WPF 列表虚拟化时的滚动方式
  7. kotlin中既继承又实现_Kotlin程序| 解决继承中的主要冲突的示例
  8. 奇安信代码安全实验室帮助微软修复高危漏洞,获官方致谢
  9. hdu 1024(dp)
  10. mysql可视化_Mysql学习
  11. 网吧网络综合问题讨论和解决方案
  12. 全网首发:JAVA中的+=,会直接把float赋值给int变量,编译器不报错
  13. 【优化布局】基于matlab遗传算法求解带出入点的车间布局优化问题【含Matlab源码 011期】
  14. 一起学习R软件吧——R软件的使用
  15. 安卓屏幕朗读app_安卓车机后装苹果CarPlay盒子的自动化分享
  16. 双硬盘双系统安装win10和centos7
  17. 排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现之样本熵
  18. 验证和确认的区别_验证与确认之间的区别
  19. 自适应神经网络算法原理,单神经元自适应控制
  20. 金融科技如何改变一家百年老银行?

热门文章

  1. UCloud UFile——对象存储UFile SDK基本使用
  2. github的基础使用
  3. Python实训day04pm【网络爬虫(文本、图片)】
  4. Kotlin实战指南十:let、apply、with、run
  5. CentOS 初体验十九:yum安装redis
  6. git 和 github 关系?
  7. android Android-PullToRefresh 下拉刷新
  8. 初探swift语言的学习笔记四-2(对上一节有些遗留进行处理)
  9. 用位操作代替求余操作
  10. java 序列化 原理解析