| 123456789101112131415161718192021222324252627282930313233343536 |
- #include <stdlib.h>
- #include <math.h>
- #include "../tp2.h"
- void diff_c (
- unsigned char *src,
- unsigned char *src_2,
- unsigned char *dst,
- int m,
- int n,
- int src_row_size,
- int src_2_row_size,
- int dst_row_size
- ) {
- unsigned char (*src_matrix)[src_row_size] = (unsigned char (*)[src_row_size]) src;
- unsigned char (*src_2_matrix)[src_2_row_size] = (unsigned char (*)[src_2_row_size]) src_2;
- unsigned char (*dst_matrix)[dst_row_size] = (unsigned char (*)[dst_row_size]) dst;
- int i,j,val;
- printf("%d %d \n", n,m);
- for(i=0;i<n;i++){
- for(j=0;j<m*4;j+=4){
- val=((src_matrix[i][j+1]-src_2_matrix[i][j+1])+(src_matrix[i][j+2]-src_2_matrix[i][j+2])+(src_matrix[i][j+3]-src_2_matrix[i][j+3])) / 3;
- if (val < 0)
- val=-val;
- dst_matrix[i][j+0]=val;
- dst_matrix[i][j+1]=val;
- dst_matrix[i][j+2]=val;
- dst_matrix[i][j+3]=0;
- }
- }
- }
|