2013-06-07 7 views
0

iPhone 프로젝트에서 OpenCV를 사용하고 있습니다. 이 응용 프로그램에서는 Opencv 함수에서 NSString으로 변환해야하는 3x3 행렬을받습니다. 예 :누구나 cv :: Mat를 NSString으로 변환하는 방법을 알고 있습니까?

cv::Mat myMatrix = opencvClass.getMatrix(); 
NSString *matrixString = myMatrix.toNSString(); // this function does not exist actually but it is what I need 

제안 사항?

NSString NSStringFromCvMat(cv::Mat mat) 
{ 
    std::stringstream ss; 
    ss << mat; 
    return [NSString stringWithCString:ss.str().c_str() encoding:NSASCIIStringEncoding]; 
} 

안된지만 작동합니다 :

건배,

답변

3

난 당신이 convert it to a std::stringstream, 그것에서 바이트의 C 배열을 추출하고 NSString을 contruct이 사용할 수 같아요. 인코딩이 문제가 될 수 있습니다. 어쩌면 different values을 시도해보십시오.

나는 그것이 최선의 해결책이라고 생각하지 않는다. 그리고 당신은 OpenCV 소스 코드로 다이빙함으로써 더 깔끔하고 깨끗한 것을 발견 할 수있다.

+0

저에게 효과적이었습니다. 가장 깨끗한 방법은 아니지만 성능에 심각한 영향을 미치지 않도록 단지 3x3 매트릭스 만 사용하고 있습니다. 고맙습니다 =) – marcelosalloum

+0

+1 it.save 내 하루 –

+0

및 그 반대의 경우, 이렇게하면 게시하시기 바랍니다 –

관련 문제