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

📄 find.cpp.txt

📁 根据MATLAB中的find函数
💻 TXT
字号:
void CFind::findbe(double* numloc,int len,double T,int** loc,int* flagbe)
{
	int i;
	int* loc_temp = new int[len];

	*flagbe = 0;

	for (i=0;i<len;++i)
	{
		if (numloc[i]>=T)
		{
			loc_temp[*flagbe] = i;
			++(*flagbe);
		}
	}

	*loc = new int[*flagbe];
	memcpy(*loc,loc_temp,(*flagbe)*sizeof(int));

	delete []loc_temp;
}

void CFind::findsm(double* numloc,int len,double T,int** loc,int* flagsm)
{
	int i;
	int* loc_temp = new int[len];

	memset(loc_temp,0,len*sizeof(int));

	*flagsm = 0;

	for (i=0;i<len;++i)
	{
		if (numloc[i]<T)
		{
			loc_temp[*flagsm] = i;
			++(*flagsm);
		}
	}

	// 	if (*flagsm==0)
	// 		(*flagsm) ++;
	*loc = new int[*flagsm];
	memcpy(*loc,loc_temp,(*flagsm)*sizeof(int));

	delete []loc_temp;
}


void CFind::findlb(unsigned char* image_label,int height,int width,int label,int** row,int** col,int* flaglb)
{	
	int* row_temp =new int[height*width];
	int* col_temp = new int[height*width];
	
	

	memset(row_temp,0,height*width*sizeof(int));
	memset(col_temp,0,height*width*sizeof(int));
	*flaglb = 0;

	for (int i=0;i<height;++i)
	{
		for (int j=0;j<width;++j)
		{
			if (image_label[i*width+j]==label)
			{
				row_temp[*flaglb] = i;
				col_temp[*flaglb] = j;
				// 				(*row)[*flaglb] = i;
				// 				(*col)[*flaglb] = j;
				++ (*flaglb);
			}			 
		}
	}

	//(*flaglb)--;
	
//	TRACE("new\n");

	*row = new int[*flaglb];
	*col = new int[*flaglb];
	memset(*row,0,(*flaglb)*sizeof(int));
	memset(*col,0,(*flaglb)*sizeof(int));

	memcpy(*row,row_temp,(*flaglb)*sizeof(int));
	memcpy(*col,col_temp,(*flaglb)*sizeof(int));

	delete []row_temp;
	delete []col_temp;

}

⌨️ 快捷键说明

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