Commit b0854c60 authored by Alexander Smorkalov's avatar Alexander Smorkalov

Windows RT sample improved.

Corrent histogram output on YUV image implemented;
Some code refactoring done.
parent bf22567c
......@@ -313,7 +313,7 @@ void AdvancedCapture::AddEffectToImageStream()
changeTypeTask.get();
ShowStatusMessage("Change type on photo stream successful");
//Now add the effect on the image pin
task<void>(m_mediaCaptureMgr->AddEffectAsync(Windows::Media::Capture::MediaStreamType::Photo,"GrayscaleTransform.GrayscaleEffect", nullptr)).then([this](task<void> effectTask3)
task<void>(m_mediaCaptureMgr->AddEffectAsync(Windows::Media::Capture::MediaStreamType::Photo,"OcvTransform.OcvImageManipulations", nullptr)).then([this](task<void> effectTask3)
{
try
{
......@@ -348,7 +348,7 @@ void AdvancedCapture::AddEffectToImageStream()
else
{
//Add the effect to the image pin if the type is already "Video"
task<void>(mediaCapture->AddEffectAsync(Windows::Media::Capture::MediaStreamType::Photo,"GrayscaleTransform.GrayscaleEffect", nullptr)).then([this](task<void> effectTask3)
task<void>(mediaCapture->AddEffectAsync(Windows::Media::Capture::MediaStreamType::Photo,"OcvTransform.OcvImageManipulations", nullptr)).then([this](task<void> effectTask3)
{
try
{
......@@ -368,103 +368,6 @@ void AdvancedCapture::AddEffectToImageStream()
}
}
void AdvancedCapture::chkAddRemoveEffect_Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
}
void AdvancedCapture::chkAddRemoveEffect_Unchecked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
try
{
EffectTypeCombo->IsEnabled = false;
m_bEffectAdded = false;
create_task(m_mediaCaptureMgr->ClearEffectsAsync(Windows::Media::Capture::MediaStreamType::VideoPreview)).then([this](task<void> effectTask)
{
try
{
effectTask.get();
ShowStatusMessage("Remove effect from video preview stream successful");
if(m_bEffectAddedToRecord)
{
task<void>(m_mediaCaptureMgr->ClearEffectsAsync(Windows::Media::Capture::MediaStreamType::VideoRecord)).then([this](task<void> effectTask)
{
try
{
effectTask.get();
ShowStatusMessage("Remove effect from video record stream successful");
m_bEffectAddedToRecord = false;
if(m_bEffectAddedToPhoto)
{
task<void>(m_mediaCaptureMgr->ClearEffectsAsync(Windows::Media::Capture::MediaStreamType::Photo)).then([this](task<void> effectTask)
{
try
{
effectTask.get();
ShowStatusMessage("Remove effect from Photo stream successful");
m_bEffectAddedToPhoto = false;
}
catch(Exception ^e)
{
ShowExceptionMessage(e);
EffectTypeCombo->IsEnabled = true;
}
});
}
else
{
}
EffectTypeCombo->IsEnabled = true;
}
catch(Exception ^e)
{
ShowExceptionMessage(e);
EffectTypeCombo->IsEnabled = true;
}
});
}
else if(m_bEffectAddedToPhoto)
{
task<void>(m_mediaCaptureMgr->ClearEffectsAsync(Windows::Media::Capture::MediaStreamType::Photo)).then([this](task<void> effectTask)
{
try
{
effectTask.get();
ShowStatusMessage("Remove effect from Photo stream successful");
m_bEffectAddedToPhoto = false;
}
catch(Exception ^e)
{
ShowExceptionMessage(e);
EffectTypeCombo->IsEnabled = true;
}
});
}
else
{
EffectTypeCombo->IsEnabled = true;
}
}
catch (Exception ^e)
{
ShowExceptionMessage(e);
EffectTypeCombo->IsEnabled = true;
}
});
}
catch (Platform::Exception ^e)
{
ShowExceptionMessage(e);
EffectTypeCombo->IsEnabled = true;
}
}
void AdvancedCapture::ShowStatusMessage(Platform::String^ text)
{
rootPage->NotifyUser(text, NotifyType::StatusMessage);
......@@ -637,12 +540,6 @@ Windows::Media::Capture::VideoRotation AdvancedCapture::VideoRotationLookup(
}
}
void SDKSample::MediaCapture::AdvancedCapture::EffectTypeCombo_SelectionChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e)
{
}
void SDKSample::MediaCapture::AdvancedCapture::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
try
......@@ -653,7 +550,7 @@ void SDKSample::MediaCapture::AdvancedCapture::Button_Click(Platform::Object^ se
int index = EffectTypeCombo->SelectedIndex;
PropertySet^ props = ref new PropertySet();
props->Insert(L"{698649BE-8EAE-4551-A4CB-3EC98FBD3D86}", index);
create_task(m_mediaCaptureMgr->AddEffectAsync(Windows::Media::Capture::MediaStreamType::VideoPreview,"GrayscaleTransform.GrayscaleEffect", props)).then([this](task<void> effectTask)
create_task(m_mediaCaptureMgr->AddEffectAsync(Windows::Media::Capture::MediaStreamType::VideoPreview,"OcvTransform.OcvImageManipulations", props)).then([this](task<void> effectTask)
{
try
{
......@@ -670,7 +567,7 @@ void SDKSample::MediaCapture::AdvancedCapture::Button_Click(Platform::Object^ se
Windows::Media::MediaProperties::VideoEncodingProperties ^videoEncodingProperties = static_cast<Windows::Media::MediaProperties::VideoEncodingProperties ^>(props);
if(!videoEncodingProperties->Subtype->Equals("H264")) //Cant add an effect to an H264 stream
{
task<void>(mediaCapture->AddEffectAsync(Windows::Media::Capture::MediaStreamType::VideoRecord,"GrayscaleTransform.GrayscaleEffect", nullptr)).then([this](task<void> effectTask2)
task<void>(mediaCapture->AddEffectAsync(Windows::Media::Capture::MediaStreamType::VideoRecord,"OcvTransform.OcvImageManipulations", nullptr)).then([this](task<void> effectTask2)
{
try
{
......
......@@ -58,8 +58,6 @@ namespace SDKSample
void lstEnumedDevices_SelectionChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e);
void EnumerateWebcamsAsync();
void chkAddRemoveEffect_Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
void chkAddRemoveEffect_Unchecked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
void AddEffectToImageStream();
void ShowStatusMessage(Platform::String^ text);
......@@ -91,7 +89,6 @@ namespace SDKSample
bool m_bRotateVideoOnOrientationChange;
bool m_bReversePreviewRotation;
Windows::Foundation::EventRegistrationToken m_orientationChangedEventToken;
void EffectTypeCombo_SelectionChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e);
void Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
};
}
......
......@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 11 Express for Windows 8
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MediaCapture", "MediaCapture.vcxproj", "{C5B886A7-8300-46FF-B533-9613DE2AF637}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GrayscaleTransform", "MediaExtensions\Grayscale\Grayscale.vcxproj", "{BA69218F-DA5C-4D14-A78D-21A9E4DEC669}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GrayscaleTransform", "MediaExtensions\OcvTransform\OcvTransform.vcxproj", "{BA69218F-DA5C-4D14-A78D-21A9E4DEC669}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
......
......@@ -156,17 +156,13 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<Image Include="Assets\microsoft-sdk.png" />
<Image Include="Assets\placeholder-sdk.png" />
<Image Include="Assets\smallTile-sdk.png" />
<Image Include="assets\opencv-logo-150.png" />
<Image Include="assets\opencv-logo-30.png" />
<Image Include="Assets\splash-sdk.png" />
<Image Include="Assets\squareTile-sdk.png" />
<Image Include="Assets\storeLogo-sdk.png" />
<Image Include="Assets\tile-sdk.png" />
<Image Include="Assets\windows-sdk.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="MediaExtensions\Grayscale\Grayscale.vcxproj">
<ProjectReference Include="MediaExtensions\OcvTransform\OcvTransform.vcxproj">
<Project>{ba69218f-da5c-4d14-a78d-21a9e4dec669}</Project>
</ProjectReference>
</ItemGroup>
......
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Image Include="Assets\microsoft-sdk.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\placeholder-sdk.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\smallTile-sdk.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\splash-sdk.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\squareTile-sdk.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\storeLogo-sdk.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\tile-sdk.png">
<Filter>Assets</Filter>
</Image>
<Image Include="Assets\windows-sdk.png">
<Filter>Assets</Filter>
</Image>
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml" />
</ItemGroup>
<ItemGroup>
<AppxManifest Include="Package.appxmanifest" />
</ItemGroup>
<ItemGroup>
<Page Include="MainPage.xaml" />
<Page Include="Common\StandardStyles.xaml">
<Filter>Common</Filter>
</Page>
<Page Include="Sample-Utils\SampleTemplateStyles.xaml">
<Filter>Sample-Utils</Filter>
</Page>
<Page Include="AdvancedCapture.xaml" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="MainPage.xaml.h" />
<ClInclude Include="pch.h" />
<ClInclude Include="App.xaml.h" />
<ClInclude Include="Common\SuspensionManager.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="Common\LayoutAwarePage.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="Constants.h" />
<ClInclude Include="AdvancedCapture.xaml.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="App.xaml.cpp" />
<ClCompile Include="MainPage.xaml.cpp" />
<ClCompile Include="pch.cpp" />
<ClCompile Include="Common\LayoutAwarePage.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="Common\SuspensionManager.cpp">
<Filter>Common</Filter>
</ClCompile>
<ClCompile Include="Constants.cpp" />
<ClCompile Include="AdvancedCapture.xaml.cpp" />
</ItemGroup>
<ItemGroup>
<Filter Include="Assets">
<UniqueIdentifier>{132eec18-b164-4b15-a746-643880e9c5d9}</UniqueIdentifier>
</Filter>
<Filter Include="Common">
<UniqueIdentifier>{476b4177-f316-4458-8e13-cab3dc2381c5}</UniqueIdentifier>
</Filter>
<Filter Include="Sample-Utils">
<UniqueIdentifier>{54f287f8-e4cb-4f47-97d0-4c469de6992e}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\build\install\bin\opencv_calib3d245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_contrib245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_core245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_features2d245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_flann245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_highgui245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_imgproc245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_legacy245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_ml245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_nonfree245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_objdetect245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_photo245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_stitching245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_superres245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_ts245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_video245.dll" />
<None Include="..\..\..\..\build\install\bin\opencv_videostab245.dll" />
</ItemGroup>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Resources">
<UniqueIdentifier>bdc52ff6-58cb-464b-bf4f-0c1804b135ff</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="Grayscale.def" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="Grayscale.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Grayscale.h" />
</ItemGroup>
<ItemGroup>
<Midl Include="GrayscaleTransform.idl" />
</ItemGroup>
</Project>
\ No newline at end of file
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 8.00.0595 */
/* at Wed Jun 19 03:47:25 2013
*/
/* Compiler settings for C:\Users\ASMORK~1\AppData\Local\Temp\OcvImageManipulations.idl-2e8e757e:
Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.00.0595
protocol : dce , ms_ext, c_ext, robust
error checks: allocation ref bounds_check enum stub_data
VC __declspec() decoration level:
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
DECLSPEC_UUID(), MIDL_INTERFACE()
*/
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#ifndef __OcvImageManipulations_h__
#define __OcvImageManipulations_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
#if defined(__cplusplus)
#if defined(__MIDL_USE_C_ENUM)
#define MIDL_ENUM enum
#else
#define MIDL_ENUM enum class
#endif
#endif
/* Forward Declarations */
/* header files for imported files */
#include "Windows.Media.h"
#ifdef __cplusplus
extern "C"{
#endif
/* interface __MIDL_itf_OcvImageManipulations_0000_0000 */
/* [local] */
#pragma warning(push)
#pragma warning(disable:4001)
#pragma once
#pragma warning(pop)
#ifndef RUNTIMECLASS_OcvTransform_OcvImageManipulations_DEFINED
#define RUNTIMECLASS_OcvTransform_OcvImageManipulations_DEFINED
extern const __declspec(selectany) WCHAR RuntimeClass_OcvTransform_OcvImageManipulations[] = L"OcvTransform.OcvImageManipulations";
#endif
/* interface __MIDL_itf_OcvImageManipulations_0000_0000 */
/* [local] */
extern RPC_IF_HANDLE __MIDL_itf_OcvImageManipulations_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_OcvImageManipulations_0000_0000_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif
......@@ -2,10 +2,10 @@ import "Windows.Media.idl";
#include <sdkddkver.h>
namespace GrayscaleTransform
namespace OcvTransform
{
[version(NTDDI_WIN8)]
runtimeclass GrayscaleEffect
runtimeclass OcvImageManipulations
{
}
}
\ No newline at end of file
......@@ -18,14 +18,11 @@
#include <strsafe.h>
#include <assert.h>
// Note: The Direct2D helper library is included for its 2D matrix operations.
#include <D2d1helper.h>
#include <wrl\implements.h>
#include <wrl\module.h>
#include <windows.media.h>
#include "GrayscaleTransform.h"
#include "OcvImageManipulations.h"
// CLSID of the MFT.
DEFINE_GUID(CLSID_GrayscaleMFT,
......@@ -38,7 +35,7 @@ DEFINE_GUID(CLSID_GrayscaleMFT,
// Configuration attributes
// {698649BE-8EAE-4551-A4CB-3EC98FBD3D86}
DEFINE_GUID(MFT_IMAGE_EFFECT,
DEFINE_GUID(OCV_IMAGE_EFFECT,
0x698649be, 0x8eae, 0x4551, 0xa4, 0xcb, 0x3e, 0xc9, 0x8f, 0xbd, 0x3d, 0x86);
......@@ -61,21 +58,21 @@ template <class T> void SafeRelease(T **ppT)
}
}
// CGrayscale class:
// OcvImageManipulations class:
// Implements a grayscale video effect.
class CGrayscale
class OcvImageManipulations
: public Microsoft::WRL::RuntimeClass<
Microsoft::WRL::RuntimeClassFlags< Microsoft::WRL::RuntimeClassType::WinRtClassicComMix >,
ABI::Windows::Media::IMediaExtension,
IMFTransform >
{
InspectableClass(RuntimeClass_GrayscaleTransform_GrayscaleEffect, BaseTrust)
InspectableClass(RuntimeClass_OcvTransform_OcvImageManipulations, BaseTrust)
public:
CGrayscale();
OcvImageManipulations();
~CGrayscale();
~OcvImageManipulations();
STDMETHOD(RuntimeClassInitialize)();
......
......@@ -30,8 +30,8 @@
<VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VSVersion)' == '' and '$(VisualStudioVersion)' == ''">$(VCTargetsPath11)</VCTargetsPath>
<ProjectGuid>{BA69218F-DA5C-4D14-A78D-21A9E4DEC669}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>GrayscaleTransform</RootNamespace>
<ProjectName>GrayscaleTransform</ProjectName>
<RootNamespace>OcvTransform</RootNamespace>
<ProjectName>OcvTransform</ProjectName>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
</PropertyGroup>
......@@ -129,7 +129,7 @@
<SubSystem>Console</SubSystem>
<AdditionalDependencies>runtimeobject.lib;%(AdditionalDependencies);mf.lib;mfuuid.lib;mfplat.lib;opencv_core245.lib;opencv_imgproc245.lib</AdditionalDependencies>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<ModuleDefinitionFile>Grayscale.def</ModuleDefinitionFile>
<ModuleDefinitionFile>OcvTransform.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OPENCV_DIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<CustomBuildStep>
......@@ -153,7 +153,7 @@
<SubSystem>Console</SubSystem>
<AdditionalDependencies>runtimeobject.lib;%(AdditionalDependencies);mf.lib;mfuuid.lib;mfplat.lib</AdditionalDependencies>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<ModuleDefinitionFile>Grayscale.def</ModuleDefinitionFile>
<ModuleDefinitionFile>OcvTransform.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OPENCV_DIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<CustomBuildStep>
......@@ -177,7 +177,7 @@
<SubSystem>Console</SubSystem>
<AdditionalDependencies>runtimeobject.lib;%(AdditionalDependencies);mf.lib;mfuuid.lib;mfplat.lib</AdditionalDependencies>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<ModuleDefinitionFile>Grayscale.def</ModuleDefinitionFile>
<ModuleDefinitionFile>OcvTransform.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OPENCV_DIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<CustomBuildStep>
......@@ -201,7 +201,7 @@
<SubSystem>Console</SubSystem>
<AdditionalDependencies>runtimeobject.lib;%(AdditionalDependencies);mf.lib;mfuuid.lib;mfplat.lib</AdditionalDependencies>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<ModuleDefinitionFile>Grayscale.def</ModuleDefinitionFile>
<ModuleDefinitionFile>OcvTransform.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OPENCV_DIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<CustomBuildStep>
......@@ -225,7 +225,7 @@
<SubSystem>Console</SubSystem>
<AdditionalDependencies>runtimeobject.lib;%(AdditionalDependencies);mf.lib;mfuuid.lib;mfplat.lib</AdditionalDependencies>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<ModuleDefinitionFile>Grayscale.def</ModuleDefinitionFile>
<ModuleDefinitionFile>OcvTransform.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OPENCV_DIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<CustomBuildStep>
......@@ -249,7 +249,7 @@
<SubSystem>Console</SubSystem>
<AdditionalDependencies>runtimeobject.lib;%(AdditionalDependencies);mf.lib;mfuuid.lib;mfplat.lib</AdditionalDependencies>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<ModuleDefinitionFile>Grayscale.def</ModuleDefinitionFile>
<ModuleDefinitionFile>OcvTransform.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OPENCV_DIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<CustomBuildStep>
......@@ -258,17 +258,17 @@
</CustomBuildStep>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="Grayscale.h" />
<ClInclude Include="OcvTransform.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="Grayscale.cpp" />
<ClCompile Include="OcvTransform.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Grayscale.def" />
<None Include="OcvTransform.def" />
</ItemGroup>
<ItemGroup>
<Midl Include="GrayscaleTransform.idl">
<Midl Include="OcvImageManipulations.idl">
<MetadataFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</MetadataFileName>
<MetadataFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
......
......@@ -12,12 +12,12 @@
//////////////////////////////////////////////////////////////////////////
#include <initguid.h>
#include "Grayscale.h"
#include "OcvTransform.h"
using namespace Microsoft::WRL;
namespace Microsoft { namespace Samples {
ActivatableClass(CGrayscale);
ActivatableClass(OcvImageManipulations);
}}
BOOL WINAPI DllMain( _In_ HINSTANCE hInstance, _In_ DWORD dwReason, _In_opt_ LPVOID lpReserved )
......
......@@ -15,8 +15,8 @@
</Resources>
<Applications>
<Application Id="MediaCapture.App" Executable="$targetnametoken$.exe" EntryPoint="MediaCapture.App">
<VisualElements DisplayName="MediaCapture CPP sample" Logo="Assets\squareTile-sdk.png" SmallLogo="Assets\smallTile-sdk.png" Description="MediaCapture CPP sample" ForegroundText="light" BackgroundColor="#00b2f0">
<DefaultTile ShortName="MC CPP" ShowName="allLogos" />
<VisualElements DisplayName="OCV Image Manipulations" Logo="assets\opencv-logo-150.png" SmallLogo="assets\opencv-logo-30.png" Description="OpenCV Image Manipulations sample" ForegroundText="light" BackgroundColor="#00b2f0">
<DefaultTile ShortName="Ocv ImageManipulations" ShowName="allLogos" />
<SplashScreen Image="Assets\splash-sdk.png" BackgroundColor="#00b2f0" />
</VisualElements>
</Application>
......@@ -28,8 +28,8 @@
<Extensions>
<Extension Category="windows.activatableClass.inProcessServer">
<InProcessServer>
<Path>GrayscaleTransform.dll</Path>
<ActivatableClass ActivatableClassId="GrayscaleTransform.GrayscaleEffect" ThreadingModel="both" />
<Path>OcvTransform.dll</Path>
<ActivatableClass ActivatableClassId="OcvTransform.OcvImageManipulations" ThreadingModel="both" />
</InProcessServer>
</Extension>
</Extensions>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment