Bonjour à tous, j’essaie de mettre en place une blockiness detection dans une vidéo. Pour cela je dois calculer une différence absolue pour chaque ligne avec la suivante.
Apparemment j'ai un problème d'accès mémoire au niveau du copyTo car j’obtiens une
temp_1 est une matrice en luminance single channelCv::exception at memory location 0x001712
Quelqu'un a une idée du problème?
Code : 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 //Block detection initializations: Mat Row_diff(WIDTH,HEIGHT-1,CV_8UC1), Col_diff(WIDTH-1,HEIGHT-1,CV_8UC1); Mat Row(WIDTH,1,CV_8UC1),Col(1,HEIGHT-1,CV_8UC1); Mat Ar(WIDTH,1,CV_8UC1),Br(WIDTH,1,CV_8UC1); int r,c; //Diference between adjacent pixels //Rows for(r=0;r<HEIGHT-1;r++){ Ar = temp_1.row(r); Br = temp_1.row(r+1); absdiff(Ar,Br,Row); Row.copyTo(Row_diff.row(r)); //????? } imshow( "Diff Map",Row_diff);
Partager