Quiero usar tamizar la implementación en C#.

He encontrado esta web http://user.cs.tu-berlin.de/~nowozin/libsift/
pero estoy confundido porque no hay ningún programa principal o archivo de proyecto. Yo no podía entender cómo la puedo utilizar en condiciones normales de consola de C#/de la ventana de la aplicación y lo que es la regla de GK# es.

Podría alguno me dan algunos consejos útiles, o ¿alguien sabe otra aplicación en C#?

InformationsquelleAutor Shahgee | 2010-12-28

4 Comentarios

  1. 0

    La convención de nomenclatura sigue el original C código de la publicación de la UBC, ya que es sólo una prueba para ver cómo el algoritmo realiza. Estaré encantado de ayudar si usted necesita alguna.

    • He probado el código implementado por el Señor Tabibian pero me sale un error que dice:el tipo o El nombre de espacio de nombres ‘INVERT_METHOD’ no existe en el espacio de nombres ‘Emgu.CV.CvEnum’. He comprobado el cvEnum pero parece Invet_Method ha sido eliminado o no se admite más. ¿Hay algún otro comando que podría sustituir? [ la línea 660: tamizar.cs : CvInvoke.cvInvert(H, H_inv.Ptr, Emgu.CV.CvEnum.INVERT_METHOD.CV_SVD); ]
  2. 2

    No hay ningún programa principal porque es obvisouly una biblioteca de clase. Crear un proyecto utilizando su IDE favorito y añadir los archivos de origen, o abrir una ventana de terminal y de construir la biblioteca utilizando el fichero Makefile.

  3. 1

    https://sites.google.com/site/btabibian/projects/3d-reconstruction/code

    Usted puede encontrar una aplicación que tiene una Tamizar la clase. Se basa en EmguCV de la biblioteca.
    El sift_features (nombre está muy en contra de C# convenciones) devuelve una lista de la Característica de objeto, que tiene una doble[] descriptor de miembro.

    • He probado el código implementado por el Señor Tabibian pero me sale un error que dice:el tipo o El nombre de espacio de nombres ‘INVERT_METHOD’ no existe en el espacio de nombres ‘Emgu.CV.CvEnum’. He comprobado el cvEnum pero parece Invet_Method ha sido eliminado o no se admite más. ¿Hay algún otro comando que podría sustituir? [ la línea 660: tamizar.cs : CvInvoke.cvInvert(H, H_inv.Ptr, Emgu.CV.CvEnum.INVERT_METHOD.CV_SVD); ]
  4. 1

    Este código es muy similar a la de Surf algoritmo http://www.emgu.com/wiki/index.php/SURF_feature_detector_in_CSharp .

        public Image<Bgr, Byte> PutFeaturesOnImage(string file)
        {
            Image<Gray, Byte> modelImage = new Image<Gray, byte>(file);
            SIFTDetector siftCPU = new SIFTDetector();
            VectorOfKeyPoint modelKeyPoints = new VectorOfKeyPoint();
            MKeyPoint[] mKeyPoints = siftCPU.DetectKeyPoints(modelImage, null);
            modelKeyPoints.Push(mKeyPoints);
            ImageFeature<float>[] reulst = siftCPU.ComputeDescriptors(modelImage, null, mKeyPoints);
            Image<Bgr, Byte> image = Features2DToolbox.DrawKeypoints(modelImage, modelKeyPoints, new Bgr(Color.Red), Features2DToolbox.KeypointDrawType.DEFAULT);
            return image;
        }

    Recuerde agregar bcn:

    using Emgu.CV;
    using Emgu.CV.Features2D;
    using Emgu.CV.Util;
    using Emgu.CV.Structure;
    using System.Drawing;

    He comparado EmguCv y OpenCV TAMIZAR algoritmos. Los resultados son los mismos. En ambos ejemplos son exactamente el mismo número de características.

Dejar respuesta

Please enter your comment!
Please enter your name here