छवि सरणी से कुछ सूचकांकों द्वारा सभी पिक्स कैसे प्राप्त करें
छवि सरणी आकार है (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],
]
उन लिंक में टो समान प्रश्न हैं, एक निश्चित सूचकांकों पर अजगर सुन्न 2D सरणी है , और दूसरा NumPy ndays में संग्रहीत छवियों से विशिष्ट (R, G, B) रंग मानों का (x, y) अनुक्रमित पता लगा रहा है ।
यह तब मिला IndexError: too many indices for array
जब मैंने एक-एक करके सवाल किया img_rgb[tuple(indices)]
।
जवाब
fountainhead
आपको बस संक्रमण करने की आवश्यकता है indices
।
img_rgb[tuple(np.transpose(indices))]
np.tranpose()
indices
यह सिर्फ एक सूची है, भले ही यह किसी भी "सरणी की तरह" संरचना इनपुट के रूप में की उम्मीद है काम करेगा ।