- OpenCV计算机视觉项目实战(Python版)
- 洪锦魁
- 257字
- 2024-12-27 18:56:10
3-5-3 多维数组的切片
3-4-3节数组切片的概念也可以应用于多维数组,因为切片可能造成降维,下列将直接以实例解说。
程序实例ch3_15.py:二维数组切片的应用。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P49_1956.jpg?sign=1739403304-CTXf7H3V9cwfDlumb0zzpeD4fujpbKVq-0-87aad9f3877a927e9752f7767d13ef5d)
执行结果
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P50_734.jpg?sign=1739403304-I7OpE9rPhep2Oq6DvTLjMqRFci9F6eNO-0-a4b053501d76aa1d4522ea86b026c832)
上述切片可以使用下列图例解说,需要特别注意的是,红色虚线框的内容是使用切片降维成一维数组的结果。另外,x[:,4:]和x[:,4]表面上结果是4, 9, 14,但是x[:,4]第2个索引指明切片是第4列(column),所以得到的是降维结果,也就是从二维数据降成一维数据。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P50_737.jpg?sign=1739403304-pE7usTJvGeMN0tbdUcBhbWTkpeTaqMCx-0-4ba49dddc2d8802aa97536d9372a8d7a)
索引在使用上会偏向使用[ , ]处理维度之间的切片,而不是使用[ ][ ],如果使用[ ][ ]做切片有时候会造成错误。
程序实例ch3_16.py:使用[ ][ ]切片造成错误的实例。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P50_740.jpg?sign=1739403304-bvlEip54CIaJ1Cqtf83Aq63NDSO6O2xO-0-c7aaaf647c89f19c215530de35523a48)
执行结果
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P51_746.jpg?sign=1739403304-5p58JLDPsljIM76A3AmIpopoRgEZHZkm-0-80a351b5099051c3b95956951a9787ac)