Coder Social home page Coder Social logo

danice / iceautomation Goto Github PK

View Code? Open in Web Editor NEW
35.0 5.0 11.0 23 KB

A command line application to bach process image stitching using the marvellous Image Compose Editor (ICE).

C# 99.72% Batchfile 0.28%
image-processing image-composite-editor image-composition image-stitching

iceautomation's Introduction

ICE Automation

A command line application to bach process image stitching using the marvellous Image Compose Editor (ICE).

Build

Now the project has moved to netcoreapp3.1. I recommend you to use VS Code to work with it, but only .net core 3.1 SDK is required. Follow this:

  1. install dot.net core 3.1 SDK
  2. open a cmd, move to your folder and execute:
> git clone https://github.com/danice/ICEAutomation.git
> cd ICEAutomation
> dotnet build

You will found the compiled files in \ICEAutomation\src\bin\Debug\netcoreapp3.1 Next adjust the ICEAutomation.bat to point to this folder. Then copy the batch file to c:\Windows or some folder in system Path so you can execute the application from any folder.

Instructions

  1. open a command line and move to the folder where your images are
  2. execute
  • "ICEAutomation compose [file1] [file2] [file3...]" to stitch those files
  • "ICEAutomation process" to process all *.JPG files in current folder in groups of 3
  • "ICEAutomation process [num]" to process all *.JPG files in current folder in groups of [num]
  • "ICEAutomation process [num] [ext]" to process all files with extension [ext] in current folder in groups of [num]
  • "ICEAutomation process [num] [ext] [folder]" to process all files with extension [ext] in [folder] in groups of [num]
  • "ICEAutomation structure [num] [ext] [folder]" process as before but using structure panorama

Options:

  • --motion: to specify Camera motion type. Default: autoDetect. Possible values: autoDetect , planarMotion, planarMotionWithSkew, planarMotionWithPerspective, rotatingMotion]
  • --save: saves stich processing file

Structure panorama options:

  • --initial-corner: topLef (default), topRight, bottomLeft, bottomRight
  • --rows: Number of rows. If defined the direction will be down (if intial corner is top) or up (if initial corner is bottom)
  • --cols: Number of columns. If defined the direction will be right (if intial corner is left) or left (if initial corner is right)
  • --order: serpentine, zigzag
  • --angular-range: less360, horiz, vert (pending)
  • --horizontal-overlap
  • --vertical-overlap
  • --search-radious (pending)
  • --auto-overlap (pending)

Warning

The application uses button labels to automate ICE. Depending of your environment this names can change (for example "Save" button). You can configure the button labels in your ICE in app.config.

The processed files will be copied in the last folder used by ICE. So I recommend firt executing manually a stich to select the destination folder.

iceautomation's People

Contributors

danice avatar williamisted avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

iceautomation's Issues

Thanks! Could you issue PR against main branch?

Hi, accidentally stumbled on your code via fork (original mentioned here: https://social.microsoft.com/Forums/en-US/97954687-92e4-466f-a982-5844fcb17bf1/is-there-an-automation-api-available-for-ice?forum=ice )

Any chance you could issue a PR against the main branch? Seems internet tends to point to that one, even though you made a bunch of improvements.

Thank you!

Any way to extract the alignment data?

It works great!

However I might need some flexibility... After call
stitch.startAlignment()

Is there any way to extract the alignment data?
I know that ICE would save a project file of alignment data as the project file. Is it possible to extract a file like that with C# code? Or even better, is it possible to get the alignment data by C# code? the public members of StitchEngineWrapper don't have something like that...

Saving tiled image as a tif

Hi,

I have a set of tif files that need to be tiled, can I know what needs to be changed in the VS code to save the tiled image as a tif file as well?

Thanks,
Chaitanya

It blocks during selecting images

When processing more groups of images it blocks at the second/third/fourth group printing some dots because it can't find the button named as "EXPORT". Actually the window seems to have no childs.

Build application

I have problem building the project.

The project has to be compiled using Visual Studio 2017 I am using 2017.

The current .NET SDK does not support targeting .NET Core 3.1. Either target .NET Core 2.1 or lower, or use a version of the .NET SDK that supports .NET Core 3.1.

I have installed .NET Core 3.1. But I don't see it in VS2017, on web it says that only VS2019 supports 3.1.
So I have selected 2.1 in project, but I get next error in line.

.WithParsed<ComposeOptions>(options => Compose(options))

A local or parameter named 'options' cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter

Saving in same folder as source images

This code is awesome!!

Is there a way to make the FlaUI make the ICE store the images in the same location as source images? The problem that occurs with me is that ICE saves images in last used location.

Compose command failing

Could you provide an example on how to use the compose option.
If I run "ICEAutomation compose pcbscan_count_000.jpg pcbscan_count_001.jpg pcbscan_count_002.jpg"
I get the following:

...
ERROR(S):
Error setting value to option '': Check if Option or Value attribute values are set properly for the given type.
...

Automate structured panorama

Great program! I was looking to automate ICE.

We are using ICE to stitch aerial photos using structured panoramas. Ideally we would like to automate the process. Is it possible to use you program with structured panoramas? Some of the photos will be 25 x 2 grids while other photos will be in 20 x 20 grids. Also the starting place for the photos will be change depending on the picture set.

Thanks

Dave

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.