मेरे पास एक मैट्रिक्स है और मैं 256x120 आकार वाली छवियों के साथ 2 चैनल मैट्रिक्स प्राप्त कर रहा हूं। अब, मुझे कई छवियों को संग्रहीत करने की आवश्यकता है, इसलिए मुझे अपने मैट्रिक्स को (No.ofimages,256,120,2) पर फिर से आकार देना होगा।
मैंने रीशेप का उपयोग करने की कोशिश की और फिर संलग्न किया:
लेकिन मुझे फिर से आकार देने पर TypeError: 'builtin_function_or_method' object is not subscriptable
मिल रहा है
मैं इसे कैसे हल कर सकता हूं इस पर कोई विचार?
1 उत्तर
आपकी समस्या के बारे में मेरी वर्तमान समझ के आधार पर:
import numpy as np
img = np.random.random((112,112,2))
print(img.shape)
result = np.empty((0, 112, 112, 2)) # first axis is zero, for adding images along it
for i in range(100): # replace this loop with something that reads in the images
result = np.append(result, img[np.newaxis, ...], axis=0) # add a new axis to each image and append them to result
print(result.shape)
उत्पादन करेंगे:
(112, 112, 2)
(100, 112, 112, 2)
परिणाम चर में संग्रहीत छवियों तक पहुँचने के लिए, बस अनुक्रमण का उपयोग करें:
print(result[1].shape) # e.g., access the second image
उत्पादन करेंगे:
(112, 112, 2)
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।
(112, 112, 2)
को(14394,112,112,2)
में दोबारा नहीं बदल सकते। सुनिश्चित नहीं हैं कि आपकाinput_shape
क्या है जिसका आप उपयोग कर रहे हैं।(14394,112,112,2)
के साथ मैट्रिक्स बनाना चाहिए और फिर अपनी पहली छवि को आकार(112, 112, 2)
के साथ पहले तत्व के रूप में स्टोर करना चाहिए।