Skip to content

Nedja995/npcv-c

Repository files navigation

:::::::::::::::::::::::::::::::::::
:: 
::		WORK IN PROGRESS
::
:::::::::::::::::::::::::::::::::::

    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  :::::   											     ::
::::::: 		NPCV									     ::
:::::::	   COMPUTER VISION LIBRARY								     ::
::::::: 											     ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

== README ==
 1.) Project summary
 2.) Output samples
 2.) Using
 3.) Technical summary
 4.) Prerequisites
 5.) Building
 6.) Installing
 7.) Contributing
 8.) Bugs
 
== 1. PROJECT SUMMARY ==

	* This is a lightweight computer vision library I started with the aim of personal training.
	  It is cross platform compiling and open source project for Windows, Linux and Android
	  with posibility to port them on other platform and even embeded system.	

	* There is not clear targets for what this can be used.
	  For now it can be used like:
		1.) standard libray (strings, lists, memory, and etc..) with configurable log system
		2.) utils that can read/write file and images and cross platform path string utilities
		3.) some image filtering and processing like gray, canny edge detection, cuting images
		4.) classify images based on edges

	* In addition to computer vision and even more I want learn to apply techniques 
	  related to open source projects as all other interesting 
	  software engineering techniques and technologies.
	  I'm not going to make alternatives for existing solution 
	  but there is some equals with somes solution with that i'm inspired.
	  I get inspired by opencv, Vuforia, blender, cocos2dx, Neuroph, TensorFlow,..
	  
	* All advice, criticisms, questions and participants are welcome
	
== 2. OUTPUT SAMPLES ==
	
	1.) Classification output. Ocr classification.
	    Each picture for exactly 123 samples of character variation sorted by x axis: 
	    https://github.com/Nedja995/npcv/blob/master/examples/datas/output/old/classified/test1/
	2.) Image processing:
	    https://github.com/Nedja995/npcv/blob/master/examples/datas/output/valid_results
	
== 3. USING ==

	* End user:
		can start console program from '/bin/stable/' directory for their platform
	
	* Library users:
		need to link libs from '/lib/' directory and include headers from '/include/ directory'
	  
	* Developer: 
		Can use CMake to generate project for various IDE-s and Makefile 
		There is two usefull executable:
			1.) examples - when running they will make few outputs 
			    in '/examples/datas/output'
		             - also in this directory you can find '/valid_results/' 
				with who you can compare your outputs
			     - althrought in '/examples/datas/output/old/classified/test1/' 
				you can find classification output of ocr number samples 
				in early stage of development
			2.) tests - GTests. Can download them on build or
		            select custom GTest and GMock project paths
		            
		This is overview, more details in 6. BUILDING section
	
== 4. TECHNICAL SUMMARY ==

	* Doxygen docs http://npcvdocs.co.nf/modules.html
	
	* 'npcv' are base made by several C modules and they are full cross platform.
	  There are main functions for computing and also standard and utils library
	  with low level log system. Many functions in std library are just wrappers 
	  for C std libs. I did it for the problem  that I think may arise with performance 
	  or compatibility with embeded system. So I thought this can help later.
	  Even this wr. for now reduce performance little
	  And I want implement much more functionalities on my own.
  
	* The 'npcv' is separated into four projects for now it contains:
	 |  module  description                   |     namespace   |              
	 | 'core' something like standard library |  npcore         |
	 | 'utils' file/image read and write	  |  nputils        |
	 | 'imgproc' image processing             |  npip           |
	 | 'classification'			  |  npcf           |
	 
	 
== 5. PREREQUISITES ==

 This project requires:
  * Cross-platform Make (CMake) v2.6.2+
  * (Windows) Visual Studio 2010+
  * (linux) GCC or an alternative, reasonably conformant C++ compiler.
  * (linux optional) CodeBlock IDE

== 6. BUILDING ==
	When configuring CMake you can include in build:
		* "optimal" modules for imageprocessing and classification
		* Detail trace log writing in file
		* GTest Project with downloading gtest and gmock reps or set path manual
		* Visual Leak Detector - for windows debuging
		* Examples project

 	1.) Windows Visual Studio

	2.) Unix Makefile
	
 This project uses the Cross-platform Make (CMake) build system. However, we
 have conveniently provided a wrapper configure script and Makefile so that
 the typical build invocation of "./configure" followed by "make" will work.
 For a list of all possible build targets, use the command "make help".

 NOTE: Users of CMake may believe that the top-level Makefile has been
 generated by CMake; it hasn't, so please do not delete that file.

== 7. INSTALLING ==

 Once the project has been built (see "BUILDING"), execute "sudo make install".

== 8. CONTRIBUTING ==

 TODO: Enhance section.

== 9. BUGS ==

About

No description, website, or topics provided.

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages