elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Pregunta para Super Guru o tal vez no
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Pregunta para Super Guru o tal vez no  (Leído 3,357 veces)
sch3m4
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.608

Nihil est in intelectu quod prius not fuerit insen


Ver Perfil WWW
Re: Pregunta para Super Guru o tal vez no
« Respuesta #10 en: 8 Julio 2007, 11:46 am »

si lo que quieres es hacer un programa para ver la pantalla remota en tiempo real, no se hace así. Tienes que hacer una primera captura, alojarla en el pc remoto y enviarla al cliente, y periodicamente guardar en el servidor otra captura de pantalla, y contrastar los dos archivos en busca de bytes diferentes, en lo que realmente es la imagen, y enviarle esos bytes al cliente, junto con la posición en la que deberían estar.


En línea

SafetyBits

"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.(..
Timerlux

Desconectado Desconectado

Mensajes: 89


EmmHHHHHH !!!


Ver Perfil
Re: Pregunta para Super Guru o tal vez no
« Respuesta #11 en: 8 Julio 2007, 16:25 pm »

Si señor ,no se me habia ocurrido, asi los datos por cada fotograma a enviar son muchisimo menores.

Lympex me puedes decir de donde sabes tu eso, conoces algun Link, Manual, Codigo o algo.

Me gustaria saber como de forma simple y limpia, Comparando 2 Byte Array, le mando informacion al cliente de los "Bytes Cambiados" y la "Posicion", a primera vista se me ocurre un Array de 2 dimensiones, pero eso ya no me gusta y se me podria complicar el tema .

Gracias Lympex  ;D ;D ;D


En línea

Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Pregunta para Super Guru o tal vez no
« Respuesta #12 en: 8 Julio 2007, 17:13 pm »

Eso de tansmitir datos por comparación es lo ideal...pero esto no sirve para fotogramas capturados de la web cam, pues habrá muy pocos pixels que coincidan.

En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
Timerlux

Desconectado Desconectado

Mensajes: 89


EmmHHHHHH !!!


Ver Perfil
Re: Pregunta para Super Guru o tal vez no
« Respuesta #13 en: 8 Julio 2007, 17:33 pm »

Hendrix se puede hacer de forma cutre, si cojes el array de bytes del bitmap con 4 bits (16 colores) u 8 (256) bits de definicion ,si te coinciden muchisimos pixel pero pierdes mucha calidad.

Con "color real" 24 , 32 bits el minimo e inapreciable cabio de luz , cambia todos los pixels, nigun fotograma es igual al anterior aunque lo parezca, te lo digo por experiencia
En línea

Hendrix
In The Kernel Land
Colaborador
***
Desconectado Desconectado

Mensajes: 2.276



Ver Perfil WWW
Re: Pregunta para Super Guru o tal vez no
« Respuesta #14 en: 8 Julio 2007, 17:37 pm »

Ya lo se, por eso te digo que con webcam no funciona eso... ;) ;)
En línea

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
sch3m4
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.608

Nihil est in intelectu quod prius not fuerit insen


Ver Perfil WWW
Re: Pregunta para Super Guru o tal vez no
« Respuesta #15 en: 9 Julio 2007, 15:30 pm »

para la webcam también serviría, lo que ocurre es que no puedes hacer la comparación literalmente, tendrías que cojer grupos de bytes, y mirar el porcentaje de bytes que son iguales/diferentes, y ajustarlo a tu gusto.

Timerlux, lo sé porque no eres el primero ni el último que necesita optimizar código ;)

No es algo muy complejo, pero debes tener en cuenta, que no puedes comparar el archivo completo, debes empezar a comparar después de la cabecera y el pie del archivo.

Mirate la estructura del archivo de imagen que guardas, mira cuánto ocupa la cabecera, etc. Y evalúa el resto del archivo.

Después unicamente cojes el byte que quieras enviar, y lo envías junto con la posición en la que se encuentra en tu archivo, pero asegurate, de que el tipo del fichero es igual en el cliente que en el servidor.
En línea

SafetyBits

"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.(..
Timerlux

Desconectado Desconectado

Mensajes: 89


EmmHHHHHH !!!


Ver Perfil
Re: Pregunta para Super Guru o tal vez no
« Respuesta #16 en: 9 Julio 2007, 16:55 pm »

La historia es que yo no uso ningun archivo, me ahorro ese paso.

Ni si quiera uso una Picturebox en el servidor para contener la imagen capturada, en su lugar uso las APIS  "CreateCompatibleDC", "CreateCompatibleBitmap".

No obtengo el "Byte Array" de un archivo previamente guardado, lo obtengo directamente de la imagen capturada.

El dilema ahora es que para usar el metodo de comparar cambios en imagenes , necesito comparar diferencias entre 2 "Byte arrays" y me tarda mucho Milisegundos entre (100 y 400), parece mentira pero puede que me no compense hacer comparaciones, si bien en la velocidad de transmision de datos ganare mucho, en el procesamiento de la imagenes perdere mucho, necesito encontrar un codigo rapido que haga las comparaciones arrays y me de otro array con los cambios, ahora estoy con eso solo he encontrado un codigo que me puede resolver la papeleta pero tengo que depurarlo y entenderlo muy bien.

Saludos  ;D ;D ;D

En línea

Timerlux

Desconectado Desconectado

Mensajes: 89


EmmHHHHHH !!!


Ver Perfil
Re: Pregunta para Super Guru o tal vez no
« Respuesta #17 en: 9 Julio 2007, 17:07 pm »

Citar
Después unicamente cojes el byte que quieras enviar, y lo envías junto con la posición en la que se encuentra en tu archivo

Esa es otra cosa que todavía no se como sera la mejor manera de Hacerlo

- Un array de 2 dimensiones?
  Cambios(posicion, byte)
  que tal se llevan los arrays de 2 dimensiones con Winsock?

- Un array de string
  Cambios("23#45") 

Teniendo en cuenta que la mi prioridad es la rapidez, no se que hacer

 ;D ;D
En línea

sch3m4
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.608

Nihil est in intelectu quod prius not fuerit insen


Ver Perfil WWW
Re: Pregunta para Super Guru o tal vez no
« Respuesta #18 en: 9 Julio 2007, 23:24 pm »

no te digo que uses picture box, realmente en este caso te sirve para poco en el lado del servidor, lo que te digo, es que guardes la primera captura, y esa la envias completa, y la visualizas en el cliente.

Luego, puedes usar un timer, e ir realizando capturas y guardandolas en otro archivo, y comparas ese nuevo archivo con el anterior, y envías las diferencias. Después de hacer esto, reemplazas el archivo antiguo, por el nuevo, y vuelves a realizar la captura y guardarla.

Yo usaría una string.
En línea

SafetyBits

"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.(..
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
HDD Guru Level Format
Software
Zorronde 6 4,992 Último mensaje 16 Mayo 2011, 04:54 am
por simorg
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines