当前位置: 首页 > news >正文

img[:, :, ::-1] 通俗理解

👨‍💻个人简介: 深度学习图像领域工作者
🎉工作总结链接:https://blog.csdn.net/qq_28949847/article/details/128552785
             链接中主要是个人工作的总结,每个链接都是一些常用demo,代码直接复制运行即可。包括:
                    📌1.工作中常用深度学习脚本
                    📌2.torch、numpy等常用函数详解
                    📌3.opencv 图片、视频等操作
                    📌4.个人工作中的项目总结(纯干活)
🎉视频讲解: 以上记录,通过B站等平台进行了视频讲解使用,可搜索 ‘Python图像识别’ 进行观看
              B站:Python图像识别
              抖音:Python图像识别
              西瓜视频:Python图像识别


1. img[:, :, ::-1]

img[:, :, ::-1] 是一种常见的图像操作方式,用于对图像进行水平翻转(即左右翻转)、上下翻转、颜色通道转换(BRR–>RGB)。

在Python中,多维数组可以使用切片语法进行索引和切片。对于三维数组或图像,第一个维度表示行,第二个维度表示列,第三个维度通常表示颜色通道(例如RGB图像中的红、绿、蓝三个通道)。

因此,img[:, :, ::-1] 表示选择所有行、所有列,并将最后一个维度倒序排列。由于在OpenCV中,最后一个维度按顺序分别代表B、G、R三个颜色通道,因此将其倒序排列相当于将R通道放在了最前面,即将BGR图像转换为RGB图像。

2. ::-1如何更通俗的理解呢

::-1这个语法可以理解为Python中的切片(slice)语法,用于对序列(例如列表、字符串、多维数组等)进行翻转或截取操作。

具体来说,如果一个切片的形式是start:stop:step,其中start表示起始位置(包括该位置),stop表示终止位置(不包括该位置),step表示步长。如果省略start,默认为0;如果省略stop,默认为序列长度;如果省略step,默认为1。

step负数时,表示从右向左遍历序列,即反向遍历。而“::”表示在两个冒号之间,没有指定start和stop,因此表示选择所有元素。最后的“-1”表示逆序遍历,即从序列末尾开始倒序遍历。

因此,[::-1]可以理解为对整个序列进行倒序遍历,返回一个新的序列,这个语法常用于反转列表、字符串以及多维数组的行、列等方向。

对于图像处理,img[:, :, ::-1]表示对多维数组的第三个维度(即通道维度)进行逆序遍历,将BGR顺序变成RGB顺序,从而实现图像色彩通道的转换。

3. 示例

import cv2img = cv2.imread(r'002344348659-90_84-429&369_530&406-525&405_425&398_428&364_528&371-0_0_17_26_30_24_8-105-11.png')cv2.imshow('img', img)# b g r --> r g b
RGB = img[:, :, ::-1]# 左右颠倒
l_r = img[:, ::-1, :]# 上下颠倒
u_d = img[::-1, :, :]cv2.imshow('RGB', RGB)
cv2.imshow('l_r', l_r)
cv2.imshow('u_d', u_d)
cv2.waitKey(0)

示例效果:
在这里插入图片描述

http://www.lryc.cn/news/90189.html

相关文章:

  • 基于springboot+vue+elementui的健身房会员管理系统的
  • 在酒店房间中的数据库索引
  • Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程
  • Stack 栈的实现与应用
  • CSDN中如何获得铁粉(用心篇)
  • es 三 安装 es 安装kibana
  • 牛客HJ43迷宫问题 - 创建智能体通过策略自己找路
  • 测试报告模板一
  • 抖音账号矩阵系统源码/技术开发搭建私有化部署开源
  • OpenSSL加密解密文件
  • PAT A1070 Mooncake
  • MyBatis- plus
  • Java --- 期末复习卷
  • File类与IO流相关面试知识(一)
  • 009 - STM32学习笔记 - 中断
  • 分享几种js格式化金额的方法
  • 圣墟传说H5手工端搭建架设教程
  • 编程(40)----------单例模式
  • Java开发 - 让你少走弯路的Redis主从实现单节点哨兵模式
  • Java的Atomic原子类
  • 离线语音控制新方案,NRK3303语音识别芯片在智能风扇的应用
  • 在树莓派3B+上安装Pytorch1.7
  • Java性能权威指南-总结4
  • c语言全局变量和局部变量问题汇总
  • 14.3:给定一个由字符串组成的数组strs,必须把所有的字符串拼接起来,返回所有可能的拼接结果中字典序最小的结果
  • C++ 项目实战:跨平台的文件与视频压缩解压工具的设计与实现
  • C和指针(二)数据
  • PyTorch基础学习(一)
  • chatgpt赋能python:Python代做:让您的网站更友好的SEO利器
  • 2022年都快结束了,还有人不会安卓录屏?在安卓上录制屏幕的的实现方式