apps-android-commons
apps-android-commons copied to clipboard
Editor to correctly blur faces and vehicle plate numbers
While it can be done by installing an external tool, having a built-in one would prevent these frequent mistakes:
- Using a reversible blurring algorithm, thus allowing any human or bot to defeat its purpose.
- Saving in a lower quality, thus losing information.
- Saving in a higher quality, thus wasting storage and network.
- Censoring by spraying fuzzy red, or pasting bunny faces, thus resulting in difficult-to-reuse images.
Low priority though.
At mentioned on #181, https://guardianproject.info/apps/obscuracam/ may have some good code (it should be available as a library...) at least for faces.
Looping in @AbdealiJK and @drtrigon , as they have been working in a similar area for https://github.com/pywikibot-catfiles/file-metadata , e.g. https://github.com/pywikibot-catfiles/file-metadata/issues/41 . Unfortunately that is python, but perhaps the underlying technology can also be used in the Android app.
Regarding license plates, https://github.com/openalpr/openalpr has instructions to install in Android and seems nice
Thanks! I hadn't thought about automating the blurring, but indeed that could be an idea if the libraries are small and fast. In any case, it should be opt-in, as obviously when I take a picture of Barrack Obama or the Presidential state car I don't want any blurring :-)
May be for a pay per view model... ;))
Can android use wrapper derived from/for C/C++ code?
No. http://stackoverflow.com/questions/1002164/write-applications-in-c-or-c-for-android
Random idea: As a bonus, it would save time if the app could automatically add blur zones at the right places when opening the blur edition activity. The user could then remove/edit/add blur zones, before going to the next step. Feel free to not include this bonus idea when fixing this issue, though.
This app blurs faces, might be a source of inspiration: https://hyperallergic.com/568795/ios-face-blurring-tool-protests
Please note that all face/plate recognition should be performed locally, not by calling a web service.
jpegtran can be used in our Android app via JNI, here is an example doing that: https://github.com/kamemak/ajpegtran_example
And here is a jpegtran fork that performs blurring without reducing the quality of other parts of the image: https://github.com/kamemak/jpegtran_pixelization
Such a function would also be very desirable from my point of view