企业门户网站建设咨询,桂林人论坛,沈阳网站制作培训,flas网站开发工具#x1f468;#x1f4bb;个人简介#xff1a; 深度学习图像领域工作者 #x1f389;工作总结链接#xff1a;https://blog.csdn.net/qq_28949847/article/details/128552785 链接中主要是个人工作的总结#xff0c;每个链接都是一些常用demo#xff0c… 个人简介 深度学习图像领域工作者 工作总结链接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(r002344348659-90_84-429369_530406-525405_425398_428364_528371-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)
示例效果