Как часть приложения, которое я разрабатываю для Android, я хотел бы показать пользователю обнаруженную краем версию изображения, которое они взяли (что-то подобное примеру ниже).
Для достижения этого, я смотрел на оператор Sobel и как реализовать его в Java. Однако многие примеры, которые я нашел, используют объекты и методы, найденные в AWT (как этот пример), который не является частью Android.
Мой вопрос затем действительно, Android обеспечивает какие-либо альтернативы функциям AWT, которые использовались в вышеупомянутом примере? Если бы мы должны были переписать тот пример, просто пользующийся библиотеками, встроенными в Android, как мы пошли бы об этом?
, поскольку у вас нет BufferedImage в Android, вы можете выполнять все основные операции самостоятельно:
Bitmap b = ...
width = b.getWidth();
height = b.getHeight();
stride = b.getRowBytes();
for(int x=0;x<b.getWidth();x++)
for(int y=0;y<b.getHeight();y++)
{
int pixel = b.getPixel(x, y);
// you have the source pixel, now transform it and write to destination
}
как видите, это охватывает почти все, что вам нужно для портирования этого примера AWT. (просто измените функцию "convolvePixel")