У меня есть гиперспектральный куб данных (файлы * .hd и * .raw для dark_reference, white_reference и data). Я использую python спектральную библиотеку и OpenCV, чтобы получить коэффициент отражения каждого пикселя гиперспектральных данных. Я хочу построить область интереса (ROI), щелкнув мышью по гиперспектральным данным / изображению, и получить профиль отражения каждого пикселя в пределах ROI. Я могу получить профиль отражения пикселей с помощью следующего фрагмента кода:
# Extract pixel_value
g_pixel_x = 300
g_pixel_y = 300
g_pixel = corrected_nparr[g_pixel_y:g_pixel_y+1,g_pixel_x:g_pixel_x+1,:]
g_pixel_squeezed = np.squeeze(g_pixel)
plt.plot(bands,g_pixel_squeezed)
plt.title('Spectral Footprint\n(Pixel {},{})'.format(g_pixel_x,g_pixel_y))
plt.xlabel('Wavelength')
plt.ylabel('Reflectance')
plt.show()
Но я не знаю, как нарисовать область с помощью мыши над изображениями и получить профиль отражения каждого пикселя в пределах области интереса. Буду признателен, если вы поможете мне решить эту проблему.