图像镜像翻转

2023-11-18

将图像左右镜像翻转,生成翻转后的图像

python3代码

import numpy as np
import cv2
import matplotlib.pyplot as plt
#图片镜像翻转
def left2right(img_path):
  im=cv2.imread(img_path)
  h,w,_=im.shape
  result=np.zeros(im.shape,dtype=np.uint8)
  for i in range(h):
    for j in range(w):
      #每一行倒序翻转
      result[i][j]=im[i][np.abs(j-w+1)]
  return result
  
def main():
  img_path1='./1.jpg'
  #保存图片路径
  img_path2='./result'+img_path1.split('/')[1]
  #得到镜像翻转后的图片数据
  result=left2right(img_path1)
  #保存为图片
  cv2.imwrite(img_path2,result)

  #结果展示
  #opencv的颜色通道顺序为[B,G,R],而matplotlib颜色通道顺序为[R,G,B],所以需要调换一下通道位置
  plt.rcParams['font.sans-serif'] = ['SimHei']  # 中文乱码
  #子图1,原始图像
  plt.subplot(121)
  #imshow()对图像进行处理,画出图像,show()进行图像显示
  plt.imshow(cv2.imread(img_path1)[:,:,(2,1,0)])
  plt.title('原图')
  #不显示坐标轴
  plt.axis('off')

  #子图2,镜像翻转后图像
  plt.subplot(122)
  plt.imshow(result[:,:,(2,1,0)])
  plt.title('镜像翻转后图像')
  plt.axis('off')
  plt.show()


if __name__ =='__main__':
  main()

实验结果

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图像镜像翻转 的相关文章

随机推荐

  • matlab最优化问题的函数fminbnd,fmincon,globalsearch,(multistart)(全局最优)(优化算法对比分析包括fit)

    上一个博文中介绍了globalsearch和multistart的异同 以及选择时的参考 本文着重介绍multistart multistart 全局最优 找多个局部最小值 下面这个例子在globalsearch中使用过 在这里可以只是换一
  • 自己封装的 Python 常用工具库(prestool)

    一 安装 需Python 版本建议 3 7 以上 pip install upgrade prestool 二 常用工具 from prestool Tool import Tool tool Tool 1 随机数据 tool random
  • 冒泡&&选择&&快速&&二分查找

    冒泡排序 let arr 12 6 3 8 88 66 14 87 9 5 55 正正 for let x 0 x
  • 找最大序列

    A circus is designing a tower routine consisting of people standing atop one another s shoulders For practical and aesth
  • 使用生成对抗网络(GAN)实现对图像的生成

    目录 前言 一 GAN模型简介 二 Fashion MNIST数据集简介 三 算法实现 1 导入必要的库 2 下载并展示数据集 3 数据的预处理 4 定义生成器 5 定义判别器 6 构建模型 7 训练模型 四 总结 参考资料 前言 生成对抗
  • 在高分辨率屏幕上用VMware运行ubuntu显示过小的问题

    问题描述 本人的笔记本是2k屏 用VMware 15运行ubuntu 12时 显示非常小 在ubuntu 12中设置合适分辨率后 VMware一全屏就会恢复原状 问题解决 设置VMware 在标签页 gt 查看 gt 拉伸客户机 gt 保持
  • gvim创建菜单、创建快捷键、实现emacs verilog-mode三种常见命令

    附录 dummy module 或者说stub module 使用 autotieoff 可以自动输出tie0 信号穿层次 直接 autooutput autoinput 会定义不期望的端口名称 利用自定义关键词过滤方式 可以主动筛选需要的
  • OpenCV图像分割与提取

    Fu Xianjun All Rights Reserved 目录 一 图像分割与提取的概念 二 实战 分水岭算法 三 实战 鼠标交互 四 实战 区域生长算法 重点 图像分割与提取的概念 难点 图像分割的应用 1 图像分割与提取的概念 在图
  • List转int类型数组

    在刷题过程中 想把一个List
  • vue中使用axios跨域请求

    vue中使用axios请求API或其他域名地址时 会产生跨域请求问题 应该如何解决呢 本文以请求API为例 解决方法 1 为axios设置请求头 拦截器等 这里直接对axios进行封装 将其封装在request js文件中 request
  • 请帮我写个类,发送邮件,并获取邮件阅读状态

    好的 这是一个使用 Python 发送电子邮件并获取邮件阅读状态的类的示例 import smtplibclass MailSender def init self server port username password self se
  • 安卓数据视图化工具SQLiteStudio

    SQLiteStudio工具使用介绍 1 下载 SQLliteStudio 解压后打开文件夹中的exe文件即可 阿里网盘有 2 对SQLliteStudio进行配置 简介 视图化安卓开发过程中数据库内容 笔者使用AndroidStudio开
  • 磁盘相关命令和磁盘故障案例

    磁盘相关命令和磁盘故障案例 No Space Left on Device 磁盘空间不足 block满了 文件没有彻底删除 磁盘空间不足 原因 Linux彻底删除文件 1 文件硬链接数为0 没有入口 2 文件进程调用为0 重启服务 排查过程
  • 前端开发--CDN优化加载速度

    博学谷IT学习技术支持 目录 了解 CDN 具体配置 在生产环境时生效 webpack配置externals配置项 注入CDN配置到html模板 打包检查效果 更改 publicPath 了解 CDN CDN全称叫做 Content Del
  • 【项目】BlogTest(Web自动化)

    个人博客Web自动化 一 项目背景 二 项目功能 三 测试计划 功能测试 自动化测试 一 项目背景 个人 博客系统采用前后端的方法来实现 同时使用了SpringBoot MySQL Ajax等相关技术 同时部署到云服务器上 前端主要有四个
  • Sql Server 存储过程

    摘自收集引言 前面我们曾提到过 T SQL是一门结构化查询语言 我们曾学习过C 语言的函数 使用函数时 需要两步 第一步 定义函数 它允许包含参数和返回值 第二步 调用函数 如果有参数还需传递参数 这样就执行了函数中的代码 函数可以反复调用
  • Redis cluster集群:原理及搭建

    1 为什么使用redis redis是一种典型的no sql 即非关系数据库 像python的字典一样 存储key value键值对 工作在memory中 所以很适合用来充当整个互联网架构中各级之间的cache 比如lvs的4层转发层 ng
  • 基于openstack的免费云计算平台使用方法总结(IBM power架构 、支持docker)

    声明 此文档只做学习交流使用 请勿用作其他商业用途 author 朝阳 tony E mail linzhaolover 163 com Create Date 2015 3 6 13 55 38 Friday Last Change 20
  • 服务器配置vue项目的默认路由,Vue-Router项目设置Nginx伪静态

    Vue Router项目设置Nginx伪静态 使用Vue Vue Router的项目 在history模式下 出现了刷新页面404的问题 服务器为Nginx 出现刷新404的原因是Vue Router定义的路由并没有真实的存在于服务器上 N
  • 图像镜像翻转

    将图像左右镜像翻转 生成翻转后的图像 python3代码 import numpy as np import cv2 import matplotlib pyplot as plt 图片镜像翻转 def left2right img pat