블렌더에서 생성 된 깊이 맵을로드하려고합니다. Depthmap을로드하면 잘못된 값이 생성됩니다.
OpenCV는 이미지를로드하고 이미지에서 하나의 테스트 값을 표시합니다. 깊이로드 - 1 - 255 0
TestValue: 31110
포토샵 I는 숫자 형식 0 필요 121
의 계조 값을 나타낸다 :
cv::Mat depthMap = cv::imread(path, CV_LOAD_IMAGE_ANYDEPTH);
std::cout << "TestValue: " << depthMap.at<short>(0,0) << std::endl;
++ C의 출력은 다음과 같은 값 테스트 값이 121 또는 0.4745가되도록 맵을 만듭니다. 깊이 맵을 정규화하면 0 - 1의 값을 갖지만 깊이 맵에서 가장 높은 값은 255가 아닌 121입니다.
내가 뭘 잘못하고 있는지 아이디어가 있습니까?
depthMap.type()은 무엇을 제공합니까? – berak
그것은 2라고 말하며 채널 번호는 1 – glethien
입니다. 서명되지 않은 짧은 코드이므로 depthMap.at (0,0)'으로 액세스해야합니다. (포토샵은 자동으로 uchar [0-255 ]) –
berak