python 切片 单冒号的作用[:](批量赋值最小数组单元)
生活随笔
收集整理的這篇文章主要介紹了
python 切片 单冒号的作用[:](批量赋值最小数组单元)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在圖像處理中,有時會見到img[:],這是什么意思呢?
比如:
a=[[1,2,3],[4,5,6],[7,8,9]] print(a) # [[1, 2, 3], [4, 5, 6], [7, 8, 9]] a[:]=[111,222,333] print(a) # [111, 222, 333]如果a是numpy數組,使用會有什么效果呢?
示例1
import numpy as np a=np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]]) print(a) # [[ 1 2 3 4] # [ 4 5 6 7] # [ 7 8 9 10]] a[:]=[111,222,333,444] print(a) # [[111 222 333 444] # [111 222 333 444] # [111 222 333 444]]示例2
import numpy as np a=np.array([[[1,2,3,4],[4,5,6,7],[7,8,9,10]],[[1,2,3,4],[4,5,6,7],[7,8,9,10]],[[1,2,3,4],[4,5,6,7],[7,8,9,10]]]) print(a) a[:]=[111,222,333,444] print(a)結果:
[[[ 1 2 3 4][ 4 5 6 7][ 7 8 9 10]][[ 1 2 3 4][ 4 5 6 7][ 7 8 9 10]][[ 1 2 3 4][ 4 5 6 7][ 7 8 9 10]]][[[111 222 333 444][111 222 333 444][111 222 333 444]][[111 222 333 444][111 222 333 444][111 222 333 444]][[111 222 333 444][111 222 333 444][111 222 333 444]]]可以看出,在numpy數組中使用[:]功能,可以批量賦值最小數組單元,什么是最小數組單元
[1,2,3,4]就是a=np.array([[[1,2,3,4],[4,5,6,7],[7,8,9,10]],[[1,2,3,4],[4,5,6,7],[7,8,9,10]],[[1,2,3,4],[4,5,6,7],[7,8,9,10]]])中的一個最小數組單元
圖像處理中像素值的批量賦值
比如,我們創(chuàng)建一張640×360的圖片,并給它賦一個純色值
import cv2 import numpy as np img = np.zeros((360, 640, 3), np.uint8) # [50,120,200]就是每個像素的bgr值 img[:]=[50,120,200] cv2.imshow('img',img) cv2.waitKey(0) cv2.destroyAllWindows()結果:
總結
以上是生活随笔為你收集整理的python 切片 单冒号的作用[:](批量赋值最小数组单元)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python opencv cv.wai
- 下一篇: python opencv 等比例调整(