| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Ovat Cdt

Registrado: 27 Feb 2006Mensajes: 16Ubicación: Cali-Colombia
|
Publicado: Vie 16 Jun, 2006 1:43 am Asunto: Procesamiento de imagenes |
|
|
| Necesito algo de ayuda... tengo una imagen generada a partir de un canvas o en otro caso una imagen bmp cargada desde un archivo, necesito pasarla a escala de grises para luego convertirla solo en blanco y negro y así hacer detección de bordes. Bueno, apenas estoy empezando este módulo de mi aplicación y no sé como obtener la información RGB de la imagen (TImage), para lograr a partir de esto la imagen en escala de grises. |
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Vie 16 Jun, 2006 1:55 am Asunto: ok... |
|
|
Puedes usar componentes como el VideoLab-VisonLab, etc, que te hacen esto muy fácil; también puedes llamar a matlab desde builder y hacer lo mismo. Esto puede buscarlo facilmente y encontrar información. Espero te sirva, si algo me avisas si tienes problemas. Suerte.... _________________ Entre más sé, sé que nada sé
----------------------------------
Miguel Angel Torres Arredondo
Siegen - Deutschland |
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Vie 16 Jun, 2006 2:04 am Asunto: aqui está el vínculo... |
|
|
El vinculo es:
http://www.mitov.com
Suerte.... _________________ Entre más sé, sé que nada sé
----------------------------------
Miguel Angel Torres Arredondo
Siegen - Deutschland |
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Mar 04 Jul, 2006 1:24 pm Asunto: |
|
|
Revisando preguntas del foro y mirando respuestas encontré un link que te puede ser muy útil, ya que aquí puedes encontrar el código fuente de lo que necesitas a diferencia de las componentes pagas de mitov, ahi te va el vínculo:
http://www.catenary.com/sampcode/vicsamp.html
Espero te sirva y nos cuentas como te fue. Suerte..... _________________ Entre más sé, sé que nada sé
----------------------------------
Miguel Angel Torres Arredondo
Siegen - Deutschland |
|
| Volver arriba |
|
 |
Jumanor Lt


Registrado: 28 Feb 2003Mensajes: 91Ubicación: tacna-Peru
|
Publicado: Jue 06 Jul, 2006 9:49 pm Asunto: matlab |
|
|
holas:
Podrias darme alguna idea(un poco d codigo) d como conectarme con matlab con c++ buider 6
Saludos |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Vie 07 Jul, 2006 6:30 pm Asunto: Jumanor |
|
|
Primero que todo, debes buscar este .h y .cpp ya que en el momento yo no lo tengo:
| Código: |
#include "MatlabEng.h"
#include "MatlabEng.cpp"
|
Estos creo que los encuentras en:
http://www.codeproject.com/samples/matlabeng.asp
y ahi el resto es que leas y juegues con lo que encuentres. Espero que te sirva mucho porque usar el poder computacional y matemático de matlab más la interfaz gráfica que se suministra en BCB se vuelve una herramienta muy poderosa. Me cuentas como te fue, o si no para publicar un ejemplo. Suerte.... _________________ Entre más sé, sé que nada sé
----------------------------------
Miguel Angel Torres Arredondo
Siegen - Deutschland |
|
| Volver arriba |
|
 |
Ovat Cdt

Registrado: 27 Feb 2006Mensajes: 16Ubicación: Cali-Colombia
|
Publicado: Jue 13 Jul, 2006 7:12 pm Asunto: Autorespuesta |
|
|
Primero que todo les agradezco la ayuda a quienes me respondieron. Aquí incluiyo como lo hice finalmente. Lo de AudioLab lo usaré para otra cosa de procesamiento de voz y la idea de MatLab creo que me puede servir en otros pedazos del programa. Nuevamente gracias por su valiosa ayuda.
void TFormIm::Grises (TObject *Sender)
{
TColor Pru;
int R, G, B, temp, temp2;
for(int k=0; k<TamanoImagen; k++)
{
for(int g=0; g<TamanoImagen; g++)
{
Pru=FormPpal->Image2->Canvas->Pixels[k][g];
L = ColorToRGB(Pru);
R = L/pow(2,16);
temp= fmod( L,65536 ) ; //pow(2,16)
G = temp/256; //pow(2, ;
B = fmod(temp,256);
R = R*0.299;
G = G*0.587;
B = B*0.114;
L = 65536*(R+G+B) + 256*(R+G+B) + (R+G+B);
Image1->Canvas->Pixels[k][g]= L;
}
}
Image1->Visible=true;
}
Lo primero es separar las componentes del valor decimal que da el color, este decimal es como 3 numeros binarios de 8 bits seguidos lo cual da 24 bits ( en realidad 32 por ser un DWORD ) que se convierten en decimal.
Después se ponderan los valores de R, G y B según la sensibilidad del ojo humano para captar los colores (ej R*0.299). Luego se arma nuevamente el decimal que representará el color para que el builder pueda interpretarlo: 65536*(R+G+B) + 256*(R+G+B) + (R+G+B), y teniendo en cuenta que todos lo planos (R, G y B) deben tener el mismo valor que es la suma (R+G+B).
Bueno espero que haya sido claro, cualquier cosa pueden contactarme.
Ultima edición por Ovat el Jue 13 Jul, 2006 11:11 pm, editado 1 vez |
|
| Volver arriba |
|
 |
Miguel Angel Torres Master


Registrado: 23 Abr 2006Mensajes: 282Ubicación: Siegen, Alemania
|
Publicado: Jue 13 Jul, 2006 10:55 pm Asunto: |
|
|
Si necesitas hacer manipulación de señales e imágenes lo mejor si puedes sería utilizar el MatLab (hacer la interfáz gráfica en Builder, ya que en matlab no es muy ameno crear interfaces) ya que con este puedes hacer todo lo que desees tanto con Señales de Audio o Imágenes (etc...), como lo son filtros, Transformada de Fourier, Fuzzy (etc...), para mayor facilidad, al menos que seas muy amante de implementar todo por ti mismo pues igual lo puedes hacer ya que esto no tiene ningún misterio. Suerte.... _________________ Entre más sé, sé que nada sé
----------------------------------
Miguel Angel Torres Arredondo
Siegen - Deutschland |
|
| Volver arriba |
|
 |
|