2013年8月14日水曜日

OpenCVのMatを特定の値に設定する 2

以前内容をすべて0に設定する方法として

cv::Mat image(cv::Size(640, 480), CV_8UC3);

mat = cv::Scalar::all(0);

としていたが、最近

// 赤一色の塗りつぶし
//
cv::Mat mat = cv::Scalar(0,0,255)

のように特定の値にできることがわかった

PERC to OpenCV その1

わけがあり、Intel Perceputual Computing SDK (PERC SDK)を触ることになったが、情報がいまひとつ少ない。depth imageがほしいだけなので、PERCとOpenCVのブリッジを作成し、OpenCVで処理することとした。

PERCでは、MatにあたるクラスがPXCImageとなる

PXCImageは、統一的な画像バッファーへのインタフェースである。
説明は、ここ

サンプルでのカメラからの取り込み画像の情報を取得してみる

サンプルにコードを追加

    PXCImage::ImageInfo    info;

    color_image->QueryInfo(&info);

    height = info.height;
    width = info.width;
    format = info.format;

サンプルを実行した値は、480, 640, 65539 (0x10003)となる

PERC SDKでカラー画像を表示してみた

Intel Perceputual Computing SDK (PERC SDK)をインストールしてみた
(SDKインストールとCreativeカメラに関しては別途)

Visual C++ 2010 Expressで雛形にコマンドラインアプリを選び、新規に作成
PERC用のプロパティーシート (PERCSDK.porps)を作成

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <IncludePath>C:/Program Files/Intel/PCSDK/Include;C:/Program Files/Intel/PCSDK/Sample/Common/Include;$(IncludePath)</IncludePath>
  </PropertyGroup>
  <PropertyGroup>
    <LibraryPath>C:/Program Files/Intel/PCSDK/lib/$(PlatformName);C:/Program Files/Intel/PCSDK/sample/common/lib/$(PlatformName)/$(PlatformToolset);$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <Link Condition="'$(Configuration)'=='Debug'">
      <AdditionalDependencies>libpxc_d.lib;libpxcutils_d.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
    <Link Condition="'$(Configuration)'=='Release'">
      <AdditionalDependencies>libpxc.lib;libpxcutils.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
    <ClCompile Condition="'$(Configuration)'=='Debug'">
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
    </ClCompile>
    <ClCompile Condition="'$(Configuration)'=='Release'">
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>


プロジェクトに作成したプロパティシートを追加

サンプルは、ここ説明のプログラムをコピー


ビルドができれば、OKだが、Creativeのカメラでなくても試せる

2013年8月6日火曜日