Quantcast
Channel: OpenCV Q&A Forum - Latest question feed
Viewing all articles
Browse latest Browse all 19555

Opencv imshow can not show depth image from Kinect V2

$
0
0
Hi:):) I I wrote a c++ code to open Kinect and show Depth mage(after installing kinect sdk 2.0) .my code is: // emmb.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include #include #include #include typedef unsigned short unit16; using namespace cv; using namespace std; template void SafeRelease(T **ppT) { if (*ppT) { (*ppT)->Release(); *ppT = NULL; } }; int _tmain(int argc, _TCHAR* argv[]) { IKinectSensor* pSensor; HRESULT hResult = S_OK; hResult = GetDefaultKinectSensor(&pSensor); if (FAILED(hResult)){ std::cout << "Error : GetDefaultKinectSensor" << std::endl; return 11; } hResult = pSensor->Open(); if (FAILED(hResult)){ std::cout << "Error : IKinectSensor::Open()" << std::endl; return 22; } IDepthFrameSource* pSource; hResult = pSensor->get_DepthFrameSource(&pSource); if (FAILED(hResult)){ std::cout << "Error : IKinectSensor::get_FrameSource()" << std::endl; return 33; } IDepthFrameReader* pDepthReader; hResult = pSource->OpenReader(&pDepthReader); if (FAILED(hResult)){ std::cout << "Error : IFrameSource::OpenReader()" << std::endl; return -1; } int l = 0; int Width = 512; // ...... 1 int Height = 424; cv::Mat BufferMat(Height, Width, CV_16UC1); // ...... 3 cv::Mat DepthMat(Height, Width, CV_8UC1); // ...... 3 // cv::namedWindow("ebi"); while (l<1){ // Frame IDepthFrame* pDepthFrame = nullptr; hResult = pDepthReader->AcquireLatestFrame(&pDepthFrame); if (SUCCEEDED(hResult)){ unsigned int bufferSize = 512 * 424 * sizeof(unsigned short); unsigned short* pBuffer = nullptr; hResult = pDepthFrame->AccessUnderlyingBuffer(&bufferSize, reinterpret_cast(&BufferMat.data)); if (SUCCEEDED(hResult)){ /* Processing*/ BufferMat.convertTo(DepthMat, CV_8U, -255.0f / 8000.0f, 255.0f); } } cv::imshow("kdkk",DepthMat); if (cv::waitKey(30) == VK_ESCAPE){ break; } SafeRelease(&pDepthFrame); l++; } cin.get(); return 0; } But this warning is showed: Unhandled exception at 0x60527648 (opencv_highgui2413d.dll) in emmb.exe: 0xC0000005: Access violation reading location 0x2F29BB00.**strong text** and when I clicked on continue again this message is showed... how can I solve it? sorry for my English...:(

Viewing all articles
Browse latest Browse all 19555

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>