¿Es posible aplicar una función inversa para eliminar un objeto compilado?

0

Creo una marca de agua con photoshop como esto

Para hacer esta marca de agua utilizo las funciones de software de un software (por ejemplo, photoshop). Las funciones se implementan como instrucciones de configuración (mis variables)

a, b,c,d 
La función

es como esta

f(x) = a,b,c,d
La instrucción

set se implementa como variables a, b, c, d

- place the bitmap over a photo or drawing (a)
- apply a Flat (b)
- adjust the transparency slider setting to X value (c)
- edit the Contrast amount X value (d)

Guardo en formato png, también sé que el software agrega también EXIF metadata .

Envié la foto a mi amigo. Mi amigo abre la imagen con mi mismo software y desea eliminar mi marca de agua aplicando la función inversa que usé para realizar mi marca de agua transparente en relieve.

Si mi función inicial era

f = f (x)

utilizado para generar marca de agua, mi amigo necesita quitar mi marca de agua, por lo que necesita tener esta situación

f = f ^-1 
  

hardware & El software es el mismo, el algoritmo se conoce tanto a él como a él.

El software

Have same permite usar EXIF metadata como un decode key y tiene el formato same . photoshop, por ejemplo, podemos agregar ediciones y componer imágenes en capas) pero aplicando la función inversa podemos eliminar la marca de agua directamente porque inverse function + key hace esto:

  

a) Reconozca que la imagen proviene del mismo software porque EXIF metadata agregado después de guardar la imagen es como una clave de decodificación o punto de acceso
  b) Reconocer que el algoritmo es el mismo porque el archivo de formato es el mismo (png)
  c) Reconozca que en esa imagen hay una marca de agua integrada como locally integrable function , en el software, el lenguaje está integrado como un encoded level l que aparece en el software como capa combinada como si fuera una sola.       Esto es posible porque el software funciona como un operador , por lo que el uso de same y la adición de información de metadatos genera un transfer function
  d) La aplicación de la función inversa permite transformar el nivel codificado como una capa simple.

No tenemos distorsión

¿Es posible?

    
pregunta Jacky Ned 04.12.2016 - 20:05
fuente

1 respuesta

0

Depende de la marca de agua que hayas agregado. Si la marca de agua cambia la imagen de forma conocida sin perder fidelidad , entonces sí. De lo contrario, no.

La clave está siendo capaz de retener suficiente detalle en la imagen modificada que la ejecución de la función inversa reproduce exactamente los datos de la imagen original. Normalmente, este es un problema muy difícil porque los archivos de imágenes digitales tienen una profundidad de datos limitada.

Para un ejemplo simple, imagine que su función cambió 1 píxel. Cambia un solo canal (el rojo digamos) de ese píxel al multiplicarse por 2. El canal rojo comenzó con un valor de 180, 180x2 = 360, pero un archivo png estándar solo permite un solo byte por canal = 255. Por lo tanto, su cambio se pierde. datos, lo que debería haber sido 360 es en realidad 255. Ahora invierta su función, 255/2 = 127, diferente a la 180 original.

Entonces, si puede elaborar un algoritmo inteligente que nunca exceda los límites de datos de la imagen, entonces está bien. ¡Buena suerte con eso! Por otro lado, si usas un formato de imagen diferente, tendrías menos límites, por lo que el problema sería un poco más fácil.

La otra forma de solucionar el problema sería capturar de alguna manera los datos faltantes en los metadatos. Pero entonces su función "inversa" tendría que usar esos datos de alguna manera para restaurar la fidelidad total de las imágenes. Y tendría que ocultar o cifrar de alguna manera los metadatos, de lo contrario, otra persona podría hacer lo mismo, lo que haría que agregar una marca de agua no tuviera ningún sentido en la primera instancia.

    
respondido por el Julian Knight 05.12.2016 - 00:35
fuente

Lea otras preguntas en las etiquetas