Commit 6b093452 authored by Alexander Smorkalov's avatar Alexander Smorkalov

Filter selection and several filters implemented for WinRT sample.

parent 2cfd635e
...@@ -142,7 +142,6 @@ ...@@ -142,7 +142,6 @@
</Style> </Style>
<!-- Button styles --> <!-- Button styles -->
<!-- <!--
TextButtonStyle is used to style a Button using subheader-styled text with no other adornment. There TextButtonStyle is used to style a Button using subheader-styled text with no other adornment. There
are two styles that are based on TextButtonStyle (TextPrimaryButtonStyle and TextSecondaryButtonStyle) are two styles that are based on TextButtonStyle (TextPrimaryButtonStyle and TextSecondaryButtonStyle)
...@@ -407,8 +406,8 @@ ...@@ -407,8 +406,8 @@
--> -->
<!-- <!--
<
<Style x:Key="SkipBackAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}"> Style x:Key="SkipBackAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
<Setter Property="AutomationProperties.AutomationId" Value="SkipBackAppBarButton"/> <Setter Property="AutomationProperties.AutomationId" Value="SkipBackAppBarButton"/>
<Setter Property="AutomationProperties.Name" Value="Skip Back"/> <Setter Property="AutomationProperties.Name" Value="Skip Back"/>
<Setter Property="Content" Value="&#xE100;"/> <Setter Property="Content" Value="&#xE100;"/>
...@@ -1536,8 +1535,8 @@ ...@@ -1536,8 +1535,8 @@
<!-- <!--
SnappedBackButtonStyle is used to style a Button for use in the title area of a snapped page. Margins appropriate SnappedBackButtonStyle is used to style a Button for use in the title area of a snapped page. Margins appropriate
for the conventional page layout are included as part of the style. for the conventional page layout are included as part of the style.
The o
The obvious duplication here is necessary as the glyphs used in snapped are not merely smaller versions of the same bvious duplication here is necessary as the glyphs used in snapped are not merely smaller versions of the same
glyph but are actually distinct. glyph but are actually distinct.
--> -->
<Style x:Key="SnappedBackButtonStyle" TargetType="Button"> <Style x:Key="SnappedBackButtonStyle" TargetType="Button">
......
...@@ -8,8 +8,16 @@ ...@@ -8,8 +8,16 @@
mc:Ignorable="d"> mc:Ignorable="d">
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Image x:Name="PreviewWidget" HorizontalAlignment="Left" Height="748" Margin="10,10,0,0" VerticalAlignment="Top" Width="1146"/> <Image x:Name="PreviewWidget" HorizontalAlignment="Left" Height="512" Margin="10,10,0,0" VerticalAlignment="Top" Width="512"/>
<Button Content="Button" HorizontalAlignment="Left" Margin="1161,10,0,0" VerticalAlignment="Top" Width="195" Height="63" Click="Button_Click"/> <Button Content="Apply" HorizontalAlignment="Left" Margin="527,71,0,0" VerticalAlignment="Top" Width="293" Height="63" Click="Button_Click"/>
<ComboBox x:Name="FilterTypeWidget" HorizontalAlignment="Left" Margin="527,10,0,0" VerticalAlignment="Top" Width="293" Height="56" SelectedIndex="0">
<ComboBoxItem Content="Preview"/>
<ComboBoxItem Content="GrayScale"/>
<ComboBoxItem Content="Canny"/>
<ComboBoxItem Content="Blur"/>
<ComboBoxItem Content="Features"/>
<ComboBoxItem Content="Sepia"/>
</ComboBox>
</Grid> </Grid>
</Page> </Page>
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <ppltasks.h> #include <ppltasks.h>
#include <wrl\client.h> #include <wrl\client.h>
#include <Robuffer.h> #include <Robuffer.h>
#include <vector>
using namespace OcvImageProcessing; using namespace OcvImageProcessing;
using namespace Microsoft::WRL; using namespace Microsoft::WRL;
...@@ -26,9 +27,6 @@ using namespace Windows::UI::Xaml::Input; ...@@ -26,9 +27,6 @@ using namespace Windows::UI::Xaml::Input;
using namespace Windows::UI::Xaml::Media; using namespace Windows::UI::Xaml::Media;
using namespace Windows::UI::Xaml::Navigation; using namespace Windows::UI::Xaml::Navigation;
#include <opencv2\core\core.hpp>
#include <opencv2\imgproc\imgproc.hpp>
Uri^ InputImageUri = ref new Uri(L"ms-appx:///Assets/Lena.png"); Uri^ InputImageUri = ref new Uri(L"ms-appx:///Assets/Lena.png");
// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238 // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
...@@ -36,21 +34,7 @@ Uri^ InputImageUri = ref new Uri(L"ms-appx:///Assets/Lena.png"); ...@@ -36,21 +34,7 @@ Uri^ InputImageUri = ref new Uri(L"ms-appx:///Assets/Lena.png");
MainPage::MainPage() MainPage::MainPage()
{ {
InitializeComponent(); InitializeComponent();
}
/// <summary>
/// Invoked when this page is about to be displayed in a Frame.
/// </summary>
/// <param name="e">Event data that describes how this page was reached. The Parameter
/// property is typically used to configure the page.</param>
void MainPage::OnNavigatedTo(NavigationEventArgs^ e)
{
(void) e; // Unused parameter
}
void OcvImageProcessing::MainPage::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
RandomAccessStreamReference^ streamRef = RandomAccessStreamReference::CreateFromUri(InputImageUri); RandomAccessStreamReference^ streamRef = RandomAccessStreamReference::CreateFromUri(InputImageUri);
task<IRandomAccessStreamWithContentType^> (streamRef->OpenReadAsync()). task<IRandomAccessStreamWithContentType^> (streamRef->OpenReadAsync()).
...@@ -78,15 +62,30 @@ void OcvImageProcessing::MainPage::Button_Click(Platform::Object^ sender, Window ...@@ -78,15 +62,30 @@ void OcvImageProcessing::MainPage::Button_Click(Platform::Object^ sender, Window
{ {
PixelDataProvider^ pixelProvider = thisTask.get(); PixelDataProvider^ pixelProvider = thisTask.get();
Platform::Array<byte>^ srcPixels = pixelProvider->DetachPixelData(); Platform::Array<byte>^ srcPixels = pixelProvider->DetachPixelData();
Lena = cv::Mat(frameHeight, frameWidth, CV_8UC4);
memcpy(Lena.data, srcPixels->Data, 4*frameWidth*frameHeight);
UpdateImage(Lena);
});
}
cv::Mat inputImage(frameHeight, frameWidth, CV_8UC4, srcPixels->Data); /// <summary>
unsigned char* dstPixels; /// Invoked when this page is about to be displayed in a Frame.
/// </summary>
/// <param name="e">Event data that describes how this page was reached. The Parameter
/// property is typically used to configure the page.</param>
void MainPage::OnNavigatedTo(NavigationEventArgs^ e)
{
(void) e; // Unused parameter
}
void OcvImageProcessing::MainPage::UpdateImage(const cv::Mat& image)
{
// Create the WriteableBitmap // Create the WriteableBitmap
WriteableBitmap^ bitmap = ref new WriteableBitmap(frameWidth, frameHeight); WriteableBitmap^ bitmap = ref new WriteableBitmap(image.cols, image.rows);
// Get access to the pixels // Get access to the pixels
IBuffer^ buffer = bitmap->PixelBuffer; IBuffer^ buffer = bitmap->PixelBuffer;
unsigned char* dstPixels;
// Obtain IBufferByteAccess // Obtain IBufferByteAccess
ComPtr<IBufferByteAccess> pBufferByteAccess; ComPtr<IBufferByteAccess> pBufferByteAccess;
...@@ -95,14 +94,95 @@ void OcvImageProcessing::MainPage::Button_Click(Platform::Object^ sender, Window ...@@ -95,14 +94,95 @@ void OcvImageProcessing::MainPage::Button_Click(Platform::Object^ sender, Window
// Get pointer to pixel bytes // Get pointer to pixel bytes
pBufferByteAccess->Buffer(&dstPixels); pBufferByteAccess->Buffer(&dstPixels);
cv::Mat outputImage(frameHeight, frameWidth, CV_8UC4, dstPixels); memcpy(dstPixels, image.data, 4*image.cols*image.rows);
// Set the bitmap to the Image element
PreviewWidget->Source = bitmap;}
cv::Mat OcvImageProcessing::MainPage::ApplyGrayFilter(const cv::Mat& image)
{
cv::Mat result;
cv::Mat intermediateMat; cv::Mat intermediateMat;
cv::Canny(inputImage, intermediateMat, 80, 90); cv::cvtColor(image, intermediateMat, CV_RGBA2GRAY);
cv::cvtColor(intermediateMat, outputImage, CV_GRAY2BGRA); cv::cvtColor(intermediateMat, result, CV_GRAY2BGRA);
//cv::blur(inputImage, outputImage, cv::Size(3,3)); return result;
}
// Set the bitmap to the Image element cv::Mat OcvImageProcessing::MainPage::ApplyCannyFilter(const cv::Mat& image)
PreviewWidget->Source = bitmap; {
}); cv::Mat result;
cv::Mat intermediateMat;
cv::Canny(image, intermediateMat, 80, 90);
cv::cvtColor(intermediateMat, result, CV_GRAY2BGRA);
return result;
}
cv::Mat OcvImageProcessing::MainPage::ApplyBlurFilter(const cv::Mat& image)
{
cv::Mat result;
cv::blur(image, result, cv::Size(3,3));
return result;
}
cv::Mat OcvImageProcessing::MainPage::ApplyFindFeaturesFilter(const cv::Mat& image)
{
cv::Mat result;
cv::Mat intermediateMat;
cv::FastFeatureDetector detector(50);
std::vector<cv::KeyPoint> features;
image.copyTo(result);
cv::cvtColor(image, intermediateMat, CV_RGBA2GRAY);
detector.detect(intermediateMat, features);
for( unsigned int i = 0; i < std::min(features.size(), (size_t)50); i++ )
{
const cv::KeyPoint& kp = features[i];
cv::circle(result, cv::Point((int)kp.pt.x, (int)kp.pt.y), 10, cv::Scalar(255,0,0,255));
}
return result;
}
cv::Mat OcvImageProcessing::MainPage::ApplySepiaFilter(const cv::Mat& image)
{
const float SepiaKernelData[16] =
{
/* B */0.131f, 0.534f, 0.272f, 0.f,
/* G */0.168f, 0.686f, 0.349f, 0.f,
/* R */0.189f, 0.769f, 0.393f, 0.f,
/* A */0.000f, 0.000f, 0.000f, 1.f
};
const cv::Mat SepiaKernel(4, 4, CV_32FC1, (void*)SepiaKernelData);
cv::Mat result;
cv::transform(image, result, SepiaKernel);
return result;
}
void OcvImageProcessing::MainPage::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
switch(FilterTypeWidget->SelectedIndex)
{
case PREVIEW:
UpdateImage(Lena);
break;
case GRAY:
UpdateImage(ApplyGrayFilter(Lena));
break;
case CANNY:
UpdateImage(ApplyCannyFilter(Lena));
break;
case BLUR:
UpdateImage(ApplyBlurFilter(Lena));
break;
case FEATURES:
UpdateImage(ApplyFindFeaturesFilter(Lena));
break;
case SEPIA:
UpdateImage(ApplySepiaFilter(Lena));
break;
default:
UpdateImage(Lena);
}
} }
...@@ -6,6 +6,9 @@ ...@@ -6,6 +6,9 @@
#pragma once #pragma once
#include "MainPage.g.h" #include "MainPage.g.h"
#include <opencv2\core\core.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include <opencv2\features2d\features2d.hpp>
namespace OcvImageProcessing namespace OcvImageProcessing
{ {
...@@ -19,9 +22,25 @@ namespace OcvImageProcessing ...@@ -19,9 +22,25 @@ namespace OcvImageProcessing
protected: protected:
virtual void OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e) override; virtual void OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e) override;
private: private:
static const int PREVIEW = 0;
static const int GRAY = 1;
static const int CANNY = 2;
static const int BLUR = 3;
static const int FEATURES = 4;
static const int SEPIA = 5;
void Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
cv::Mat ApplyGrayFilter(const cv::Mat& image);
cv::Mat ApplyCannyFilter(const cv::Mat& image);
cv::Mat ApplyBlurFilter(const cv::Mat& image);
cv::Mat ApplyFindFeaturesFilter(const cv::Mat& image);
cv::Mat ApplySepiaFilter(const cv::Mat& image);
void UpdateImage(const cv::Mat& image);
cv::Mat Lena;
unsigned int frameWidth, frameHeight; unsigned int frameWidth, frameHeight;
}; };
} }
...@@ -91,6 +91,7 @@ ...@@ -91,6 +91,7 @@
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup> <PropertyGroup>
<PackageCertificateKeyFile>OcvImageProcessing_TemporaryKey.pfx</PackageCertificateKeyFile> <PackageCertificateKeyFile>OcvImageProcessing_TemporaryKey.pfx</PackageCertificateKeyFile>
<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile> <ClCompile>
...@@ -108,21 +109,22 @@ ...@@ -108,21 +109,22 @@
<ClCompile> <ClCompile>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>4453</DisableSpecificWarnings> <DisableSpecificWarnings>4453</DisableSpecificWarnings>
<AdditionalIncludeDirectories>C:\Users\asmorkalov\Projects\opencv\build\install\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(OPENCV_DIR)\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<AdditionalLibraryDirectories>C:\Users\asmorkalov\Projects\opencv\build\install\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(OPENCV_DIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>opencv_core246.lib;opencv_imgproc246.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>opencv_core247d.lib;opencv_imgproc247d.lib;opencv_features2d247d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile> <ClCompile>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>4453</DisableSpecificWarnings> <DisableSpecificWarnings>4453</DisableSpecificWarnings>
<AdditionalIncludeDirectories>C:\Users\asmorkalov\Projects\opencv\build\install\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(OPENCV_DIR)\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<AdditionalLibraryDirectories>C:\Users\asmorkalov\Projects\opencv\build\install\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(OPENCV_DIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>opencv_core247.lib;opencv_imgproc247.lib;opencv_features2d247.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
...@@ -161,14 +163,105 @@ ...@@ -161,14 +163,105 @@
<AppxManifest Include="Package.appxmanifest"> <AppxManifest Include="Package.appxmanifest">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</AppxManifest> </AppxManifest>
<None Include="..\..\opencv\build\install\bin\opencv_core246.dll"> <None Include="$(OPENCV_DIR)\bin\opencv_calib3d247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_calib3d247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_contrib247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_contrib247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_core247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_core247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_features2d247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_features2d247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_flann247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_flann247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_gpu247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_highgui247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_highgui247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_imgproc247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_imgproc247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_legacy247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_legacy247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_ml247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_ml247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_nonfree247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_nonfree247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_objdetect247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_objdetect247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_photo247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_photo247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent> <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_stitching247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent> <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None> </None>
<None Include="..\..\opencv\build\install\bin\opencv_imgproc246.dll"> <None Include="$(OPENCV_DIR)\bin\opencv_stitching247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent> <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_superres247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent> <DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None> </None>
<None Include="$(OPENCV_DIR)\bin\opencv_superres247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_video247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_video247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_videostab247.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</DeploymentContent>
</None>
<None Include="$(OPENCV_DIR)\bin\opencv_videostab247d.dll">
<DeploymentContent Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</DeploymentContent>
</None>
<None Include="OcvImageProcessing_TemporaryKey.pfx" /> <None Include="OcvImageProcessing_TemporaryKey.pfx" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
......
...@@ -41,8 +41,39 @@ ...@@ -41,8 +41,39 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="OcvImageProcessing_TemporaryKey.pfx" /> <None Include="OcvImageProcessing_TemporaryKey.pfx" />
<None Include="..\..\opencv\build\install\bin\opencv_core246.dll" /> <None Include="$(OPENCV_DIR)\bin\opencv_calib3d247.dll" />
<None Include="..\..\opencv\build\install\bin\opencv_imgproc246.dll" /> <None Include="$(OPENCV_DIR)\bin\opencv_calib3d247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_contrib247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_contrib247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_core247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_core247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_features2d247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_features2d247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_flann247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_flann247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_gpu247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_highgui247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_highgui247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_imgproc247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_imgproc247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_legacy247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_legacy247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_ml247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_ml247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_nonfree247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_nonfree247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_objdetect247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_objdetect247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_photo247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_photo247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_stitching247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_stitching247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_superres247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_superres247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_video247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_video247d.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_videostab247.dll" />
<None Include="$(OPENCV_DIR)\bin\opencv_videostab247d.dll" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Page Include="MainPage.xaml" /> <Page Include="MainPage.xaml" />
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest"> <Package xmlns="http://schemas.microsoft.com/appx/2010/manifest">
<Identity Name="96635370-3751-48a8-84a6-afd4229cf435" Publisher="CN=asmorkalov" Version="1.0.0.0" />
<Identity Name="96635370-3751-48a8-84a6-afd4229cf435"
Publisher="CN=asmorkalov"
Version="1.0.0.0" />
<Properties> <Properties>
<DisplayName>OcvImageProcessing</DisplayName> <DisplayName>OcvImageProcessing</DisplayName>
<PublisherDisplayName>asmorkalov</PublisherDisplayName> <PublisherDisplayName>asmorkalov</PublisherDisplayName>
<Logo>Assets\StoreLogo.png</Logo> <Logo>Assets\StoreLogo.png</Logo>
</Properties> </Properties>
<Prerequisites> <Prerequisites>
<OSMinVersion>6.2.1</OSMinVersion> <OSMinVersion>6.2.1</OSMinVersion>
<OSMaxVersionTested>6.2.1</OSMaxVersionTested> <OSMaxVersionTested>6.2.1</OSMaxVersionTested>
</Prerequisites> </Prerequisites>
<Resources> <Resources>
<Resource Language="x-generate"/> <Resource Language="x-generate" />
</Resources> </Resources>
<Applications> <Applications>
<Application Id="App" <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="OcvImageProcessing.App">
Executable="$targetnametoken$.exe" <VisualElements DisplayName="OcvImageProcessing" Logo="Assets\Logo.png" SmallLogo="Assets\SmallLogo.png" Description="OcvImageProcessing" ForegroundText="light" BackgroundColor="#464646">
EntryPoint="OcvImageProcessing.App">
<VisualElements
DisplayName="OcvImageProcessing"
Logo="Assets\Logo.png"
SmallLogo="Assets\SmallLogo.png"
Description="OcvImageProcessing"
ForegroundText="light"
BackgroundColor="#464646">
<DefaultTile ShowName="allLogos" /> <DefaultTile ShowName="allLogos" />
<SplashScreen Image="Assets\SplashScreen.png" /> <SplashScreen Image="Assets\SplashScreen.png" />
</VisualElements> </VisualElements>
</Application> </Application>
</Applications> </Applications>
<Capabilities>
<Capability Name="internetClient" />
</Capabilities>
</Package> </Package>
\ No newline at end of file
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