⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kernel.cc

📁 VC视频对象的跟踪提取原代码(vc视频监控源码)
💻 CC
字号:
/* * Kernel.cc * 3x3 Kernel class * for image processing */#include "Kernel.h"namespace ReadingPeopleTracker{Kernel::Kernel( int row1[3], int row2[3], int row3[3], bool by_row ){  if (by_row)    {      coeff[0][0] = row1[0]; coeff[0][1] = row1[1]; coeff[0][2] = row1[2];            coeff[1][0] = row2[0]; coeff[1][1] = row2[1]; coeff[1][2] = row2[2];            coeff[2][0] = row3[0]; coeff[2][1] = row3[1]; coeff[2][2] = row3[2];    }  else    {      coeff[0][0] = row1[0]; coeff[1][0] = row1[1]; coeff[2][0] = row1[2];            coeff[0][1] = row2[0]; coeff[1][1] = row2[1]; coeff[2][1] = row2[2];            coeff[0][2] = row3[0]; coeff[1][2] = row3[1]; coeff[2][2] = row3[2];    }}Kernel::Kernel(int data[9] , bool by_row){  if (by_row)    {      coeff[0][0] = data[0]; coeff[0][1] = data[1]; coeff[0][2] = data[2];            coeff[1][0] = data[3]; coeff[1][1] = data[4]; coeff[1][2] = data[5];            coeff[2][0] = data[6]; coeff[2][1] = data[7]; coeff[2][2] = data[8];    }  else    {      coeff[0][0] = data[0]; coeff[0][1] = data[3]; coeff[0][2] = data[6];            coeff[1][0] = data[1]; coeff[1][1] = data[4]; coeff[1][2] = data[7];            coeff[2][0] = data[2]; coeff[2][1] = data[5]; coeff[2][2] = data[8];    }}Kernel::Kernel(int d1,int d2, int d3, int d4, int d5, int d6, int d7, 	       int d8, int d9, bool by_row){  if (by_row)    {      coeff[0][0] = d1; coeff[0][1] = d2; coeff[0][2] = d3;            coeff[1][0] = d4; coeff[1][1] = d5; coeff[1][2] = d6;            coeff[2][0] = d7; coeff[2][1] = d8; coeff[2][2] = d9;    }  else    {      coeff[0][0] = d1; coeff[0][1] = d4; coeff[0][2] = d7;            coeff[1][0] = d2; coeff[1][1] = d5; coeff[1][2] = d8;            coeff[2][0] = d3; coeff[2][1] = d6; coeff[2][2] = d9;    }}  Kernel operator+ (Kernel& K1 , Kernel& K2){  Kernel sum;  for (int i = 0; i < 3; i++)    {      for (int j = 0; j < 3; j++)	{	  sum.coeff[i][j] = K1.coeff[i][j] + K2.coeff[i][j];	}    }  return sum;}Kernel operator* (Kernel& K1, Kernel& K2){  Kernel sum;  for (int i = 0; i < 3; i++)    {      for (int k = 0; k < 3; k++)	{	  sum.coeff[i][k] = 0;	  for (int j = 0; j < 2; j++)	    {	      sum.coeff[i][k] += K1.coeff[i][j] * K2.coeff[j][k];	    }	}    }  return sum;}} // namespace ReadingPeopleTracker

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -