dscvr-com / online-stitcher Goto Github PK
View Code? Open in Web Editor NEWStitcher Repository
Stitcher Repository
Reduce focal length
This can be used by the stitcher to get regions without copying the whole image.
Basically create an HDR image and then do some tone mapping.
Related to dscvr-com/dscvr-app-ios#88
Or make it possible to disable debug globally.
So we save a cvtcolor while recording.
that runs during recording.
Gives left result twice in unit test.
I'm sure we can get it as fast as correlating.
And also save a lot of battery by doing so.
And maybe everything else to, using a producer/consumer pattern.
Rewrite and tune aligner for 3 rings.
The new optical center might be off. It has to be located where the optical center if the lens is.
* thread #7: tid = 0x725952, 0x000000019b5871e0 libsystem_kernel.dylib`__pthread_kill + 8, queue = 'com.apple.root.background-qos', stop reason = signal SIGABRT
frame #0: 0x000000019b5871e0 libsystem_kernel.dylib`__pthread_kill + 8
frame #1: 0x000000019b650f0c libsystem_pthread.dylib`pthread_kill + 112
frame #2: 0x000000019b4fab78 libsystem_c.dylib`abort + 140
frame #3: 0x000000019b4cfb50 libsystem_c.dylib`__assert_rtn + 324
* frame #4: 0x000000010004f5c8 Optonaut`void optonaut::DynamicSeamer::Find<false>(imgA=0x0000000138971d70, imgB=0x0000000138971ed0, maskA=0x0000000138971df0, maskB=0x0000000138971f50, tlAIn=0x0000000138971e70, tlBIn=0x0000000138971fd0, border=16, overlap=32, id=0) + 3908 at dynamicSeamer.cpp:194
frame #5: 0x0000000100095d14 Optonaut`optonaut::DynamicSeamer::FindHorizontalFromStitchingResult(a=std::__1::shared_ptr<optonaut::StitchingResult>::element_type @ 0x0000000138971d70 strong=3 weak=1, b=std::__1::shared_ptr<optonaut::StitchingResult>::element_type @ 0x0000000138971ed0 strong=3 weak=1) + 352 at dynamicSeamer.hpp:34
frame #6: 0x0000000100099148 Optonaut`void std::__1::__invoke_void_return_wrapper<void>::__call<void (*&)(std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&), std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&>(void (*&&&)(std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&), std::__1::shared_ptr<optonaut::StitchingResult>&&&, std::__1::shared_ptr<optonaut::StitchingResult>&&&) [inlined] decltype(__f=0x000000016e19c860, __args=std::__1::shared_ptr<optonaut::StitchingResult>::element_type @ 0x0000000138971d70 strong=3 weak=1, __args=std::__1::shared_ptr<optonaut::StitchingResult>::element_type @ 0x0000000138971ed0 strong=3 weak=1)(std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&)>(fp)(std::__1::forward<std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&>(fp0))) std::__1::__invoke<void (*&)(std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&), std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&>(void (*&&&)(std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&), std::__1::shared_ptr<optonaut::StitchingResult>&&&, std::__1::shared_ptr<optonaut::StitchingResult>&&&) + 132 at __functional_base:415
frame #7: 0x000000010009910c Optonaut`void std::__1::__invoke_void_return_wrapper<void>::__call<void (__args=0x000000016e19c860, __args=std::__1::shared_ptr<optonaut::StitchingResult>::element_type @ 0x0000000138971d70 strong=3 weak=1, __args=std::__1::shared_ptr<optonaut::StitchingResult>::element_type @ 0x0000000138971ed0 strong=3 weak=1)(std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&), std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&>(void (*&&&)(std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&), std::__1::shared_ptr<optonaut::StitchingResult>&&&, std::__1::shared_ptr<optonaut::StitchingResult>&&&) + 72 at __functional_base:440
frame #8: 0x0000000100098f6c Optonaut`std::__1::__function::__func<void (*)(std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&), std::__1::allocator<void (*)(std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&)>, void (std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&)>::operator(this=0x000000016e19c858, __arg=std::__1::shared_ptr<optonaut::StitchingResult>::element_type @ 0x0000000138971d70 strong=3 weak=1, __arg=std::__1::shared_ptr<optonaut::StitchingResult>::element_type @ 0x0000000138971ed0 strong=3 weak=1)(std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&) + 76 at functional:1407
frame #9: 0x00000001000203b0 Optonaut`std::__1::function<void (std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&)>::operator(this=0x000000016e19c858, __arg=std::__1::shared_ptr<optonaut::StitchingResult>::element_type @ 0x0000000138971d70 strong=3 weak=1, __arg=std::__1::shared_ptr<optonaut::StitchingResult>::element_type @ 0x0000000138971ed0 strong=3 weak=1)(std::__1::shared_ptr<optonaut::StitchingResult>&, std::__1::shared_ptr<optonaut::StitchingResult>&) const + 184 at functional:1793
frame #10: 0x0000000100012870 Optonaut`optonaut::RingProcessor<std::__1::shared_ptr<optonaut::StitchingResult> >::Push(this=0x000000016e19c820, in=std::__1::shared_ptr<optonaut::StitchingResult>::element_type @ 0x0000000138971ed0 strong=3 weak=1) + 420 at ringProcessor.hpp:77
frame #11: 0x0000000100095b40 Optonaut`optonaut::RingProcessor<std::__1::shared_ptr<optonaut::StitchingResult> >::Process(this=0x000000016e19c820, in=size=3, prog=0x000000010064a928) + 124 at ringProcessor.hpp:56
frame #12: 0x000000010008f1c0 Optonaut`optonaut::FindSeams(rings=size=3, store=0x000000010064aa50) + 576 at multiringStitcher.cpp:97
frame #13: 0x000000010009107c Optonaut`optonaut::MultiRingStitcher::Stitch(this=0x000000016e19ea48, progress=0x0000000137767918, debug=false, debugName="") + 5140 at multiringStitcher.cpp:186
frame #14: 0x0000000100045790 Optonaut`optonaut::Stitcher::Finish(this=0x000000016e19ea40, progress=0x0000000137767918, debug=false, debugName=<unavailable>) + 1344 at stitcher.hpp:42
frame #15: 0x0000000100043fec Optonaut`-[Stitcher getRightResult](self=0x00000001377d06a0, _cmd="getRightResult") + 260 at Stitcher.mm:62
frame #16: 0x00000001002ff370 Optonaut`static Optonaut.StitchingService.(sink=ReactiveCocoa.Observer<Optonaut.StitchingResult, Optonaut.StitchingError> @ 0x000000016e19eda8, self=Optonaut.StitchingService) -> (Optonaut.Optograph) -> ReactiveCocoa.Signal<Optonaut.StitchingResult, Optonaut.StitchingError>).(closure #1) + 1348 at StitchingService.swift:108
frame #17: 0x00000001000a6d6c Optonaut`reabstraction thunk helper from @callee_owned () -> (@unowned ()) to @callee_unowned @convention(block) () -> (@unowned ()) + 44 at OptographOptions.swift:0
frame #18: 0x0000000102be5d70 libdispatch.dylib`_dispatch_call_block_and_release + 24
frame #19: 0x0000000102be5d30 libdispatch.dylib`_dispatch_client_callout + 16
frame #20: 0x0000000102bf4f38 libdispatch.dylib`_dispatch_root_queue_drain + 2344
frame #21: 0x0000000102bf4600 libdispatch.dylib`_dispatch_worker_thread3 + 132
frame #22: 0x000000019b64d478 libsystem_pthread.dylib`_pthread_wqthread + 1092
Maybe an error when inserting "overlap"?
Is the ring closed wrong, then?
Please restructure the client code. That includes:
src/io.cpp
, src/io.hpp
, src/testbed.cpp
, ios-testbed.cpp
Protect from invalid cross-thread access.
Might be related to:
To get nice corners.
Free some memory!
Throw keyframes away and stuff. If we stick with the current alighner, we can reduce them by 75%.
This might be directly related to app crashes.
eg: rings are written -> remove raw images
Instead of image corellation
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.