Я изучаю алгоритм SIFT (чтобы найти элементы на изображении), который мне нужно рассчитать на изображении в градациях серого (черно-белое изображение). Я собираюсь реализовать алгоритм SIFT на платформе Android, я знал, что bitmap - это встроенный класс для работы с изображениями. В растровом изображении, если изображение хранится в режиме ARGB (Alpha - Red - Green - Blue), каждый пиксель будет представлен байтом (32 бита), первые 8 битов представляют значение Alpha, следующие 8 битов представляют значение Красный, .. и последние 8 бит представляют значение синего. Таким способом я могу получить доступ к A, R, G, B каждого пикселя следующим образом:
int colorAtPixel = bitmap.getPixel(x,y); //get pixel at (x,y)
int A = (color >> 24) & 0xff; // or color >>> 24
int R = (color >> 16) & 0xff;
int G = (color >> 8) & 0xff;
int B = (color ) & 0xff;
Но я не знаю, как растровое изображение хранит градации серого, в которых значение каждого пикселя находится в диапазоне [0,255]. Я посетил эту ссылку: https://developer.android.com/reference/android/graphics/Color.html
но я все еще нахожу ответ!
Кто-нибудь может мне помочь! Спасибо всем!