我们经常在图像预处理中会看到类似如下代码

img = cv2.imread("img_path")
img = img[:,:,::-1].transpose(2, 0, 1)

上述两句到底是什么含义呢?我们今天就来解决这个问题。

首先需要明白一点,我们通过cv2读图片时,数据读取的通道顺序是bgr,并且是height, width, channel的排列方式。

所以切开上述第二行代码来看:

  • img[:,:,::-1]也就是我们任意不改变width维的方式,也不改变height维的方式,仅仅改变channel维的方式,并且是倒序排列,原本的bgr排列方式经过倒序就变成了rgb的通道排列方式。

  • 第二个transpose我们也经常会在caffe和pytorch中用到,因为这两个的输入顺序NxCxHxW,我们将图片从HxWxC改为CxHxW的形式。

拓展:如果img[::-1, :, :]其实是对图片进行上下翻转, img[:,::-1,:]是对图像进行左右翻转

  • 一个小小的代码实例
a = np.array([[[0, 1], [1, 2], [2, 3]], [[3, 4], [4, 5], [5, 6]]])
print(a)
[[[0 1][1 2][2 3]][[3 4][4 5][5 6]]]b = a[:,:,::-1]
print(b.shape)
(2, 3, 2)
print(b)
[[[1 0][2 1][3 2]][[4 3][5 4][6 5]]]

Python:图像处理中img[:,:,::-1]是什么意思?相关推荐

  1. python 异常处理中try else语句的使用

    python 异常处理中try else语句的使用 参考文章: (1)python 异常处理中try else语句的使用 (2)https://www.cnblogs.com/journey-mk5/ ...

  2. 图像处理中,SIFT,FAST,MSER,STAR等特征提取算法的比较与分析(利用openCV实现)

    图像处理中,SIFT,FAST,MSER,STAR等特征提取算法的比较与分析(利用openCV实现) 本文实验为自己原创,转载请注明出处. 本人为研究生,最近的研究方向是物体识别.所以就将常用的几种特 ...

  3. 图像处理中Normalization的应用

    图像处理中Normalization的应用 背景:我想把肺部CT图像数据和对应的掩码标签重合显示,也就是下图这种效果,通过对应元素相乘实现,但是两张图像的数据格式和分布都不相同,因此用到了normal ...

  4. 图像处理中ct图的通道是多少_常见医疗扫描图像处理步骤

    一.数据格式 1.1 dicomDICOM是医学图像中的标准文件,这些文件包含了诸多元数据信息(比如像素尺寸),此处以kaggle Data Science Bowl数据集为例:data-scienc ...

  5. OpenCV中的图像处理中

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

  6. 图像处理中,在图片上写字,包括中文与英文!

    在数字图像处理中,有的时候便于标注图片信息,需要我们在图片上做一些文字标注.opencv提供了一套比较通用简单的写文字的函数接口: void cv::putText(cv::Mat& img, ...

  7. 图像处理中,关于对比度,亮度,饱和度这些指标的概念

    (1)对比度:一副图像中,各种不同颜色最亮处和最暗处之间的差别,差别越大对比度越高,这个跟分辨率没有多少关系,只跟最暗和最亮有关系,对比度越高一个图像给人的感觉就越刺眼,更加鲜亮,突出:越低则给人感觉 ...

  8. python try语法_关于Python异常处理中try与except用法详解

    相信大部分小伙伴都有遇到写代码遇到报错问题吧,这是为什么呢?其实这就是python的异常报错,下面根据经常会碰到的异常种类,给大家提供解决方案,具体内容如下: 关于异常处理: 捕捉异常在python中 ...

  9. 图像处理中,对图片数据集规格大小的处理办法。

    图像处理中的数据并不是按照指定的规格大小处理时,那么需要调整图片的大小,重新设定规格,从而在后续的网络模型输入时,保证输入到模型中的图片大小一致. 指定需要加工的图像的路径为:"C:\Ani ...

最新文章

  1. React组件设计之边界划分原则
  2. struts2原理(转)
  3. ajax联系人数,setInterval定时调用ajax实现在线人数统计
  4. 【测评】PaMu Unique真无线蓝牙耳机,国潮新时尚,年轻人的标配
  5. 想说爱你不容易 | 使用最小 WEB API 实现文件上传
  6. 36、JAVA_WEB开发基础之监听器
  7. jsp页面中使用javascript获取后台放在request或session中的值
  8. 【原创】Structure from Motion (SfM)算法测试---3D重建简介
  9. 关于上采样方法总结(插值和深度学习)
  10. cadence 17.2 入门学习2 allegro
  11. 计算机函数求奖学金,Excel函数在高校奖学金评定中的实践应用参考.pdf
  12. 洛谷4234最小差值生成树题解(最小生成树+LCT)
  13. SSE学习-一个小栗子
  14. c语言一维数组教学设计,C语言教学中一维数组教学设计.doc
  15. 疫情已经2年半,中国IT厂商该有一些经验教训和改变了
  16. k8s集群部署springboot项目
  17. 尼日利亚4g频段_世界各国全球主要4G频段资料.doc
  18. 辅助工具:免输入命令,WAYOS通过交换机一键扩展WAN口工具
  19. TensorFlow与Flask结合打造手写体数字识别
  20. 《渗透测试实践指南 必知必会的工具与方法 (原书第2版)》读书摘录

热门文章

  1. android 区位码转汉字,汉字区位码查询系统
  2. kestrel轻量级消息队列的安装
  3. YDOOK: ANSYS Maxwell 19 教程14:Maxwell 2D 静电场怎样设置激励源 静电场有哪些激励源
  4. 无线wifi与802.1x 说明
  5. 计算机内部应用什么计算,计算机内部使用什么来计数
  6. 前端定时任务1秒执行最小间隔,与后端1秒执行最小间隔
  7. 一个处于发展过程中的企业,该如何进行精准获客?且不话大价钱。
  8. javascript正则表达式-姜威-专题视频课程
  9. Leek' music diary 1
  10. linux中单引号、双引号