如何在Android中将位图图像转换为二进制图像?

| 我需要将硬件的位图转换为二进制图像,您对此一无所知吗?     
已邀请:
您是否正在寻找执行转换的算法? 最简单的方法是将每个像素值与固定阈值进行比较:如果像素值小于阈值,则对应的输出像素为黑色(0),否则为白色(1)。 如果您希望自动确定阈值,则可能需要实施Otsu的方法。当您不能对图像中的像素分布做出太多假设时,该方法总体上是正确的。 http://en.wikipedia.org/wiki/Otsu%27s_Method 作为参考,这就是Mathematica中的样子: tsu0ѭ,大津法method1。     
您可以使用位图转换功能并将其写入输出流,然后使用输出流自行获取字节数组 希望对您有所帮助     
您可以查看此链接将Java位图转换为字节数组,可以将位图转换为二进制,然后可以查看byteArray中的显示图像     
希望这可以帮助...
Bitmap bitmapObtained =//get your bitmap
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmapObtained.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] byteArray = stream.toByteArray();
    
也许这是你的代码
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));
}
尝试这个     

要回复问题请先登录注册