1.在处理图像时,一般直接使用opencv中的imread函数获取图片,但是获取到图片后没有用到opencv中的其他算法时,直接用图片处理就会出现耗时严重的情况,所以需要将图片形式转换成指针数组形式处理。

//定义初始化二维指针
unsigned short *src_arr;
src_arr = (unsigned short *)malloc(行 * 列* sizeof(unsigned short));

for (int i = 0; i < M; i++)
{
  temp_arr = src.ptr<ushort>(i); 
  for (int j = 0; j < N; j++)
  {
	  src_arr[i*M+j] = temp_arr[j];
   }
}

2.在定义指针数组函数时需要注意的是,函数定义与结果必须一致。

void function(unsigned short *src);

.Cpp
function(src_arr,);

void function(unsigned short *src)
{
	
	n_kern_x = 2 * round(3 * sigma) + 1;
	n_kern_y = n_kern_x;
		for (int j = 0; j < n_kern_y; j++) {
		for (int i = 0; i < n_kern_x; i++) {
			kern_yy_f[j*n_kern_y+ i] = kern_xx_f[i*n_kern_y+j];

		}
	}
	
}

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐