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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ... 122
51  Programación / Programación C/C++ / Re: se pueden manejar imagenes en c en: 24 Abril 2014, 21:46 pm
y bueno por eso quisiera saber si se pueden manejar imagenes en c sin librerias externas.
Te lo acabo de demostrar, toda mi librería está hecha con la librería estándar. Sin librerías externas.

y bueno una pregunta mas e estado investigando sobre todo este tema de manejo de imagen y me encontre un procedimiento para comparar imagenes donde consiste en literarmente partir la imgen como si fuera una tabla comomuestro  acontinuacion espeor que me entiendan, y bueno mediante cooordenadas usando los pixeles se ve si la otra imagen coinside entonces las imagenes son iguales y si varia un poco decir ue se parecen. bueno nose si me entendienron y espeor que me puedan ayudar.
Pues claro, ese es el procedimiento que se usa siempre. Dos imagenes son iguales si tienen el mismo tamaño y el color de sus pixeles son iguales.

El problema es descodificar el archivo de la imagen para obtener la tabla. Algunos formatos son más sencillos que otros.

y bueno nose si me puedan ayudar con esto, quiero manejar imagenes jpeg y es que bueno me enseñaron un video que dura poco tiempo y no muestra el codigo completo pero donde muestra como abre la imagen en c y obtiene algo que se llama JPEG Standard and Quantization Tables de la imagen
JPEG es un formato chungo, intentalo mejor con BMP.

Aquí tienes una explicación de como funciona el BMP:
http://www.elotrolado.net/hilo_imagenes-bmp-destripandolas-a-fondo_1807836
52  Programación / Programación C/C++ / Re: se pueden manejar imagenes en c en: 24 Abril 2014, 11:53 am
Por supuesto, yo me hize una minilibrería de imagenes para prácticar (C++). Solo reconoce imagenes BMP pero bueno:
https://dl.dropboxusercontent.com/u/69551225/Libreria%20imagenes.rar

Creas dos objetos imagen y los comparas con el operador ==. Si da true esque son iguales.

Te dejo un listado de las funciones públicas

Código
  1. using namespace AMC; // Todas las funciones estan en el espacio de nombres AMC
  2.  
  3. Image* LeerBmp(const char*); // Devuelve un objeto Image a partir de un BMP
  4.  
  5. /** Class IMAGE **/
  6.  
  7. Image(Cord Dimensiones = Cord(0,0),RGB color = RGB::default_color()); // Constructor para crear una imagen desde cero
  8.  
  9. void trunc(Cord,RGB color = RGB::default_color()); // Fuerza un determinado tamanyo a la imagen, si la imagen es mas grande se colorearan los nuevos pixeles con lo que pongas en el segundo tamanyo.
  10.  
  11. int getLight() const; // Brillo actual de la imagen (entre -255 y 255), si no lo has cambiado será cero
  12. Cord getDimesions() const; // Retorna un objeto Cord con las dimensiones de la imagne
  13. RGB getPixel(Cord a) const; // Retorna el RGB de una posicion dada
  14. std::vector<RGB> getRow(unsigned int) const; // Retorna un vector con los pixeles de una fila
  15. std::vector<RGB> getColumn(unsigned int) const; // Retorna un vector con los pixeles de la columna
  16.  
  17. void setLight(int b); // Selecciona el brillo (entre -255 y 255)
  18. void setPixel(Cord a,RGB color) ; // Pinta un determinado pixel de un color
  19. void Negative(); // Invierte los colores de la imagen
  20.  
  21. bool operator==(const Image &a) const; // Las imagenes son iguales?
  22. bool operator!=(const Image &a) const; // Las imagenes son distintas?
  23.  
  24. /** Class Cord **/
  25.  
  26. // Representa un vector X,Y
  27.  
  28. Cord(unsigned int x,unsigned int y); // Constructor
  29.  
  30. unsigned int getX() const;
  31. unsigned int getY() const;
  32. void setX(unsigned int);
  33. void setY(unsigned int);
  34.  
  35. bool operator==(const Cord) const;
  36. bool operator!=(const Cord a) const;
  37.  
  38.  
  39. /** Class RGB **/
  40.  
  41. RGB(); // Construye el color negro
  42. RGB(int); // Construye un color a partir de su representación entera
  43. RGB(int r,int g,int b); // Construye un color a partir de sus valores de Rojo, verde y azul
  44. RGB(const RGB & r); // Copia
  45.  
  46. void setR(int r);
  47. void setG(int g);
  48. void setB(int b);
  49.  
  50. int getR() const {return R;}
  51. int getG() const {return G;}
  52. int getB() const {return B;}
  53. int getInt() const; // Representación de los tres colores en formato entero
  54.  
  55. operator int();
  56.  
  57. bool operator==(const RGB & a) const;
  58. bool operator==(int a) const;
  59. bool operator!=(const RGB & a) const;
  60. bool operator!=(int a) const;
53  Programación / Programación C/C++ / Re: Duda con matrices y paso por parametro en: 23 Abril 2014, 16:19 pm
En verdad, no le veo la utilidad a un parámetro del tipo:
Código
  1. int funcion ( int matriz[][9]){...}

Pudiendo pasar:
Código
  1. int funcion ( int **matriz){...}

Hay alguna ganancia? Se puede pasar una matriz a cualquiera de ellos. Es más, se detecta como una redefinición en caso de poner:

Código
  1. void f(int *m[5]){
  2. }
  3. void f(int **m){
  4. }

No se sobrecarga.
La diferencia en que una definición espera una matriz estatica y otra definición espera punteros de punteros.

A la seguna definición no le puedes pasar una matriz estatica:
Citar
error: cannot convert 'int (*)[9]' to 'int**' for argument '1' to 'void f(int**)'|

Las matrices estáticas no se almacenan como punteros de punteros, sino como un array muy largo. Es el compilador quien traduce los dos [] [] por uno solo []. Para hacer eso necesita saber el tamaño del primero.
54  Programación / Programación C/C++ / Re: estructuras en ficheros en: 23 Abril 2014, 10:09 am
No no, he dicho fprintf. Con la F al principio.
55  Programación / Programación C/C++ / Re: estructuras en ficheros en: 23 Abril 2014, 02:38 am
No es eso Engel Lex, el problema esque está escribiendo la estructura literal. Y ahí no hay ningun texto (solo "punteros" a texto).

Para imprimir texto debes usar fprintf, se usa igual que el printf pero poniendo el correspondiente FILE* en el primer argumento.
56  Programación / Programación C/C++ / Re: como borro o modifico datos en un fichero? en: 23 Abril 2014, 02:36 am
Cambia primero los datos en memoria y cuando vayas a guardar reescribes todos y punto.
57  Programación / Programación C/C++ / Re: operador ~ en: 23 Abril 2014, 01:35 am
Cierto, los floats no van.

El complemento a uno es el unico operador unario los demas son todos binarios este operador lo que hace es invertir cada bit del número.

Saludos..
¿Que hay de la negación lógica (!), de la indirreción (*), de la referencia (&), del sizeof y del delete? ;D
58  Programación / Programación C/C++ / Re: operador ~ en: 22 Abril 2014, 23:44 pm
Hasta donde se, se puede usar con cualquier dato primitivo (float incluido).
59  Programación / Programación C/C++ / Re: Duda con matrices y paso por parametro en: 22 Abril 2014, 23:43 pm
La primera linea no va a compilar...

Y si compila no va a aceptar matrices estaticas. Solo las que se han creado dinámicamente.
60  Programación / Programación C/C++ / Re: Duda con matrices y paso por parametro en: 22 Abril 2014, 18:22 pm
Tamaño fila debe conocerse durante la compilación. Por lo que no puede ser una variable global que tengas por ahi (aunque una constante si valdria).

Si estas en C++. Puedes hacer un vector de vector. Asi no te lias ;)
Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ... 122
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines