วิธีรับ Pixs ทั้งหมดโดยใช้ดัชนีบางอย่างจากอาร์เรย์รูปภาพ
รูปร่างอาร์เรย์ของรูปภาพเป็น(540, 960, 3)
ดังนี้:
img_rgb = [[[ 95 71 71]
[ 95 71 71]
[ 95 71 71]
...
[182 171 181]
[182 171 181]
[182 171 181]]
[[ 95 71 70]
[ 95 71 70]
[ 95 71 71]
...
[183 172 182]
[183 172 182]
[183 172 182]]
[[ 95 72 70]
[ 95 71 70]
[ 95 71 71]
...
[183 172 182]
[183 172 182]
[183 172 182]]
...
[[ 36 35 45]
[ 36 35 45]
[ 36 35 45]
...
[ 49 45 50]
[ 49 45 50]
[ 49 45 50]]
[[ 36 35 45]
[ 36 35 45]
[ 36 35 45]
...
[ 49 45 50]
[ 49 45 50]
[ 49 45 50]]
[[ 36 35 45]
[ 36 35 45]
[ 36 35 45]
...
[ 49 45 50]
[ 49 45 50]
[ 49 45 50]]]
และฉันต้องการรับองค์ประกอบโดยindices
ที่ระบุดัชนีแต่ละองค์ประกอบและสิ่งindices
นี้:
indices = [
[0, 0], [0, 1], [0, 2]
]
ผลลัพธ์ที่คาดหวัง
[
[ 95 71 71],
[ 95 71 71],
[ 95 71 71],
]
มีพ่วงคำถามที่คล้ายกันในการเชื่อมโยงผู้หนึ่งคืองูหลาม numpy 2D รวมอาร์เรย์กว่าดัชนีบางอย่างและอีกอย่างก็คือการหา (x, y) ดัชนีเฉพาะ (R, G, B) ค่าสีจากภาพที่เก็บไว้ใน ndarrays
มันได้เมื่อฉันพยายามคำถามหนึ่งโดยIndexError: too many indices for array
img_rgb[tuple(indices)]
คำตอบ
fountainhead
คุณเพียงแค่ต้อง indices
transpose
img_rgb[tuple(np.transpose(indices))]
np.tranpose()
จะใช้งานได้แม้ว่าindices
จะเป็นเพียงรายการก็ตามเนื่องจากคาดว่าจะมีการป้อนโครงสร้าง "คล้ายอาร์เรย์"