libcvd-members
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libcvd-members] Example program for the new tensor voting code.


From: Edward Rosten
Subject: [libcvd-members] Example program for the new tensor voting code.
Date: Thu, 13 Dec 2007 16:34:03 -0700 (MST)




#include <cvd/image_io.h>
#include <cvd/tensor_voting.h>
#include <TooN/SymEigen.h>

using namespace CVD;
using namespace std;
using namespace TooN;

int main()
{
        Image<double> image = img_load(cin);

        Image<Matrix<2> > field = dense_tensor_vote_gradients(image, 3, 3);

        Image<double> done(field.size());
        double maximum=0;
        for(int y=0; y < field.size().y ; y++)
                for(int x=0; x < field.size().x ; x++)
                {
                        SymEigen<2> se(field[y][x]);

                        double score = max(se.get_evalues()[1] - 2 * 
se.get_evalues()[0], 0.);

                        maximum = max(maximum, done[y][x] =score);
                }

        for(int y=0; y < field.size().y ; y++)
                for(int x=0; x < field.size().x ; x++)
                        done[y][x] /= maximum;

        img_save(done, cout, ImageType::PNG);
}


--
(You can't go wrong with psycho-rats.)  (http://mi.eng.cam.ac.uk/~er258)

/d{def}def/f{/Times findfont s scalefont setfont}d/s{11}d/r{roll}d f 2/m
{moveto}d -1 r 230 350 m 0 1 179{1 index show 88 rotate 4 mul 0 rmoveto}
 for /s 12 d f pop 235 420 translate 0 0 moveto 1 2 scale show showpage




reply via email to

[Prev in Thread] Current Thread [Next in Thread]