Как растровое изображение Android хранит изображение в градациях серого? - PullRequest
0 голосов
/ 20 апреля 2019

Я изучаю алгоритм 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 но я все еще нахожу ответ! Кто-нибудь может мне помочь! Спасибо всем!

...