예제 #1
0
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 );
}
예제 #2
0
/*--------------------------------------------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);
}