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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| // CTraitement.cpp
//
#include "stdafx.h"
#include "Traitement.h"
CTraitement::CTraitement()
{
}
long** CTraitement::createMatImg(int LInit, int CInit)
{
int x,y;
L=LInit;
C=CInit;
M = new long*[L];
for(y=0;y<L;y++) M[y] = new long[C];
for(y=0;y<L;y++)
{
for(x=0;x<C;x++)
{
M[y][x] = 0;
}
}
return M;
}
void CTraitement::convMatImg(long** M2,float k, int Y2, int X2)
{
int x,y,x1,y1,x2,y2,X,Y,v;
x2 = X2/2;
y2 = Y2/2;
long** temps = M;
long** M = new long*[L];
for(y=0;y<L;y++) M[y] = new long[C];
X=C-X2;
Y=L-Y2;
for(y=0;y<Y;y++)
{
for(x=0;x<X;x++)
{
v=0;
for(y1=0;y1<Y2;y1++)
{
for(x1=0;x1<X2;x1++)
{
v=v+temps[y+y1][x+x1]*M2[Y2-y1-1][X2-x1-1];
}
}
if(v<0) v=-v;
M[y+y2][x+x2] = (int)(k*v);
}
}
}
long** CTraitement::getMatImg(){
return M;
} |
Partager