누구나 OpenCV에서 Brox 밀도 광학 흐름 알고리즘을 사용할 수 있습니까? 나는 시도하고 cv::gpu::BroxOpticalFlow
객체를 사용할 때, 나는 cv::gpu::PyrLKOpticalFlow
와 같은 문제 만 조밀 한 버전이 아닌 스파 스 하나가, 위의 주석으로, 나는 예외가opencv_core244d에서 OpenCV - Brox 광학 흐름 - 예외! cv :: GlBuffer :: unbind
{
// Load images
cv::Mat PreviousFrameGrayFloat; // Has an image in format CV_32FC1
cv::Mat CurrentFrameGrayFloat; // Has an image in format CV_32FC1
// Upload images to GPU
cv::gpu::GpuMat PreviousFrameGPU(PreviousFrameGrayFloat);
cv::gpu::GpuMat CurrentFrameGPU(CurrentFrameGrayFloat);
// Prepare receiving variables
cv::gpu::GpuMat FlowXGPU;
cv::gpu::GpuMat FlowYGPU;
// Create optical flow object
cv::gpu::BroxOpticalFlow OpticalFlowGPU = cv::gpu::BroxOpticalFlow(0.197f, 0.8f, 50.0f, 10, 77, 10);
// Perform optical flow
OpticalFlowGPU(PreviousFrameGPU, CurrentFrameGPU, FlowXGPU, FlowYGPU); // EXCEPTION
// Exception in opencv_core244d!cv::GlBuffer::unbind
// Download flow from GPU
cv::Mat FlowX;
cv::Mat FlowY;
FlowXGPU.download(FlowX);
FlowYGPU.download(FlowY);
}
: 여기
몇 가지 코드 그리고cv::gpu::FarnebackOpticalFlow
은 잘 작동합니다 ...
이상한.
전체 예외입니다 : 내가 코드는 OpenCV의 2.4.3에서 예외가 발생하지만 OpenCV의 2.4.4을 사용하여 디버그 디버그 라이브러리 빌드 사용하고
Exception at 0x7c812fd3, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) in opencv_core244d!cv::GlBuffer::unbind
. 내가 OpenCV의 재 컴파일 할 필요가 같은 http://stuartjames.info/Journal/opencv-brox-optical-flow-sample-possible-fix.aspx
것 같습니다 : OpenCV의 다른 버전을 실험하고 정보를 여기에 포함 된 다음 후
Exception at 0x7c812fd3, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) in opencv_core243d!cv::SparseMat::erase
데모 응용 프로그램이나 OpenCV에 포함 된이 계산의 사용법을 보여주는 프로그램이 있습니까? 시작하기에 좋은 곳일 수 있습니다 ... – aardvarkk
OpenCV ... http : // stuartjames를 다시 컴파일하지 않아도되는 솔루션이있을 것으로 기대하고 있습니다.info/Journal/opencv-brox-optical-flow-sample-possible-fix.aspx –