feat: 切换后端至PaddleOCR-NCNN,切换工程为CMake
1.项目后端整体迁移至PaddleOCR-NCNN算法,已通过基本的兼容性测试 2.工程改为使用CMake组织,后续为了更好地兼容第三方库,不再提供QMake工程 3.重整权利声明文件,重整代码工程,确保最小化侵权风险 Log: 切换后端至PaddleOCR-NCNN,切换工程为CMake Change-Id: I4d5d2c5d37505a4a24b389b1a4c5d12f17bfa38c
This commit is contained in:
40
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing.sln
vendored
Normal file
40
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing.sln
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.31101.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OcvImageProcessing", "OcvImageProcessing\OcvImageProcessing.vcxproj", "{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|ARM = Debug|ARM
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|ARM = Release|ARM
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Debug|ARM.Deploy.0 = Debug|ARM
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Debug|x64.Build.0 = Debug|x64
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Release|ARM.ActiveCfg = Release|ARM
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Release|ARM.Build.0 = Release|ARM
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Release|ARM.Deploy.0 = Release|ARM
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Release|Win32.Build.0 = Release|Win32
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Release|Win32.Deploy.0 = Release|Win32
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Release|x64.ActiveCfg = Release|x64
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Release|x64.Build.0 = Release|x64
|
||||
{A5555EA2-F9E8-4078-90F5-D428F2C0D6D1}.Release|x64.Deploy.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
20
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/App.xaml
vendored
Normal file
20
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/App.xaml
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
<Application
|
||||
x:Class="OcvImageProcessing.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="using:OcvImageProcessing">
|
||||
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
|
||||
<!--
|
||||
Styles that define common aspects of the platform look and feel
|
||||
Required by Visual Studio project and item templates
|
||||
-->
|
||||
<ResourceDictionary Source="Common/StandardStyles.xaml"/>
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
</Application>
|
107
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/App.xaml.cpp
vendored
Normal file
107
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/App.xaml.cpp
vendored
Normal file
@ -0,0 +1,107 @@
|
||||
//
|
||||
// App.xaml.cpp
|
||||
// Implementation of the App class.
|
||||
//
|
||||
|
||||
#include "pch.h"
|
||||
#include "MainPage.xaml.h"
|
||||
|
||||
using namespace OcvImageProcessing;
|
||||
|
||||
using namespace Platform;
|
||||
using namespace Windows::ApplicationModel;
|
||||
using namespace Windows::ApplicationModel::Activation;
|
||||
using namespace Windows::Foundation;
|
||||
using namespace Windows::Foundation::Collections;
|
||||
using namespace Windows::UI::Xaml;
|
||||
using namespace Windows::UI::Xaml::Controls;
|
||||
using namespace Windows::UI::Xaml::Controls::Primitives;
|
||||
using namespace Windows::UI::Xaml::Data;
|
||||
using namespace Windows::UI::Xaml::Input;
|
||||
using namespace Windows::UI::Xaml::Interop;
|
||||
using namespace Windows::UI::Xaml::Media;
|
||||
using namespace Windows::UI::Xaml::Navigation;
|
||||
|
||||
// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227
|
||||
|
||||
/// <summary>
|
||||
/// Initializes the singleton application object. This is the first line of authored code
|
||||
/// executed, and as such is the logical equivalent of main() or WinMain().
|
||||
/// </summary>
|
||||
App::App()
|
||||
{
|
||||
InitializeComponent();
|
||||
Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked when the application is launched normally by the end user. Other entry points
|
||||
/// will be used when the application is launched to open a specific file, to display
|
||||
/// search results, and so forth.
|
||||
/// </summary>
|
||||
/// <param name="args">Details about the launch request and process.</param>
|
||||
void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ args)
|
||||
{
|
||||
auto rootFrame = dynamic_cast<Frame^>(Window::Current->Content);
|
||||
|
||||
// Do not repeat app initialization when the Window already has content,
|
||||
// just ensure that the window is active
|
||||
if (rootFrame == nullptr)
|
||||
{
|
||||
// Create a Frame to act as the navigation context and associate it with
|
||||
// a SuspensionManager key
|
||||
rootFrame = ref new Frame();
|
||||
|
||||
if (args->PreviousExecutionState == ApplicationExecutionState::Terminated)
|
||||
{
|
||||
// TODO: Restore the saved session state only when appropriate, scheduling the
|
||||
// final launch steps after the restore is complete
|
||||
|
||||
}
|
||||
|
||||
if (rootFrame->Content == nullptr)
|
||||
{
|
||||
// When the navigation stack isn't restored navigate to the first page,
|
||||
// configuring the new page by passing required information as a navigation
|
||||
// parameter
|
||||
if (!rootFrame->Navigate(TypeName(MainPage::typeid), args->Arguments))
|
||||
{
|
||||
throw ref new FailureException("Failed to create initial page");
|
||||
}
|
||||
}
|
||||
// Place the frame in the current Window
|
||||
Window::Current->Content = rootFrame;
|
||||
// Ensure the current window is active
|
||||
Window::Current->Activate();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (rootFrame->Content == nullptr)
|
||||
{
|
||||
// When the navigation stack isn't restored navigate to the first page,
|
||||
// configuring the new page by passing required information as a navigation
|
||||
// parameter
|
||||
if (!rootFrame->Navigate(TypeName(MainPage::typeid), args->Arguments))
|
||||
{
|
||||
throw ref new FailureException("Failed to create initial page");
|
||||
}
|
||||
}
|
||||
// Ensure the current window is active
|
||||
Window::Current->Activate();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Invoked when application execution is being suspended. Application state is saved
|
||||
/// without knowing whether the application will be terminated or resumed with the contents
|
||||
/// of memory still intact.
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the suspend request.</param>
|
||||
/// <param name="e">Details about the suspend request.</param>
|
||||
void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e)
|
||||
{
|
||||
(void) sender; // Unused parameter
|
||||
(void) e; // Unused parameter
|
||||
|
||||
//TODO: Save application state and stop any background activity
|
||||
}
|
24
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/App.xaml.h
vendored
Normal file
24
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/App.xaml.h
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
//
|
||||
// App.xaml.h
|
||||
// Declaration of the App class.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "App.g.h"
|
||||
|
||||
namespace OcvImageProcessing
|
||||
{
|
||||
/// <summary>
|
||||
/// Provides application-specific behavior to supplement the default Application class.
|
||||
/// </summary>
|
||||
ref class App sealed
|
||||
{
|
||||
public:
|
||||
App();
|
||||
virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ args) override;
|
||||
|
||||
private:
|
||||
void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e);
|
||||
};
|
||||
}
|
BIN
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Assets/Logo.png
vendored
Normal file
BIN
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Assets/Logo.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.1 KiB |
BIN
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Assets/SmallLogo.png
vendored
Normal file
BIN
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Assets/SmallLogo.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Assets/SplashScreen.png
vendored
Normal file
BIN
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Assets/SplashScreen.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.9 KiB |
BIN
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Assets/StoreLogo.png
vendored
Normal file
BIN
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Assets/StoreLogo.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
1828
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Common/StandardStyles.xaml
vendored
Normal file
1828
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Common/StandardStyles.xaml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
23
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/MainPage.xaml
vendored
Normal file
23
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/MainPage.xaml
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
<Page
|
||||
x:Class="OcvImageProcessing.MainPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="using:OcvImageProcessing"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
|
||||
<Image x:Name="PreviewWidget" HorizontalAlignment="Left" Height="512" Margin="10,10,0,0" VerticalAlignment="Top" Width="512"/>
|
||||
<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>
|
||||
</Page>
|
268
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/MainPage.xaml.cpp
vendored
Normal file
268
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/MainPage.xaml.cpp
vendored
Normal file
@ -0,0 +1,268 @@
|
||||
//
|
||||
// MainPage.xaml.cpp
|
||||
// Implementation of the MainPage class.
|
||||
//
|
||||
|
||||
#include "pch.h"
|
||||
#include "MainPage.xaml.h"
|
||||
#include <ppltasks.h>
|
||||
#include <wrl\client.h>
|
||||
#include <Robuffer.h>
|
||||
#include <vector>
|
||||
#include <opencv2\imgproc\types_c.h>
|
||||
#include <opencv2\imgcodecs.hpp>
|
||||
#include <opencv2\core.hpp>
|
||||
|
||||
#include <windows.storage.h>
|
||||
|
||||
using namespace OcvImageProcessing;
|
||||
|
||||
using namespace Microsoft::WRL;
|
||||
using namespace concurrency;
|
||||
using namespace Platform;
|
||||
using namespace Windows::Foundation;
|
||||
using namespace Windows::Storage::Streams;
|
||||
using namespace Windows::Storage;
|
||||
using namespace Windows::UI::Xaml::Media::Imaging;
|
||||
using namespace Windows::Graphics::Imaging;
|
||||
using namespace Windows::Foundation::Collections;
|
||||
using namespace Windows::UI::Xaml;
|
||||
using namespace Windows::UI::Xaml::Controls;
|
||||
using namespace Windows::UI::Xaml::Controls::Primitives;
|
||||
using namespace Windows::UI::Xaml::Data;
|
||||
using namespace Windows::UI::Xaml::Input;
|
||||
using namespace Windows::UI::Xaml::Media;
|
||||
using namespace Windows::UI::Xaml::Navigation;
|
||||
|
||||
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
|
||||
|
||||
MainPage::MainPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
#ifdef __OPENCV_IMGCODECS_HPP__
|
||||
|
||||
// Image loading OpenCV way ... way more simple
|
||||
cv::Mat image = cv::imread("Assets/Lena.png");
|
||||
Lena = cv::Mat(image.rows, image.cols, CV_8UC4);
|
||||
cvtColor(image, Lena, COLOR_BGR2BGRA);
|
||||
UpdateImage(Lena);
|
||||
|
||||
#else
|
||||
|
||||
// Image loading WinRT way
|
||||
RandomAccessStreamReference^ streamRef = RandomAccessStreamReference::CreateFromUri(InputImageUri);
|
||||
|
||||
task<IRandomAccessStreamWithContentType^> (streamRef->OpenReadAsync()).
|
||||
then([](task<IRandomAccessStreamWithContentType^> thisTask)
|
||||
{
|
||||
IRandomAccessStreamWithContentType^ fileStream = thisTask.get();
|
||||
return BitmapDecoder::CreateAsync(fileStream);
|
||||
}).
|
||||
then([](task<BitmapDecoder^> thisTask)
|
||||
{
|
||||
BitmapDecoder^ decoder = thisTask.get();
|
||||
return decoder->GetFrameAsync(0);
|
||||
}).
|
||||
then([this](task<BitmapFrame^> thisTask)
|
||||
{
|
||||
BitmapFrame^ frame = thisTask.get();
|
||||
|
||||
// Save some information as fields
|
||||
frameWidth = frame->PixelWidth;
|
||||
frameHeight = frame->PixelHeight;
|
||||
|
||||
return frame->GetPixelDataAsync();
|
||||
}).
|
||||
then([this](task<PixelDataProvider^> thisTask)
|
||||
{
|
||||
PixelDataProvider^ pixelProvider = thisTask.get();
|
||||
Platform::Array<byte>^ srcPixels = pixelProvider->DetachPixelData();
|
||||
Lena = cv::Mat(frameHeight, frameWidth, CV_8UC4);
|
||||
memcpy(Lena.data, srcPixels->Data, 4*frameWidth*frameHeight);
|
||||
UpdateImage(Lena);
|
||||
});
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Temporary file creation example. Will be created in WinRT application temporary directory
|
||||
/// which usually is "C:\Users\{username}\AppData\Local\Packages\{package_id}\TempState\{random_name}.{suffix}"
|
||||
/// </summary>
|
||||
/// <param name="suffix">Temporary file suffix, e.g. "tmp"</param>
|
||||
std::string OcvImageProcessing::MainPage::CreateTempFile(const std::string &suffix) {
|
||||
return cv::tempfile(suffix.c_str());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creating/writing a file in the application local directory
|
||||
/// </summary>
|
||||
/// <param name="path">Image to save</param>
|
||||
bool OcvImageProcessing::MainPage::SaveImage(cv::Mat image) {
|
||||
StorageFolder^ localFolderRT = ApplicationData::Current->LocalFolder;
|
||||
cv::String localFile = ConvertPath(ApplicationData::Current->LocalFolder->Path) + "\\Lena.png";
|
||||
|
||||
return cv::imwrite(localFile, image);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Getting std::string from managed string via std::wstring.
|
||||
/// Provides an example of three ways to do it.
|
||||
/// Can't use this one: https://msdn.microsoft.com/en-us/library/bb384865.aspx, not available on WinRT.
|
||||
/// </summary>
|
||||
/// <param name="path">Path to be converted</param>
|
||||
cv::String OcvImageProcessing::MainPage::ConvertPath(Platform::String^ path) {
|
||||
std::wstring localPathW(path->Begin());
|
||||
|
||||
// Opt #1
|
||||
//std::string localPath(localPathW.begin(), localPathW.end());
|
||||
|
||||
// Opt #2
|
||||
//std::string localPath(StrToWStr(localPathW));
|
||||
|
||||
// Opt #3
|
||||
size_t outSize = localPathW.length() + 1;
|
||||
char* localPathC = new char[outSize];
|
||||
size_t charsConverted = 0;
|
||||
wcstombs_s(&charsConverted, localPathC, outSize, localPathW.c_str(), localPathW.length());
|
||||
cv::String localPath(localPathC);
|
||||
|
||||
// Implicit conversion from std::string to cv::String
|
||||
return localPath;
|
||||
}
|
||||
|
||||
std::string OcvImageProcessing::MainPage::StrToWStr(const std::wstring &input) {
|
||||
if (input.empty()) {
|
||||
return std::string();
|
||||
}
|
||||
|
||||
int size = WideCharToMultiByte(CP_UTF8, 0, &input[0], (int)input.size(), NULL, 0, NULL, NULL);
|
||||
std::string result(size, 0);
|
||||
|
||||
WideCharToMultiByte(CP_UTF8, 0, &input[0], (int)input.size(), &result[0], size, NULL, NULL);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <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::UpdateImage(const cv::Mat& image)
|
||||
{
|
||||
// Create the WriteableBitmap
|
||||
WriteableBitmap^ bitmap = ref new WriteableBitmap(image.cols, image.rows);
|
||||
|
||||
// Get access to the pixels
|
||||
IBuffer^ buffer = bitmap->PixelBuffer;
|
||||
unsigned char* dstPixels;
|
||||
|
||||
// Obtain IBufferByteAccess
|
||||
ComPtr<IBufferByteAccess> pBufferByteAccess;
|
||||
ComPtr<IInspectable> pBuffer((IInspectable*)buffer);
|
||||
pBuffer.As(&pBufferByteAccess);
|
||||
|
||||
// Get pointer to pixel bytes
|
||||
pBufferByteAccess->Buffer(&dstPixels);
|
||||
memcpy(dstPixels, image.data, image.step.buf[1]*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::cvtColor(image, intermediateMat, COLOR_RGBA2GRAY);
|
||||
cv::cvtColor(intermediateMat, result, COLOR_GRAY2BGRA);
|
||||
return result;
|
||||
}
|
||||
|
||||
cv::Mat OcvImageProcessing::MainPage::ApplyCannyFilter(const cv::Mat& image)
|
||||
{
|
||||
cv::Mat result;
|
||||
cv::Mat intermediateMat;
|
||||
cv::Canny(image, intermediateMat, 80, 90);
|
||||
cv::cvtColor(intermediateMat, result, COLOR_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::Ptr<cv::FastFeatureDetector> detector = cv::FastFeatureDetector::create(50);
|
||||
std::vector<cv::KeyPoint> features;
|
||||
|
||||
image.copyTo(result);
|
||||
cv::cvtColor(image, intermediateMat, COLOR_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);
|
||||
}
|
||||
}
|
51
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/MainPage.xaml.h
vendored
Normal file
51
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/MainPage.xaml.h
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
//
|
||||
// MainPage.xaml.h
|
||||
// Declaration of the MainPage class.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "MainPage.g.h"
|
||||
#include <opencv2\core\core.hpp>
|
||||
#include <opencv2\imgproc\imgproc.hpp>
|
||||
#include <opencv2\features2d\features2d.hpp>
|
||||
|
||||
namespace OcvImageProcessing
|
||||
{
|
||||
/// <summary>
|
||||
/// An empty page that can be used on its own or navigated to within a Frame.
|
||||
/// </summary>
|
||||
public ref class MainPage sealed
|
||||
{
|
||||
public:
|
||||
MainPage();
|
||||
|
||||
protected:
|
||||
virtual void OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e) override;
|
||||
|
||||
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);
|
||||
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);
|
||||
std::string CreateTempFile(const std::string &suffix);
|
||||
bool SaveImage(cv::Mat image);
|
||||
|
||||
std::string StrToWStr(const std::wstring &wstr);
|
||||
cv::String ConvertPath(Platform::String^ path);
|
||||
|
||||
cv::Mat Lena;
|
||||
unsigned int frameWidth, frameHeight;
|
||||
};
|
||||
}
|
168
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/OcvImageProcessing.vcxproj
vendored
Normal file
168
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/OcvImageProcessing.vcxproj
vendored
Normal file
@ -0,0 +1,168 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{a5555ea2-f9e8-4078-90f5-d428f2c0d6d1}</ProjectGuid>
|
||||
<RootNamespace>OcvImageProcessing</RootNamespace>
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
|
||||
<AppContainerApplication>true</AppContainerApplication>
|
||||
<ApplicationType>Windows Store</ApplicationType>
|
||||
<ApplicationTypeRevision>8.1</ApplicationTypeRevision>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="opencv.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="opencv.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="opencv.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="opencv.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="opencv.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="opencv.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<PackageCertificateKeyFile>OcvImageProcessing_TemporaryKey.pfx</PackageCertificateKeyFile>
|
||||
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
|
||||
<AppxBundlePlatforms>x86</AppxBundlePlatforms>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>4453</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="pch.h" />
|
||||
<ClInclude Include="App.xaml.h">
|
||||
<DependentUpon>App.xaml</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="MainPage.xaml.h">
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</ApplicationDefinition>
|
||||
<Page Include="Common\StandardStyles.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="MainPage.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AppxManifest Include="Package.appxmanifest">
|
||||
<SubType>Designer</SubType>
|
||||
</AppxManifest>
|
||||
<None Include="OcvImageProcessing_TemporaryKey.pfx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="Assets\Lena.png" />
|
||||
<Image Include="Assets\Logo.png" />
|
||||
<Image Include="Assets\SmallLogo.png" />
|
||||
<Image Include="Assets\StoreLogo.png" />
|
||||
<Image Include="Assets\SplashScreen.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="App.xaml.cpp">
|
||||
<DependentUpon>App.xaml</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="MainPage.xaml.cpp">
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="pch.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Common">
|
||||
<UniqueIdentifier>a5555ea2-f9e8-4078-90f5-d428f2c0d6d1</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Assets">
|
||||
<UniqueIdentifier>714bc2d8-fb65-4062-80fa-4d1822fe24e2</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Page Include="Common\StandardStyles.xaml">
|
||||
<Filter>Common</Filter>
|
||||
</Page>
|
||||
<Image Include="Assets\Logo.png">
|
||||
<Filter>Assets</Filter>
|
||||
</Image>
|
||||
<Image Include="Assets\SmallLogo.png">
|
||||
<Filter>Assets</Filter>
|
||||
</Image>
|
||||
<Image Include="Assets\StoreLogo.png">
|
||||
<Filter>Assets</Filter>
|
||||
</Image>
|
||||
<Image Include="Assets\SplashScreen.png">
|
||||
<Filter>Assets</Filter>
|
||||
</Image>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="App.xaml.cpp" />
|
||||
<ClCompile Include="MainPage.xaml.cpp" />
|
||||
<ClCompile Include="pch.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="pch.h" />
|
||||
<ClInclude Include="App.xaml.h" />
|
||||
<ClInclude Include="MainPage.xaml.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AppxManifest Include="Package.appxmanifest" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="OcvImageProcessing_TemporaryKey.pfx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Page Include="MainPage.xaml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="Assets\Lena.png">
|
||||
<Filter>Assets</Filter>
|
||||
</Image>
|
||||
</ItemGroup>
|
||||
</Project>
|
Binary file not shown.
28
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Package.appxmanifest
vendored
Normal file
28
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/Package.appxmanifest
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
|
||||
<Identity Name="96635370-3751-48a8-84a6-afd4229cf435" Publisher="CN=dalestam" Version="1.1.0.1" />
|
||||
<Properties>
|
||||
<DisplayName>OcvImageProcessing</DisplayName>
|
||||
<PublisherDisplayName>asmorkalov</PublisherDisplayName>
|
||||
<Logo>Assets\StoreLogo.png</Logo>
|
||||
</Properties>
|
||||
<Prerequisites>
|
||||
<OSMinVersion>6.3</OSMinVersion>
|
||||
<OSMaxVersionTested>6.3</OSMaxVersionTested>
|
||||
</Prerequisites>
|
||||
<Resources>
|
||||
<Resource Language="x-generate" />
|
||||
</Resources>
|
||||
<Applications>
|
||||
<Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="OcvImageProcessing.App">
|
||||
<m2:VisualElements DisplayName="OcvImageProcessing" Description="OcvImageProcessing" BackgroundColor="#464646" ForegroundText="light" Square150x150Logo="Assets\Logo.png" Square30x30Logo="Assets\SmallLogo.png">
|
||||
<m2:DefaultTile>
|
||||
<m2:ShowNameOnTiles>
|
||||
<m2:ShowOn Tile="square150x150Logo" />
|
||||
</m2:ShowNameOnTiles>
|
||||
</m2:DefaultTile>
|
||||
<m2:SplashScreen Image="Assets\SplashScreen.png" />
|
||||
</m2:VisualElements>
|
||||
</Application>
|
||||
</Applications>
|
||||
</Package>
|
43
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/opencv.props
vendored
Normal file
43
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/opencv.props
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
<?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">
|
||||
<OpenCV_Bin>$(OPENCV_WINRT_INSTALL_DIR)\WS\8.1\$(PlatformTarget)\$(PlatformTarget)\vc12\bin\</OpenCV_Bin>
|
||||
<OpenCV_Lib>$(OPENCV_WINRT_INSTALL_DIR)\WS\8.1\$(PlatformTarget)\$(PlatformTarget)\vc12\lib\</OpenCV_Lib>
|
||||
<OpenCV_Include>$(OPENCV_WINRT_INSTALL_DIR)\WS\8.1\$(PlatformTarget)\include\</OpenCV_Include>
|
||||
<!--debug suffix for OpenCV dlls and libs -->
|
||||
<DebugSuffix Condition="'$(Configuration)'=='Debug'">d</DebugSuffix>
|
||||
<DebugSuffix Condition="'$(Configuration)'!='Debug'"></DebugSuffix>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<!--Add required OpenCV dlls here-->
|
||||
<None Include="$(OpenCV_Bin)opencv_core300$(DebugSuffix).dll">
|
||||
<DeploymentContent>true</DeploymentContent>
|
||||
</None>
|
||||
<None Include="$(OpenCV_Bin)opencv_imgproc300$(DebugSuffix).dll">
|
||||
<DeploymentContent>true</DeploymentContent>
|
||||
</None>
|
||||
<None Include="$(OpenCV_Bin)opencv_imgcodecs300$(DebugSuffix).dll">
|
||||
<DeploymentContent>true</DeploymentContent>
|
||||
</None>
|
||||
<None Include="$(OpenCV_Bin)opencv_features2d300$(DebugSuffix).dll">
|
||||
<DeploymentContent>true</DeploymentContent>
|
||||
</None>
|
||||
<None Include="$(OpenCV_Bin)opencv_flann300$(DebugSuffix).dll">
|
||||
<DeploymentContent>true</DeploymentContent>
|
||||
</None>
|
||||
<None Include="$(OpenCV_Bin)opencv_ml300$(DebugSuffix).dll">
|
||||
<DeploymentContent>true</DeploymentContent>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(OpenCV_Include);$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<!--Add required OpenCV libs here-->
|
||||
<AdditionalDependencies>opencv_core300$(DebugSuffix).lib;opencv_imgproc300$(DebugSuffix).lib;opencv_features2d300$(DebugSuffix).lib;opencv_flann300$(DebugSuffix).lib;opencv_ml300$(DebugSuffix).lib;opencv_imgcodecs300$(DebugSuffix).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(OpenCV_Lib);%(AdditionalLibraryDirectories);</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
6
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/pch.cpp
vendored
Normal file
6
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/pch.cpp
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
//
|
||||
// pch.cpp
|
||||
// Include the standard header and generate the precompiled header.
|
||||
//
|
||||
|
||||
#include "pch.h"
|
9
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/pch.h
vendored
Normal file
9
3rdparty/opencv-4.5.4/samples/winrt/OcvImageProcessing/OcvImageProcessing/pch.h
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
//
|
||||
// pch.h
|
||||
// Header for standard system include files.
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <collection.h>
|
||||
#include "App.xaml.h"
|
Reference in New Issue
Block a user