📄 find.cpp.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 + -