Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
JacksiroKe committed Apr 7, 2020
1 parent ada84ae commit a3e72a7
Show file tree
Hide file tree
Showing 28 changed files with 806 additions and 4 deletions.
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,14 @@ x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/

packages/
*.xml
*.config

# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
Expand Down Expand Up @@ -347,4 +350,4 @@ healthchecksdb
MigrationBackup/

# Ionide (cross platform F# VS Code tools) working folder
.ionide/
.ionide/
11 changes: 9 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
# arcoreimg
arcoreimg desktop tool
# arcoreimg Tool
A desktop app that implements arcoreimg
![arcoreimg Screenshot](https://github.com/JacksiroKe/arcoreimg/raw/master/screenshots/ARCoreImg.png "arcoreimg Screenshot")
[arcoreimg](https://developers.google.com/ar/develop/c/augmented-images/arcoreimg) is a command line tool that takes a set of reference images and generates an image database file. This tool is available in the [ARCore SDK for Android](https://github.com/google-ar/arcore-android-sdk/releases) and is for only Android and Android NDK developers. It is built into the Unity SDK and ARCore Unreal plugin. However if you dont like doing command line stuff when building an android app then this will do you good for Windows.

## Features
1. Check image quality
2. Create image database from a directory of images
3. Create a image database from an image list file
25 changes: 25 additions & 0 deletions arcoreimg-app.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29926.136
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "arcoreimg-app", "arcoreimg-app\arcoreimg-app.csproj", "{ED9EDD3D-6F0B-425D-B4ED-664949BDD3C3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{ED9EDD3D-6F0B-425D-B4ED-664949BDD3C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ED9EDD3D-6F0B-425D-B4ED-664949BDD3C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ED9EDD3D-6F0B-425D-B4ED-664949BDD3C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ED9EDD3D-6F0B-425D-B4ED-664949BDD3C3}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7E6D918E-80F2-4A1B-A722-51266B1BE219}
EndGlobalSection
EndGlobal
32 changes: 32 additions & 0 deletions arcoreimg-app/App.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<Application x:Class="arcoreimg_app.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dragablz="clr-namespace:Dragablz;assembly=Dragablz"
xmlns:local="clr-namespace:arcoreimg_app"
StartupUri="MainWindow.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Purple.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Yellow.xaml" />

<ResourceDictionary Source="pack://application:,,,/Dragablz;component/Themes/materialdesign.xaml"/>
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/materialdesigntheme.listbox.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/materialdesigntheme.textblock.xaml" />
</ResourceDictionary.MergedDictionaries>

<Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource MaterialDesignListBoxItem}"
x:Key="ListBoxItemStyle">
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="Padding" Value="1" />
</Style>

<Style TargetType="{x:Type dragablz:TabablzControl}" BasedOn="{StaticResource MaterialDesignAlternateTabablzControlStyle}">
<Setter Property="FixedHeaderCount" Value="{Binding RelativeSource={RelativeSource Self}, Path=Items.Count, Mode=OneWay}" />
</Style>

</ResourceDictionary>
</Application.Resources>
</Application>
17 changes: 17 additions & 0 deletions arcoreimg-app/App.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;

namespace arcoreimg_app
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}
}
96 changes: 96 additions & 0 deletions arcoreimg-app/MainWindow.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<Window
x:Class="arcoreimg_app.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:dragablz="http://dragablz.net/winfx/xaml/dragablz"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
mc:Ignorable="d" Topmost="False"
Title="Arcoreimg Tool" Height="500" Width="800" WindowState="Maximized" WindowStartupLocation="CenterScreen" >

<Grid>
<dragablz:TabablzControl x:Name="TabMain" SelectedIndex="0">
<dragablz:TabablzControl.HeaderPrefixContent>
<materialDesign:ColorZone Mode="PrimaryMid" Padding="8" VerticalAlignment="Center" Margin="10 0 0 0">
<StackPanel Orientation="Horizontal">
<Image Source="Resources/arcoreimg.jpg" Height="25"/>
</StackPanel>
</materialDesign:ColorZone>
</dragablz:TabablzControl.HeaderPrefixContent>

<TabItem Header="CHECK IMAGE QUALITY">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="500" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>

<TextBlock Grid.Column="0" Name="ImageUri" Text="/Resources/no_image.jpg" Visibility="Collapsed" />

<Grid Grid.Column="0" Background="#EEEEEE">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>

<Border Grid.Row="0" BorderBrush="Black" BorderThickness="1" Margin="-5, -5, 0, -5">
<Image Name="ImgBrowser" Source="{Binding Text, ElementName=ImageUri}" Stretch="Uniform" Margin="10" Width="Auto" />
</Border>

</Grid>
<StackPanel Grid.Column="1" Orientation="Vertical">
<TextBlock Name="TxtFeedback" Text="Select an image to Scan it" FontSize="20" Margin="10" TextAlignment="Center" TextWrapping="WrapWithOverflow" />

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50" />
</Grid.RowDefinitions>

<ProgressBar Name="LoadingBar" Margin="10, 0" BorderBrush="Black" Foreground="Black" Background="Gray" Height="50"/>

<TextBlock Name="TxtProgress" Text="0%" FontSize="20" Margin="10, 0" HorizontalAlignment="Center" Foreground="White" FontWeight="Bold" VerticalAlignment="Center" Width="50" />

</Grid>

<TextBlock Name="TxtFilename" Text="No Image selected" FontSize="20" Margin="10" TextAlignment="Center" />

<Button Name="BtnImgBrowser" Content="BROWSE AN IMAGE" Click="BtnImgBrowser_Click" Padding="30,5" FontSize="15" HorizontalAlignment="Center" Margin="10"/>

</StackPanel>
</Grid>
</TabItem>
<TabItem Header="CREATE AN IMAGE DATABASE FILE">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>

<TextBlock Grid.Row="0" Name="TxtFeedback1" Text="Specify a directory that contains your images" FontSize="20" Margin="10" TextAlignment="Center" TextWrapping="WrapWithOverflow" VerticalAlignment="Center" />

<Button Grid.Row="1" Name="BtnDirBrowser" Click="BtnDirBrowser_Click" Content="BROWSE IMAGE DIRECTORY" Padding="30,5" FontSize="15" HorizontalAlignment="Center" Margin="10" VerticalAlignment="Top"/>
</Grid>
</TabItem>
<TabItem Header="CREATE A DATABASE FROM AN IMAGE LIST FILE">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>

<TextBlock Grid.Row="0" Name="TxtFeedback2" Text="Browse to an Image File List to Create a Database From" FontSize="20" Margin="10" TextAlignment="Center" TextWrapping="WrapWithOverflow" VerticalAlignment="Center" />

<Button Grid.Row="1" Name="BtnTxtBrowser" Click="BtnTxtBrowser_Click" Content="BROWSE AN IMAGE FILE LIST" Padding="30,5" FontSize="15" HorizontalAlignment="Center" Margin="10" VerticalAlignment="Top"/>
</Grid>
</TabItem>
</dragablz:TabablzControl>

<Button Style="{DynamicResource MaterialDesignFloatingActionLightButton}"
HorizontalAlignment="Right" VerticalAlignment="Top"
Margin="0 18 48 32" Visibility="Collapsed">
<materialDesign:PackIcon Kind="Refresh" />
</Button>
</Grid>

</Window>
Loading

0 comments on commit a3e72a7

Please sign in to comment.