1.2 Python图像的坐标变换-尺度变换

文章目录

  • 1.2 Python图像的坐标变换-尺度变换
    • 1 算法原理
    • 2 代码
    • 3 效果

1 算法原理

图像的几何变换,也就是矩阵乘法。

尺度变换是在原来像素(x0,y0)乘以一个倍数,矩阵公式:

2 代码

运行代码说明

1.要改变代码中的地址,我的地址说明,我是把待处理图片统一放在一个(同级)image文件夹,用os.listdir(base)读取图片名称列表,base是存放图片文件夹的相对路径,也可以是绝对路径

最后在os.path.join(base,path)代码中合并base和图片名称,得到完整图片地址

2.如果想更改为读取同目录下图片,可以将读取图片路径的几句代码可以改为

原来

base = r'../image'
paths = os.listdir(base)
for path in paths:img = cv.imread(os.path.join(base,path), 1)

改为

paths = ['img1.jpg','img2.jpg','img3.png'......]
for path in paths:print(path)# 读取图片 1 是加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。img = cv.imread(path, 1)

3.注意最后的plt.savefig('1.new' + path)是保存plt图像,如果不使用可以注释掉

import os
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号base = r'../image'
paths = os.listdir(base)
for path in paths:img = cv.imread(os.path.join(base,path), 1)new_img1 = cv.resize(img,None,fx=0.5,fy=0.5,interpolation=cv.INTER_CUBIC)height,width = img.shape[:2]new_img2 = cv.resize(img,(2*width,2*height),interpolation=cv.INTER_CUBIC)# 画图plt.figure()plt.suptitle('尺度变换')plt.subplot(131)plt.title('原图')plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))plt.subplot(132)plt.title('新图:缩放一倍')plt.imshow(cv.cvtColor(new_img1, cv.COLOR_BGR2RGB))plt.subplot(133)plt.title('放大一倍')plt.imshow(cv.cvtColor(new_img2, cv.COLOR_BGR2RGB))# plt.savefig('2.new' + path)  # 保存图片plt.show()

3 效果

1.2 Python图像的坐标变换-尺度变换相关推荐

  1. 1.4 Python图像的坐标变换-仿射变换

    1.4 Python图像的坐标变换-仿射变换 文章目录 1.4 Python图像的坐标变换-仿射变换 1 算法原理 2 代码 3 效果 1 算法原理 图像的几何变换,也就是矩阵乘法. 通过仿射变换将图 ...

  2. 1.1 python图像的坐标变换-平移变换

    第一章 图像的坐标变换-平移变换 文章目录 第一章 图像的坐标变换-平移变换 1算法原理 2 代码 3 效果 1算法原理 图像的几何变换,也就是矩阵乘法. 平移变换是在原来像素加上一个平移值,加法公式 ...

  3. python 图像变化检测_python hough变换检测直线的实现方法

    1 原理 2 检测步骤 将参数空间(ρ,θ) 量化成m*n(m为ρ的等份数,n为θ的等份数)个单元,并设置累加器矩阵,初始值为0: 对图像边界上的每一个点(x,y)带入ρ=xcosθ+ysinθ,求得 ...

  4. python 傅立叶函数_python 图像的离散傅立叶变换实例

    图像(MxN)的二维离散傅立叶变换可以将图像由空间域变换到频域中去,空间域中用x,y来表示空间坐标,频域由u,v来表示频率,二维离散傅立叶变换的公式如下: 在python中,numpy库的fft模块有 ...

  5. python 视频 灰度 伽玛_Python 图像处理实战 | 图像的灰度非线性变换之对数变换、伽马变换...

    作者 | 杨秀璋 来源 | CSDN博客 责编 | 夕颜 头图 | 付费下载自视觉中国 出品 | CSDN(ID:CSDNnews) 本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包 ...

  6. Python 图像处理实战 | 图像的灰度非线性变换之对数变换、伽马变换

    作者 | 杨秀璋 来源 | CSDN博客 责编 | 夕颜 头图 | 付费下载自视觉中国 出品 | CSDN(ID:CSDNnews) 本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包 ...

  7. 《OpenCv视觉之眼》Python图像处理二十一:Opencv图像处理之图像线性变换和非线性变换的方法及原理

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  8. 【自动驾驶】15.一文读懂图像中点的坐标变换(刚体变换,相似变换,仿射变换,投影变换)

    0 前言 现在的人脸图像识别流程中有一个步骤叫人脸对齐,现在的一般方法是采用人脸上的关键点坐标,进行相似变换来实现人脸校正.多次在人脸识别的论文中看到 similarity transform,由于在 ...

  9. EfficientNet 解析:卷积神经网络模型尺度变换的反思

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :AI源创评论 AI博士笔记 ...

最新文章

  1. 数学好=编程能力强?MIT新发现:二者激活大脑区域并不同
  2. java序列化算法透析_Java序列化机制与原理的深入分析
  3. 刚接触git,提交文件时,遇到no changes added to commit
  4. 架构设计 例子和实践
  5. oracle8i ora 12500,总结Oracle8i 的UNDO表空间损坏(ORA-01092及ORA-00600【4193】)情况下的数据库不完全恢复的经历...
  6. uniapp 如何给搜索框设值_uni-app搜索功能前后端开发(页面)
  7. JAVA互联网应用架构师、JAVA架构、JAVA中间件、集群等互联网应用
  8. oracle服务器文件路径,ORACLE 数据库如何通过修改数据文件路径进行数据迁移
  9. 后端小白的VUE入门笔记, 前端高能慎入
  10. pythonopencv算法_OpenCV算法精解 基于Python与C++pdf
  11. B2B供应链管理平台主流技术架构方案
  12. “C:\Users\用户名\AppData\里面的文件是什么?可以删除么??
  13. idea Push Tags选All还是Current Branch?
  14. ChemDraw教程之怎么连接ChemDraw结构
  15. 哈夫曼树及哈夫曼编码(10分)
  16. Unity2018新功能之2D Animation2D动画
  17. 再编写代码中报错:CS8107 C# 7.0 中不支持功能“xxxxxx”。请使用 7.1 或更高的语言版本。...
  18. ​2019胡润百富榜公布:中国互联网上演: 龙虎斗 , 阿里暂时领跑 , 企鹅紧随其后 , 李彦宏,雷军掉队...
  19. error LNK2019: 无法解析的外部符号 __imp_DeleteObject
  20. Windows下使用pip时出现TSL/SSL错误解决方案

热门文章

  1. 2022年保育员理论知识(高级)考试单选题专项训练及答案
  2. linux黄金变量,Linux变量
  3. cron 表达式,每小时的XX分执行一次,每小时一次
  4. VS 无签名UTF-8和带签名UTF-8格式
  5. 火象星座、 土象星座、风象星座 、水象星座
  6. openwrt MT7620 固件编译记录
  7. 电子工程师必须懂得如何规划自己的人生
  8. 【汇智学堂】-JS菜鸟版过河小游戏(之六---过河)
  9. JAVA软件开发本科B组7:错误票据
  10. 关于Nginx配置缓存后文件夹中没有缓存文件