Multi-Scale Geometric Consistency Guided and Planar Prior Assisted Multi-View Stereo

Overview

ACMMP

[News] The code for ACMH is released!!!
[News] The code for ACMM is released!!!
[News] The code for ACMP is released!!!

About

This repository contains the code for Multi-Scale Geometric Consistency Guided and Planar Prior Assisted Multi-View Stereo, which is the extension of ACMM and ACMP.

Dependencies

The code has been tested on Ubuntu 16.04 with GTX 1080 Ti.

Usage

  • Complie ACMMP
cmake .  
make
  • Test
Use script colmap2mvsnet_acm.py to convert COLMAP SfM result to ACMMP input   
Run ./ACMMP $data_folder to get reconstruction results

Acknowledgemets

This code largely benefits from the following repositories: Gipuma and COLMAP. Thanks to their authors for opening source of their excellent works.

Comments
  • What's the best algorithm?

    What's the best algorithm?

    I read your papers with great interest.

    We are also very interested in your results.

    Linked projects seem to have ACMM, ACMH, ACMP, ACMMP.

    Which of these algorithms is the best?

    opened by JunsukLee 2
  • "worng!" mesage

    Hi! Could you explain when the error is triggered and how I can avoid it? https://github.com/GhiXu/ACMMP/blob/f4c78f04b8a78f8565242950190df14a53fba7ab/ACMMP.cpp#L975 The method still produces good results, but always with this error, I'm confused.

    opened by Kaktusava 3
  • memory usage is keep increasing at depth estimation stage

    memory usage is keep increasing at depth estimation stage

    Hi, thank you for opening this great project! I tested this algorithm on ETH3d training data "kicker", the memory is keep increasing. My computer capacity is 32Gb, and at the end ACMMP use more than 30Gb memory. And in another bigger dataset, the program just killed half way. I think this should not happen but I don't find the bug, can you help me? And this bug is at depth estimation stage, not depth fusion stage.

    opened by CanCanZeng 2
  • Compilation error

    Compilation error

    (base) -bash-4.2$ cmake .
    CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
      Update the VERSION argument <min> value or use a ...<max> suffix to tell
      CMake that the project does not need compatibility with older versions.
    
    
    -- The C compiler identification is GNU 7.5.0
    -- The CXX compiler identification is GNU 7.5.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/local/GNU/gcc-7.5.0/bin/gcc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/local/GNU/gcc-7.5.0/bin/g++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
    -- Looking for pthread_create in pthreads
    -- Looking for pthread_create in pthreads - not found
    -- Looking for pthread_create in pthread
    -- Looking for pthread_create in pthread - found
    -- Found Threads: TRUE
    -- Found CUDA: /usr/local/cuda-10.2 (found suitable version "10.2", minimum required is "6.0")
    -- Found OpenCV: /usr/local/software/opencv-4.5.1 (found version "4.5.1")
    -- Found OpenMP_C: -fopenmp (found version "4.5")
    -- Found OpenMP_CXX: -fopenmp (found version "4.5")
    -- Found OpenMP: TRUE (found version "4.5")
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /export/data/lwangcg/ACMP
    
    [ 25%] Building NVCC (Device) object CMakeFiles/ACMP.dir/ACMP_generated_ACMP.cu.o
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(177): error: "conjunction_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(177): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(180): error: "disjunction_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(180): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(183): error: "negation_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(183): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2661): error: "is_swappable_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2661): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2666): error: "is_nothrow_swappable_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2666): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2745): error: "is_swappable_with_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2745): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2750): error: "is_nothrow_swappable_with_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2750): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2882): error: "is_invocable_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2882): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2886): error: "is_nothrow_invocable_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2886): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2891): error: "is_invocable_r_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2891): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2896): error: "is_nothrow_invocable_r_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2896): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2903): error: "is_void_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2903): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2905): error: "is_null_pointer_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2905): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2907): error: "is_integral_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2907): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2909): error: "is_floating_point_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2909): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2911): error: "is_array_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2911): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2913): error: "is_pointer_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2913): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2915): error: "is_lvalue_reference_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2915): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2918): error: "is_rvalue_reference_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2918): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2921): error: "is_member_object_pointer_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2921): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2924): error: "is_member_function_pointer_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2924): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2927): error: "is_enum_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2927): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2929): error: "is_union_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2929): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2931): error: "is_class_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2931): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2933): error: "is_function_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2933): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2935): error: "is_reference_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2935): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2937): error: "is_arithmetic_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2937): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2939): error: "is_fundamental_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2939): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2941): error: "is_object_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2941): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2943): error: "is_scalar_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2943): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2945): error: "is_compound_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2945): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2947): error: "is_member_pointer_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2947): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2949): error: "is_const_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2949): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2951): error: "is_volatile_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2951): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2953): error: "is_trivial_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2953): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2955): error: "is_trivially_copyable_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2955): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2958): error: "is_standard_layout_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2958): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2960): error: "is_pod_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2960): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2962): error: "is_literal_type_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2962): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2964): error: "is_empty_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2964): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2966): error: "is_polymorphic_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2966): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2968): error: "is_abstract_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2968): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2970): error: "is_final_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2970): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2972): error: "is_signed_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2972): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2974): error: "is_unsigned_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2974): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2976): error: "is_constructible_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2976): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2979): error: "is_default_constructible_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2979): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2982): error: "is_copy_constructible_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2982): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2985): error: "is_move_constructible_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2985): error: "constexpr" is not valid here
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2988): error: "is_assignable_v" is not a function or static data member
    
    /usr/local/GNU/gcc-7.5.0/include/c++/7.5.0/type_traits(2988): error: "constexpr" is not valid here
    
    Error limit reached.
    100 errors detected in the compilation of "/tmp/tmpxft_0001a47b_00000000-7_ACMP.compute_52.cpp1.ii".
    Compilation terminated.
    CMake Error at ACMP_generated_ACMP.cu.o.cmake:280 (message):
      Error generating file
      /export/data/lwangcg/ACMP/CMakeFiles/ACMP.dir//./ACMP_generated_ACMP.cu.o
    
    
    make[2]: *** [CMakeFiles/ACMP.dir/ACMP_generated_ACMP.cu.o] Error 1
    make[1]: *** [CMakeFiles/ACMP.dir/all] Error 2
    make: *** [all] Error 2
    
    opened by NoOneUST 0
  • Bug fix suggestion

    Bug fix suggestion

    Hi, I think I found a pretty severe bug in both ACMM and ACMMP. The problem is the following line:

    https://github.com/GhiXu/ACMMP/blob/f4c78f04b8a78f8565242950190df14a53fba7ab/ACMMP.cu#L1100

    When the if statement is not satisfied, that variable remains uninitialized and it is both refined with PlaneHypothesisRefinement() and assigned to plane_hypotheses[center]. This produces random values which then propagates throughout the execution. You can verify it yourself if you just print the number of depth values smaller than 0 and bigger than any reasonable threshold. I would suggest to simply initialize it with the current value:

    float4 plane_hypotheses_now = plane_hypotheses[center]

    The issue doesn't exist in ACMP, where this line is not executed and plane_hypotheses[center] is directly manipulated.

    Now, the problem is that with this fix the 3D output has slightly less points (around 8-9% less), which is weird. Can you look a bit into this issue and clarify what happens? Maybe I'm missing something. Thank you in advance!

    opened by morsingher 4
Owner
Qingshan Xu
Ph.D. Candidate, HUST
Qingshan Xu
A fast multi-producer, multi-consumer lock-free concurrent queue for C++11

moodycamel::ConcurrentQueue An industrial-strength lock-free queue for C++. Note: If all you need is a single-producer, single-consumer queue, I have

Cameron 7.4k Jan 2, 2023
A bounded multi-producer multi-consumer concurrent queue written in C++11

MPMCQueue.h A bounded multi-producer multi-consumer concurrent queue written in C++11. It's battle hardened and used daily in production: In the Frost

Erik Rigtorp 836 Dec 25, 2022
Multi-Purpose Header-Only C Data Structures

USAGE These header files are meant to be a simple means of using datastructures in a C project. They are universally useable with any other C datatype

Andre Schneider 2 Jul 15, 2022
A low-latency LRU approximation cache in C++ using CLOCK second-chance algorithm. Multi level cache too. Up to 2.5 billion lookups per second.

LruClockCache Low-latency LRU approximation cache in C++ using CLOCK second-chance algorithm. (see wiki for details) using MyKeyType = std::string; us

Hüseyin Tuğrul BÜYÜKIŞIK 35 Dec 19, 2022
Directed Acyclic Graph Execution Engine (DAGEE) is a C++ library that enables programmers to express computation and data movement, as task graphs that are scheduled concurrently and asynchronously on both CPUs and GPUs.

Directed Acyclic Graph Execution Engine (DAGEE) is a C++ library that enables programmers to express computation and data movement, as tasks in a graph structure, where edges represent task dependencies

null 28 Dec 18, 2022
Rajesh Kumar Sah 1 Nov 20, 2021
Is a linear data structure with O(log n) searches and O(cbrt n) insertions and index lookups.

A binary cube is a linear data structure that contains a sorted two dimensional dynamic array of nodes which each point to a sorted array

null 22 Jul 13, 2022
Repository of problems and solutions of labsheets used for Data Structures and Algorithms (CS F211) in Semester 2, 2020-21 at BITS Pilani - Hyderabad Campus.

CS F211 Data Structures and Algorithms (BITS Pilani - Hyderabad Campus) This repository contains the problems, solution approaches & explanations and

Rohit Dwivedula 27 Oct 31, 2022
Algo-Tree is a collection of Algorithms and data structures which are fundamentals to efficient code and good software design

Algo-Tree is a collection of Algorithms and data structures which are fundamentals to efficient code and good software design. Creating and designing excellent algorithms is required for being an exemplary programmer. It contains solutions in various languages such as C++, Python and Java.

DSC-Banasthali 53 Oct 4, 2022
A family of header-only, very fast and memory-friendly hashmap and btree containers.

The Parallel Hashmap Overview This repository aims to provide a set of excellent hash map implementations, as well as a btree alternative to std::map

Gregory Popovitch 1.7k Jan 9, 2023
C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types, continuous memory storage, and no pointers are involved

C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types, continuous memory storage, and no pointers are involved

Hossein Moein 1.7k Jan 9, 2023
Templates, algorithms and data structures implemented and collected for programming contests.

Templates, algorithms and data structures implemented and collected for programming contests.

Shahjalal Shohag 2k Jan 2, 2023
This repository aims to contain solutions and explanations to various competitive programming problems, which may be important for interviews and online tests of different companies.

Competitive Programming Solutions Compilation Hello everyone ?? This repository contains solutions and explanations to various competitive programming

Abhinav Agrawal 33 Dec 14, 2022
"Wireless Made Easy!" - Microchip MRF MiWi package is MiWi P2P and Star Stacks for MRF24J40 and MRF89XA transceivers running on MPLAB X IDE

MRF-MiWi "Wireless Made Easy!" - Microchip MiWi P2P and Star Stack Opened for MRF24J40 and MRF89XA transceiver running on MPLAB X IDE Devices: | MRF24

Microchip Technology 2 Sep 27, 2022
A simple single header 64 and 32 bit hash function using only add, sub, ror, and xor.

K-HASH A simple single header 64 bit hash function using only add, sub, ror, and xor. This a just general-purpose hash function for like making hash m

null 70 Dec 27, 2022
Given two arrays X and Y of positive integers, find the number of pairs such that x^y > y^x (raised to power of) where x is an element from X and y is an element from Y.

Number-of-pairs Given two arrays X and Y of positive integers, find the number of pairs such that x^y > y^x (raised to power of) where x is an element

Rajesh Kumar Sah 1 Nov 20, 2021
Analysing and implementation of lossless data compression techniques like Huffman encoding and LZW was conducted along with JPEG lossy compression technique based on discrete cosine transform (DCT) for Image compression.

PROJECT FILE COMPRESSION ALGORITHMS - Huffman compression LZW compression DCT Aim of the project - Implement above mentioned compression algorithms an

null 1 Dec 14, 2021
Cross-platform STL-styled and STL-compatible library with implementing containers, ranges, iterators, type traits and other tools; actors system; type-safe config interface.

Yato A small repository where I'm gatherting useful snippets and abstractions for C++ development. Yato includes 3 main modules: multidimensional cont

Alexey 10 Dec 18, 2022