Как преобразовать растровое изображение в двоичное изображение в Android? - PullRequest
4 голосов
/ 15 апреля 2011

Мне нужно преобразовать растровое изображение в двоичное изображение для моего hw. Вы знаете что-нибудь об этом?

Ответы [ 5 ]

3 голосов
/ 21 июля 2011

Вы ищете алгоритм для выполнения преобразования?

Самый простой способ - сравнить каждое значение пикселя с фиксированным порогом: если значение пикселя меньше порога, соответствующий выходной пиксель будет черным (0), иначе он будет белым (1).

Если вы хотите автоматически определить пороговое значение, вы можете реализовать метод Оцу. Этот метод в целом работает правильно, если вы не можете сделать слишком много предположений о распределении пикселей в вашем изображении.

http://en.wikipedia.org/wiki/Otsu%27s_Method

Для справки, вот как это выглядит в Mathematica: Binarize[image, threshold] и Binarize[img] для метода Отсу.

enter image description here

0 голосов
/ 10 ноября 2015

Надеюсь, это поможет ...

Bitmap bitmapObtained =//get your bitmap
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmapObtained.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] byteArray = stream.toByteArray();
0 голосов
/ 17 апреля 2011

вы можете посмотреть эту ссылку преобразование растрового изображения Java в байтовый массив , оно может преобразовать растровое изображение в двоичный, может тогда вы посмотрите на отображаемое изображение из byteArray

0 голосов
/ 28 апреля 2011

возможно это ваш код

imageID = cursor.getString(columnIndex);
              //  uri = Uri.withAppendedPath(Media.EXTERNAL_CONTENT_URI, "" + imageID);
                Log.v("dklfdlk",imageID);
                bitmap = BitmapFactory.decodeFile(imageID);
if (bitmap != null) {
                    newBitmap = Bitmap.createScaledBitmap(bitmap, 78, 78, true);
                    bitmap.recycle();
                    if (newBitmap != null) {
                        publishProgress(new LoadedImage(newBitmap));
}

попробуйте это

0 голосов
/ 15 апреля 2011

Вы можете использовать функцию преобразования растровых изображений и записать ее в выходной поток, а затем использовать выходной поток, чтобы получить для себя байтовый массив. Надеюсь, это поможет

...