#ifndef FUNKCE_H
#define FUNKCE_H

#include <exception>
#include<highgui.h>
#include <cv.h>

#include <iostream>
#include <cmath>

#include "my_image.h"
#include "my_image_t.h"
#include <vector>

#include <lib.h>


void show_image(my_image * img,int time=0);
void save_image(my_image * img,char * name);
void show_point_on_image(my_image *img ,std::vector<BOD> body,int size);
my_image * load_image(const char * path);

void my_mouse_callback_write_pixel( int event, int x, int y, int flags, void* param );

my_image * edge(my_image * img,double t1=0,double t2=100,int size=3);
my_image * gauss_smooth(my_image *img,int size_kernel);

my_image_T<int> * harris(my_image *img,int okenko=10);//okenko- vzdalenost mezi dvemi body- okenkova filrace. okenko je polomer
my_image_T<int>  * harris_cv(my_image *img,int blockSize=2,int aperture=3,double k=0.04);


my_image_T<int> * convolution(my_image *img,int * maska,int sirka,int delitel=1);//sirka musi byt na obe strany stejna napr int maskaX[3][3] ={{1,1,1}, {0,0,0},{-1,-1,-1}};




void invert(IplImage * dest);

#endif // FUNKCE_H
