| 12
 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