Lawrence D'Oliveiro wrote: >> With respect to the Pillow imaging tools, the part I'm experimenting >> with is how best to easily break that PRNU fingerprint with image >> manipulation. > > You mean in the general case, for an image obtained from an unknown > camera? > > Because if you only want to do it for your own camera(s), you can do > what the Wikipedia article describes, and use a calibration image to > determine the sensor "fingerprint", so you can subtract that from all > images you intend to publish.
You bring up a good point, which is we control the camera so we control the image that comes out of that camera and which is posted to the Internet. Given PRNU subtraction requires something like 20-50 images from the same camera, we could indeed compute a reference fingerprint amd then subtract that fingerprint from future images posted to the Internet. Thanks for that idea. It changes how the PRNU.py script works, so it's another script algogether. The PRNU.py script I'm experimenting with is aimed at the general case, where the camera is unknown and we don't have access to a calibration set. In that situation, we can't subtract a fingerprint because we don't have one. So the first practical option I came up with was to decorrelate the sensor pattern through geometric distortion, resampling, blur and tiny perturbations. However, your suggestion is actually a better approach overall, since I am trying to help all of us protect our own images out of our own cameras. I'll have to do a lot more research to write the program to do that though. But how does this sound as a game plan for creating that flow on Windows? 1. Build a reference PRNU fingerprint from a folder of calibration images 2. Subtract that fingerprint from a target image we want to publish -- Privacy isn't something we get by accident. It's something we build . -- https://mail.python.org/mailman3//lists/python-list.python.org
