Foros del Web » Programando para Internet » PHP »

Programa para borrar marcas de agua (RETO)

Estas en el tema de Programa para borrar marcas de agua (RETO) en el foro de PHP en Foros del Web. Saludos aquí les tengo un reto que se me hace muy bueno explotarlo. Entre la ayuda del Internet tengo el planteamiento y tmb tengo un ...
  #1 (permalink)  
Antiguo 14/06/2011, 08:19
 
Fecha de Ingreso: septiembre-2009
Ubicación: Queretaro
Mensajes: 51
Antigüedad: 15 años, 2 meses
Puntos: 2
Programa para borrar marcas de agua (RETO)

Saludos

aquí les tengo un reto que se me hace muy bueno explotarlo.

Entre la ayuda del Internet tengo el planteamiento y tmb tengo un programa de ejemplo de como utilizar los pixeles de una imagen via php.

Bueno aquí el planteamiento para eliminar marcas de agua (gracias guille)

Cita:
Premisa 1: una marca de agua es una imagen que se superpone con cierto grado de transparencia a la imagen original, de modo que el color de cada pixel final es una combinación lineal del color de la imagen original y la marca de agua:

final = p * original + (1-p) * marca
siendo 0 < p < 1 la transparencia (mayor p, menos visible la marca)

Para obtener el color original no habría más que despejar:

original = (final - (1-p) * marca) / p

Premisa 2: en todos sus pixels la marca de agua presenta un color uniforme y además se superpone a la imagen original con un grado de transparencia uniforme también. Por tanto las incógnitas 'marca' y 'p' son constantes en todas las zonas afectadas por la marca.

Así solo tenemos que calcular esos dos parámetros. Para ello podemos tomar dos zonas cualesquiera de la imagen donde tengamos tanto el color original como el resultado de aplicar la marca, formando un sistema de dos ecuaciones con dos incógnitas que aunque no es lineal se resuelve de inmediato:

f(final), a(original), m(marca), p(transparencia)

f1 = p * a1 + (1-p) * m
f2 = p * a2 + (1-p) * m

resolviendo:

p = (f1 - f2) / (a1 - a2)
m = (f1 * a2 - f2 * a1) / (f1 - f2 - a1 + a2)

Este sistema se puede calcular para cualquier doble pareja de pixels que se nos ocurra. Se puede resolver para muchas parejas de pixels y promediar resultados, o bien promediar el color de dos zonas uniformes y entonces resolver. Todo ello para reducir varianza. Aunque lo cierto es que yo arriba solo he usado 4 pixels para coger el peor caso y aún así ha salido muy bien.
Luego ya no habría más que aplicar en las zonas afectadas por la marca la expresión:

a = (f - (1-p) * m) / p
aquí el programa q manipula la imagen en php.

[URL="http://planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=2793&lngWId=8"]http://planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=2793&lngWId=8 [/URL]

Pues a ver quien es el valiente de desarrollar el codigo en php del planteamiento que he dejado arriba.
  #2 (permalink)  
Antiguo 14/06/2011, 08:27
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 9 meses
Puntos: 128
Respuesta: Programa para borrar marcas de agua (RETO)

mmmm....... valiente si lo quieres desarrollar comienza a realizarlo y a medidas que tengas dudas, postealas y mas de alguno te ayudara, suerte.
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #3 (permalink)  
Antiguo 14/06/2011, 08:35
 
Fecha de Ingreso: septiembre-2009
Ubicación: Queretaro
Mensajes: 51
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: Programa para borrar marcas de agua (RETO)

Pues yo tampoco tengo tiempo pero se me hace algo muy interesante este desarrollo, esto es para la gente que es master en el desarrollo y tenga tiempo y ganas.

Como ejemplo cuando tenia tiempo el programa q publique aquí mismo es un desarrollo mio de como expresar mediante una imagen convertirla a una tabla, el programa toma pixel por pixel y crea una tabla con cada pixel una celda y si el color del pixel se repite esta celda se une con la otra haciendo el caso en rowspan o colspan para no generar demasiado código, en si es un desarrollo sin utilidad pero excelente para aprender a manejar estas tecnologías y ahora el que propongo es suficiente útil para mucha gente y ya casi esta todo resuelto, esta el planteamiento y un ejemplo de como manejar imágenes pixel por pixel.

saludos :)
espero que alguien se anime a esta loca idea!
  #4 (permalink)  
Antiguo 14/06/2011, 08:38
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 9 meses
Puntos: 128
Respuesta: Programa para borrar marcas de agua (RETO)

Cita:
Iniciado por Curda Ver Mensaje
Pues yo tampoco tengo tiempo pero se me hace algo muy interesante este desarrollo, esto es para la gente que es master en el desarrollo y tenga tiempo y ganas.
Sorry no soy MASTER paso por ahora


Suerte.



__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #5 (permalink)  
Antiguo 14/06/2011, 08:56
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Programa para borrar marcas de agua (RETO)

hay un solo problema, obtener tanto p como marca es imposible si no se conocen los limites de la marca de agua, me explico, si fuese por ejemplo una palabra o un dibujo, como el programa sabría que parte es marca de agua y que parte es fondo? sobretodo si la imagen tiene areas brillantes (superior a #999999 que vendría siendo la mitad)

me explico graficamente:

en la siguiente imagen la marca de agua tiene un 50% de blanco


entonces como el sistema sabría donde está la marca de agua habiendo sectores de la imagen más brillantes? (F2FBFD) y habiendo sectores que coinciden con el color a travez de la marca de agua? (95B3E8)

siendo humanos podríamos saber donde termina y solo tomar el color sobre las letras y el color en las letras para saber cuando % de blanco de agrego (0.5), pero un sistema no podría saberlo, la única forma es indicarle al sistema previamente donde esta la marca de agua y que forma tiene.

de lo contrario el sistema tomara los sectores equivocados y nos entregara un resultado como este:

__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #6 (permalink)  
Antiguo 14/06/2011, 09:52
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años, 6 meses
Puntos: 261
Respuesta: Programa para borrar marcas de agua (RETO)

Y para que quitar marcas de agua a las imágenes?

Si las han puesto es precisamente para que otras personas no hagan uso de ella sin el consentimiento del propietario.

Por otra parte, a cuantas fotos quieres quitarle las marcas de agua para que merezca l pena desarrollar eso?

Si es una o dos usa Photoshop o similar, tardarás menos que desarrollar el code, y si son muchas... uhmm
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #7 (permalink)  
Antiguo 14/06/2011, 09:52
 
Fecha de Ingreso: septiembre-2009
Ubicación: Queretaro
Mensajes: 51
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: Programa para borrar marcas de agua (RETO)

Excelente explicación buen razonamiento, he aquí por q lo he colocado como reto, aquí guille nos explica que si se puede y que el lo ha conseguido.

http://www.ojodigital.com/foro/la-escuela-tutoriales-manuales-acciones-etc/131639-programa-para-eliminar-marcas-de-agua.html

saludos

bueno tmb mi ideal no es para quitar el copyright, pero esto le podría ayudar mucho a otra gente que ha perdido sus originales y la vdd este no es mi caso ya que yo NO soy diseñador, soy desarrollador, solo es una idea en tiempo de ocio y aquel que lo logre demostrará su capacidad y yo podría asegurar que alguna empresa que vea ese desarrollo lo contrata inmediatamente.

:)

Última edición por Curda; 14/06/2011 a las 10:01
  #8 (permalink)  
Antiguo 14/06/2011, 10:32
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 9 meses
Puntos: 128
Respuesta: Programa para borrar marcas de agua (RETO)

Cita:
Iniciado por Curda Ver Mensaje
Excelente explicación buen razonamiento, he aquí por q lo he colocado como reto, aquí guille nos explica que si se puede y que el lo ha conseguido.

http://www.ojodigital.com/foro/la-es...s-de-agua.html

saludos

bueno tmb mi ideal no es para quitar el copyright, pero esto le podría ayudar mucho a otra gente que ha perdido sus originales y la vdd este no es mi caso ya que yo NO soy diseñador, soy desarrollador, solo es una idea en tiempo de ocio y aquel que lo logre demostrará su capacidad y yo podría asegurar que alguna empresa que vea ese desarrollo lo contrata inmediatamente.

:)
de cuanto dinero estariamos hablando tuviera tiempo talves me interesaria, pero por ahora no Saludos.
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #9 (permalink)  
Antiguo 14/06/2011, 10:47
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Programa para borrar marcas de agua (RETO)

si fuese posible a mi me interesaría XD
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: agua, borrar, marcas, programa, reto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:16.