2014-09-05 7 views
0

Processing2.1을 SimpleOpenNI 1.96 (http://shiffman.net/p5/kinect/의 지침에 따라)과 함께 실행하고 있습니다. DepthImage 예제 스케치를 수정하고 파일 쓰기 (아래 코드)를 추가했습니다.SimpleOpenNI Kinect 응용 프로그램에서 Processing의 "내보내기"기능이 작동하지 않습니다.

Kinect에서 깊이 데이터를 선택한 폴더의 .txt 파일로 출력하려고합니다. Processing IDE에서 스케치는 정상적으로 실행됩니다. 깊이는 파일에 정확하게 출력됩니다.

그러나이 기능을 .exe 파일로 사용하면 다른 프로그램에서이 .exe를 실행하고 런타임에 해당 파일을 읽을 수 있습니다. Processing IDE의 내보내기 기능은 오류없이 실행되며 win32 및 win64 응용 프로그램 폴더를 모두받습니다. 그러나 만약 그들 중 하나에 .exe 현재를 실행하면 아무 일도 일어나지 않습니다. 어디서나 오류를 볼 수 없습니다. 내보내는 동안 "현재 모드"를 선택해도 회색 화면 만 나타나지만 내가 제공 한 경로에 어떤 파일도 기록되지 않습니다. 내보내기 옵션 창에서 다양한 선택 사항 (PresentMode/Export java)을 전환 할 수 없습니다. 누군가가 또 다른 포럼에 그것을 시도하기 때문에

import SimpleOpenNI.*; 
SimpleOpenNI context; 

int[] dmap; 
int dsize; 
float[] dmapf; 
PrintWriter output; 
int fitr; 
String path; 

void setup() 
{ 
    size(640*2, 480); 
    fitr=1; 
    context = new SimpleOpenNI(this); 
    if (context.isInit() == false) 
    { 
     println("Can't init SimpleOpenNI, maybe the camera is not connected!"); 
     exit(); 
     return; 
    } 



// mirror is by default enabled 
    context.setMirror(false); 

    // enable depthMap generation 
    context.enableDepth(); 

    // enable ir generation 
    context.enableRGB(); 

    path = savePath("E:\\SYMMBOT\\DepthReading"); 
} 

void draw() 
{ 
    // update the cam 
    context.update(); 
    dmap = context.depthMap(); 
    //dmapf = dmap.array(); 

    output = createWriter(path+"\\depth"+fitr+".txt"); 
    fitr++; 
    int itr = 0; 
    for(int i=0; i<480; i++){ 
    for(int j=0;j<640;j++){ 
     output.print(dmap[itr]+" "); 
     itr++; 
    } 
    output.println(); 
    } 
    output.flush(); 
    output.close(); 
    //dsize = context.depthMapSize(); 
    background(200, 0, 0); //<>// 

    // draw depthImageMap 
    image(context.depthImage(), 0, 0); 

    // draw irImageMap 
    image(context.rgbImage(), context.depthWidth() + 10, 0); 
} 

내가 savePath() 함수를 사용하여 시도 (하지만이 KINECT 응용 프로그램 아니었다) : 다음

는 IDE에서 제대로 작동 내 스케치입니다. 하지만 변경이 필요하지 않습니다. - .exe를 사용하지 않고 Processing IDE에서 실행할 경우에만 작동합니다. 모든 제안을 부탁드립니다.

답변

0

메이트, 응용 프로그램 내보내기와 동일한 문제가있었습니다. 프로그램을 실행해도 문제가 없었지만 응용 프로그램을 내보낼 때 실행되지 않았습니다.

해결 방법 : 에 처리 3.0a4를 다운로드 한 다음 문제를 해결 한 다음 시도하십시오!