Skip to content

Instantly share code, notes, and snippets.

View UnaNancyOwen's full-sized avatar

Tsukasa Sugiura UnaNancyOwen

View GitHub Profile

How to build Sample Program (C++) using Visual Studio 2015

About

書籍「KINECT for Windows SDKプログラミング Kinect for Windows v2センサー対応版」では執筆当時(2015/5/21)の最新バージョンの開発環境を用いていますが、現在(2016/9/14)は執筆当時より新しいバージョンの開発環境がリリースされており、そちらを利用したい開発者もいると思います。
このドキュメントでは、サンプルプログラムを新しいバージョンの開発環境で動作させるための方法を解説します。

Caution

@UnaNancyOwen
UnaNancyOwen / License.txt
Last active March 20, 2017 15:55
PCD FIle Writer for Kinect Fusion Data
pcd_writer License
The MIT License
Copyright (c) 2017 Tsukasa SUGIURA
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
@UnaNancyOwen
UnaNancyOwen / kinect2_serialization.h
Last active May 19, 2017 16:02
Serialize Definitions of Boost.Serialization (XML) for Kinect SDK v2 Body Data
// kinect2_serialization
//
// kinect2_serialization is definitions of Boost.Serialization (XML) for body data that retrieved using Kinect SDK v2.
// You will be able to serialize and deserialize body data using this definitions.
// kinect2_serialization are requires Boost.Serialization and Kinect SDK v2 when serializing data.
// kinect2_serialization are requires only Boost.Serialization when deserialize data.
//
// This source code is licensed under the MIT license. Please see the License in License.txt.
// Copyright (c) 2017 Tsukasa SUGIURA
// t.sugiura0204@gmail.com
// Retrieve Body Frame
ComPtr<IBodyFrame> bodyFrame;
const HRESULT ret = bodyFrameReader->AcquireLatestFrame( &bodyFrame );
if( FAILED( ret ) ){
return;
}
// Retrieve Body Data
std::vector<ComPtr<IBody>> bodies( BODY_COUNT );
ERROR_CHECK( bodyFrame->GetAndRefreshBodyData( static_cast<UINT>( bodies.size() ), &bodies[0] ) );
@UnaNancyOwen
UnaNancyOwen / recog.cpp
Last active July 27, 2017 07:49
Face Recognition using Face Module
#include <iostream>
#include <vector>
#include <opencv2/opencv.hpp>
#include <opencv2/face.hpp>
int main( int argc, char* argv[] )
{
// Read Image
cv::Mat image = cv::imread( "image.jpg", cv::IMREAD_GRAYSCALE );
@UnaNancyOwen
UnaNancyOwen / PCLVisualizer1.cpp
Last active November 7, 2017 07:44
Drawing the Point Cloud using PCLVisualizer with Kinect v2 Grabber
// Disable Error C4996 that occur when using Boost.Signals2.
#ifdef _DEBUG
#define _SCL_SECURE_NO_WARNINGS
#endif
#include "kinect2_grabber.h"
#include <pcl/visualization/pcl_visualizer.h>
template <typename PointType>
class Viewer
@UnaNancyOwen
UnaNancyOwen / OpenCV3.props
Last active December 23, 2017 09:57
Property Sheet for OpenCV 3.x
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets"/>
<!-- Debug|Win32 -->
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@UnaNancyOwen
UnaNancyOwen / main.cpp
Last active February 6, 2018 13:51
librealsense2 manual transform to depth from disparity and vice versa
// Retrieve Focal Length
rs2::video_stream_profile profile = pipeline_profile.get_stream( rs2_stream::RS2_STREAM_DEPTH ).as<rs2::video_stream_profile>();
const float focal_length = profile.get_intrinsics().fx;
// Retriece Base Line
const float baseline = disparity_frame.as<rs2::disparity_frame>().get_baseline();
// Target Pixel (e.g. Center of Image)
const uint32_t x = disparity_width / 2;
const uint32_t y = disparity_height / 2;
// Retrrieve Flame
rs2::video_frame color_frame = frameset.get_color_frame();
// Retrieve Flame Size
const uint32_t color_width = color_frame.as<rs2::video_frame>().get_width();
const uint32_t color_height = color_frame.as<rs2::video_frame>().get_height();
// Retrive Data
const uint8_t* color_data = reinterpret_cast<const uint8_t*>( color_frame.get_data() );