void HUandThickness() { //thickness data string dir1(input1);//K:\sdf\volume\clean\clean\ep// D:\sdfdata\distance\rocdata //origion data string dir2(input2);//K:\sdf\volume\clean\clean\ep\rocdatao //skeleton data string dir3(input3);//K:\sdf\volume\clean\clean\ep\rocdatao //cout << dir1 <<endl; vector<string> files1; vector<string> files2; vector<string> files3; GetFileNameFromDir(dir1, files1); GetFileNameFromDir(dir2, files2); GetFileNameFromDir(dir3, files3); vector<string>::iterator iterFile1, iterFile2 = files2.begin(), iterFile3 = files3.begin(); for (iterFile1 = files1.begin(); iterFile1 != files1.end(); iterFile1++) { iterFile1->assign(iterFile1->substr(dir1.size() + 1)); iterFile2->assign(iterFile2->substr(dir2.size() + 1)); iterFile3->assign(iterFile3->substr(dir3.size() + 1)); cout << *iterFile1 << endl; cout << *iterFile2 << endl; //iterFile2++; int l = 0, m = 0, n = 0; char dst1[200], dst2[200], dst3[200]; strcpy(dst1, (*iterFile1).c_str()); //string-->char strcpy(dst2, (*iterFile2).c_str()); strcpy(dst3, (*iterFile3).c_str()); RawImage test; char dir3[200] = input1; char dir4[200] = input2; char dir5[200] = input1; char dir6[200] = input3; strcat(dir3, dst1); strcat(dir4, dst2); strcat(dir5, dst1); strcat(dir6, dst3); short*orgiondata = test.readStream(dir4, &l, &m, &n); PIXTYPE * innerdata = new PIXTYPE[l*m*n]; test.readImage2(innerdata, dir3, l*m*n); unsigned char * skeletondata = new unsigned char[l*m*n]; test.readImage(skeletondata, dir6, l*m*n); float *inputo = new float[l*m*n]; PIXTYPE *skeletondataF = new PIXTYPE[l*m*n]; PIXTYPE *innerdataF = new PIXTYPE[l*m*n]; PIXTYPE max = 0, min = 1000; for (int i = 0; i < l*m*n; i++) { PIXTYPE a = inputo[i] = (float)orgiondata[i] + 1020; max > a ? max = max : max = a; min < a ? min = min : min = a; PIXTYPE b = skeletondataF[i] = biglittleedian(float(skeletondata[i])); //if (PIXTYPE c=innerdataF[i]=biglittleedian((float)innerdata[i])) //{ // cout <<"aaa"<<endl; //} PIXTYPE c = innerdataF[i] = biglittleedian((float)innerdata[i]); } cout << max << endl; cout << min << endl; delete[]skeletondata; delete[]innerdata; delete[] orgiondata; Raw *thickness = new Raw(l, m, n, innerdataF, true); Raw *orgion = new Raw(l, m, n, inputo); Raw *skeleton = new Raw(l, m, n, skeletondataF); Raw *hu = thicknessequalHU(orgion, thickness); queue<Point>q; vector<Point> c; DivideRegion *dr = new DivideRegion(q, skeleton, c); dr->putskletoninorder(); dr->DivideRegionv2(skeleton, hu); dr->DivideRegionthicknessv2(skeleton, thickness); } }