PrivacyCamera/en

From Usipedia
Jump to: navigation, search
The Laughing Droid says "You know what I'd like to be? I'd just be the Messiah of the world (which is filled with the galapagos syndrome)"

日本語

English

PrivacyCamera is a privacy protecting camera which can hide human faces with an image or blindfold, and pixelate them automatically.

Contents

Download

The Blindfold Droid

Requirements

  • Android 1.6 or higher

Validation devices

If you use a device which has under 100MB RAM, this app will not work.

Sony Ericsson Xperia X10 complete
Sony Ericsson Xperia X10 mini do.
Samsung Galaxy S do.
LG Electronics Optimus GT540 do.
Sharp IS01 do.
Toshiba(FUJITSU) REGZA Phone T-01C do.
Google(HTC) Nexus One Sometimes this app causes a fatal error. Don't use.
HTC Desire HD do.
Sony Ericsson Xperia arc do.
HTC Magic HT-03A This app will cause some Exceptions due to low memory.

Supported languages

  • Japanese / English / Chinese(simplified)

How to use

PrivacyCameraGUI.png

Select an action from option menu.

  • Do nothing
  • Overlay image
  • Blindfold
  • Pixelation
PrivacyCameraStart.png

Touch "Autofocus" button to focus. The button which is located in top-right is the "Silent take" button, and the other is the "Take with sound" button.

Touch "Silent take" button to take a low quality picture(which size is same as your device's display), and touch "Take with sound" to take a high quality picture(which size is from 1024x778 to 1920x768). But it takes relatively longer time.

PrivacyCameraProcessing.png

If you take a picture, this processing dialog will appear. Wait until all processing finishes.

PrivacyCameraProcessDialog.png

When the process finished, this dialog will appear. Select your choice. (User-unfriendly? I hope you will not use this camera for impolite reasons.)

Configure this application

PrivacyCameraSetting.png

This is the configure screen. Touch "Change the overlay image" to show next screen.

PrivacyCameraSelectOverlayAdd.png

You can add an image from option menu.

PrivacyCameraSelectOverlayDelete.png

Long-touch each item to remove the item.

Sample images

Programming tips

How to detect faces

I used the FaceDetector class. But I think it's relatively slow so you should use OpenCV.

For example:Detection using OpenCV library on Sony Xperia(Android 1.6)

How to deal with OutOfMemoryError caused by Bitmap

  1. You should set both inPurgeable and inInputShareable (BitmpaFactory.Options) to true.
  2. Once you finish using a Bitmap instance, you should recycle() it to allow it to be garbage collected.

BitmapFactory.Options inPurgeable

http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html#inPurgeable

If this is set to true, then the resulting bitmap will allocate its pixels such that they can be purged if the system needs to reclaim memory. In that instance, when the pixels need to be accessed again (e.g. the bitmap is drawn, getPixels() is called), they will be automatically re-decoded.

BitmapFactory.Options inInputShareable

http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html#inInputShareable

This field works in conju(n)ction with inPurgeable. If inPurgeable is false, then this field is ignored. If inPurgeable is true, then this field determines whether the bitmap can share a reference to the input data (inputstream, array, etc.) or if it must make a deep copy.

How to reduce the Bitmap processing cost

getPixel and setPixel is slow so you should use getPixels and setPixels.

Thanks

  • Developer Collaboration Project lent me many Android devices
  • This article was corrected by Char Custom (Chiesuke), who lives in the USA.
  • The Catcher in the Rye
  • Ghost in the Shell: Stand Alone Complex
  • ぼっさん(He is a super "idol" in 2ch (Japanese anonymous community). And he allows anyone to use his portrait freely)
Namespaces
Variants
Views
Actions
Categories