void mitk::ToFCompositeFilter::GenerateData() { // copy input 1...n to output 1...n for (unsigned int idx=0; idx<this->GetNumberOfOutputs(); idx++) { mitk::Image::Pointer outputImage = this->GetOutput(idx); mitk::Image::Pointer inputImage = this->GetInput(idx); if (outputImage.IsNotNull()&&inputImage.IsNotNull()) { ImageReadAccessor inputAcc(inputImage, inputImage->GetSliceData()); outputImage->CopyInformation(inputImage); outputImage->Initialize(inputImage->GetPixelType(),inputImage->GetDimension(),inputImage->GetDimensions()); outputImage->SetSlice(inputAcc.GetData()); } } //mitk::Image::Pointer outputDistanceImage = this->GetOutput(); ImageReadAccessor outputAcc(this->GetOutput(), this->GetOutput()->GetSliceData(0, 0, 0) ); float* outputDistanceFloatData = (float*) outputAcc.GetData(); //mitk::Image::Pointer inputDistanceImage = this->GetInput(); ImageReadAccessor inputAcc(this->GetInput(), this->GetInput()->GetSliceData(0, 0, 0) ); // copy initial distance image to ipl image float* distanceFloatData = (float*)inputAcc.GetData(); memcpy(this->m_IplDistanceImage->imageData, (void*)distanceFloatData, this->m_ImageSize); if (m_ApplyThresholdFilter||m_ApplyMaskSegmentation) { ProcessSegmentation(this->m_IplDistanceImage); } if (this->m_ApplyTemporalMedianFilter||this->m_ApplyAverageFilter) { ProcessStreamedQuickSelectMedianImageFilter(this->m_IplDistanceImage); } if (this->m_ApplyMedianFilter) { ProcessCVMedianFilter(this->m_IplDistanceImage, this->m_IplOutputImage); memcpy( this->m_IplDistanceImage->imageData, this->m_IplOutputImage->imageData, this->m_ImageSize ); } if (this->m_ApplyBilateralFilter) { float* itkFloatData = this->m_ItkInputImage->GetBufferPointer(); memcpy(itkFloatData, this->m_IplDistanceImage->imageData, this->m_ImageSize ); ItkImageType2D::Pointer itkOutputImage = ProcessItkBilateralFilter(this->m_ItkInputImage); memcpy( this->m_IplDistanceImage->imageData, itkOutputImage->GetBufferPointer(), this->m_ImageSize ); //ProcessCVBilateralFilter(this->m_IplDistanceImage, this->m_OutputIplImage, domainSigma, rangeSigma, kernelRadius); //memcpy( distanceFloatData, this->m_OutputIplImage->imageData, distanceImageSize ); } memcpy( outputDistanceFloatData, this->m_IplDistanceImage->imageData, this->m_ImageSize ); }
/*--------------------------------------------the end-------------------------------------*/ main(int args,char *argv[]){ struct account *client; struct error *err; char send_data[1024],recv_data[1024]; char user[30],*pass; char LapGame[1024]="LAPGAME"; int bytes_recieved,choose=1; int login=0; struct sockaddr_in address; int len; sockfd = socket(AF_INET, SOCK_STREAM,0); address.sin_family= AF_INET; inet_pton(AF_INET,argv[1],&address.sin_addr); address.sin_port= htons(9090); len= sizeof(struct sockaddr); int f_connect=connect(sockfd,(struct sockaddr*)&address,len); if(f_connect == -1){ printf("Error connect() !\n"); } do{ printf(" \n>>>>>> MENU <<<<<<\n"); printf(" 1. Dang ki\n 2. Dang nhap\n 3. Choi Game\n 4. Exit\n >> Xin moi chon: "); scanf("%d",&choose); while(getchar()!='\n'); switch(choose){ case 1: /*Dang ki mot tai khoan de choi co vua truc tuyen*/ strcpy(send_data,"REG"); send(sockfd, send_data,1024, 0); inputAcc(1,user,&login); break; case 2: /*Dang nhap tai khoan choi co vua*/ strcpy(send_data,"LOGIN"); send(sockfd, send_data,1024, 0); inputAcc(2,user,&login); break; case 3: if(login == 0 ) printf("Ban hay dang nhap truoc khi choi game nhe\n"); else { send(sockfd,LapGame,1024,0); chonPlayer(user); } break; case 4: /*Thoat ung dung*/ strcpy(send_data,"LOGOUT"); send(sockfd, send_data,1024, 0); printf("Chao tam biet !\n"); login=0; break; default: printf("Lua chon khong dung.\n"); break; } }while(choose != 4); close(sockfd); fflush(stdout); }