Bonjour, Je cherche à faire une implémentation OpenCV en C++ similaire à ce code ci-dessous sur Matlab, pouvez vous m'aider à faire cette conversion..
Il s'agit de la dérivée gaussienne:
Code matlab : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function [H]= gDer(img,sigma, iorder,jorder)
 
%Initialize the filter
break_off_sigma = 3.;
filtersize = floor(break_off_sigma*sigma+0.5);
img=fill_border(img,filtersize);
x=-filtersize:1:filtersize;
Gauss=1/(sqrt(2 * pi) * sigma)* exp((x.^2)/(-2 * sigma * sigma) );
 
switch(iorder)
case 0
    Gx= Gauss/sum(Gauss);
case 1
    Gx  =  -(x/sigma^2).*Gauss;
    Gx  =  Gx./(sum(sum(x.*Gx)));
end
 
H = filter2(Gx,img);
 
switch(jorder)
case 0
    Gy= Gauss/sum(Gauss);
case 1
    Gy  =  -(x/sigma^2).*Gauss;
    Gy  =  Gy./(sum(sum(x.*Gy)));
end
 
H = filter2(Gy',H);
H=H(filtersize+1:size(H,1)-filtersize,filtersize+1:size(H,2)-filtersize);

Merci d'avance