diff options
| -rw-r--r-- | opencv/Makefile | 253 | ||||
| -rw-r--r-- | opencv/cvimage.h | 217 | ||||
| -rw-r--r-- | opencv/hello-opencv.cpp | 69 | ||||
| -rw-r--r-- | opencv/hello-opencv.d | 196 | ||||
| -rw-r--r-- | opencv/hello-opencv.o | bin | 0 -> 5560 bytes | |||
| -rwxr-xr-x | opencv/opencv | bin | 0 -> 12500 bytes |
6 files changed, 735 insertions, 0 deletions
diff --git a/opencv/Makefile b/opencv/Makefile new file mode 100644 index 0000000..86ae740 --- /dev/null +++ b/opencv/Makefile @@ -0,0 +1,253 @@ +# The pre-processor and compiler options. + +#http://docs.gstreamer.com/display/GstSDK/Installing+on+Linux + +#MY_CFLAGS = -fpermissive -std=c++11 -Wno-error -I /opt/gstreamer-sdk/include/gstreamer-0.10/ -I /opt/gstreamer-sdk/include/glib-2.0 -I /opt/gstreamer-sdk/lib/glib-2.0/include -I /opt/gstreamer-sdk/include/libxml2 $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --cflags) +MY_CFLAGS = -fpermissive -std=c++11 -I /usr/include/opencv +#-Wno-error $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --cflags) + +# -I ../ffmpeg + +# The linker options.libgstaasinklibgstaasink.so +MY_LIBS = -lopencv_core -lopencv_video -lopencv_highgui -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk -lsndfile -L /usr/local/lib -lswscale -lavcodec -lavformat -lavfilter -lavdevice -lavutil -lstdc++ -lm +#MY_LIBS = -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk -lsndfile -L /usr/local/lib -lswscale -lavcodec -lavformat -lavfilter -lavdevice -lavutil $(shell pkg-config gstreamer-0.10 gstreamer-video-0.10 gstreamer-base-0.10 --libs) +# -lgstreamer-0.10 -lgstreamer-video-0.10 -lgstreamer-base-0.10 -lglib-2.0 -lgstapp-0.10 +#MY_LIBS = ../libavcodec/ffmpeg/libavcodec/libavcodec.a ../libavcodec/ffmpeg/libavutil/libavutil.a ../libavcodec/ffmpeg/libavformat/libavformat.a ../libavcodec/ffmpeg/libavfilter/libavfilter.a ../libavcodec/ffmpeg/libavdevice/libavdevice.a -lPocoNet -lPocoXML -lPocoUtil -lPocoFoundation -lvamp-hostsdk +#GAH! HARD! + +# The pre-processor options used by the cpp (man cpp for more). +CPPFLAGS = -Wall + +# The options used in linking as well as in any direct use of ld. +LDFLAGS = + +# The directories in which source files reside. +# If not specified, only the current directory will be serached. +SRCDIRS = + +# The executable file name. +# If not specified, current directory name or `a.out' will be used. +PROGRAM = + +## Implicit Section: change the following only when necessary. +##========================================================================== + +# The source file types (headers excluded). +# .c indicates C source files, and others C++ ones. +SRCEXTS = .c .C .cc .cpp .CPP .c++ .cxx .cp + +# The header file types. +HDREXTS = .h .H .hh .hpp .HPP .h++ .hxx .hp + +# The pre-processor and compiler options. +# Users can override those variables from the command line. +CFLAGS = -g -O2 +CXXFLAGS= +CXX = colorgcc + +# The C program compiler. +#CC = gcc + +# The C++ program compiler. +#CXX = g++ + +# Un-comment the following line to compile C programs as C++ ones. +#CC = $(CXX) + +# The command used to delete file. +RM = rm -f + +ETAGS = etags +ETAGSFLAGS = + +CTAGS = ctags +CTAGSFLAGS = + +## Stable Section: usually no need to be changed. But you can add more. +##========================================================================== +SHELL = /bin/sh +EMPTY = +SPACE = $(EMPTY) $(EMPTY) +ifeq ($(PROGRAM),) + CUR_PATH_NAMES = $(subst /,$(SPACE),$(subst $(SPACE),_,$(CURDIR))) + PROGRAM = $(word $(words $(CUR_PATH_NAMES)),$(CUR_PATH_NAMES)) + ifeq ($(PROGRAM),) + PROGRAM = a.out + endif +endif +ifeq ($(SRCDIRS),) + SRCDIRS = . +endif +SOURCES = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(SRCEXTS)))) +HEADERS = $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*,$(HDREXTS)))) +SRC_CXX = $(filter-out %.c,$(SOURCES)) +OBJS = $(addsuffix .o, $(basename $(SOURCES))) +DEPS = $(OBJS:.o=.d) + +## Define some useful variables. +DEP_OPT = $(shell if `$(CC) --version | grep "GCC" >/dev/null`; then \ + echo "-MM -MP"; else echo "-M"; fi ) +DEPEND = $(CC) $(DEP_OPT) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) +DEPEND.d = $(subst -g ,,$(DEPEND)) +COMPILE.c = $(CC) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) -c +COMPILE.cxx = $(CXX) $(MY_CFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c +LINK.c = $(CC) $(MY_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) +LINK.cxx = $(CXX) $(MY_CFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) + +.PHONY: all objs tags ctags clean distclean help show install + +# Delete the default suffixes +.SUFFIXES: + +all: Release + +Clang: CXX = clang + +Clang: $(PROGRAM) + +Release: CXXFLAGS += -O2 + +Release: $(PROGRAM) + +Debug: CXXFLAGS += -g3 + +Debug: $(PROGRAM) + +prefix=/usr/local + +Install: rotord + strip rotord + install -m 0755 rotord $(prefix)/bin + + +# Rules for creating dependency files (.d). +#------------------------------------------ + +%.d:%.c + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.C + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cc + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cpp + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.CPP + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.c++ + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cp + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +%.d:%.cxx + @echo -n $(dir $<) > $@ + @$(DEPEND.d) $< >> $@ + +# Rules for generating object files (.o). +#---------------------------------------- +objs:$(OBJS) + +%.o:%.c + $(COMPILE.c) $< -o $@ + +%.o:%.C + $(COMPILE.cxx) $< -o $@ + +%.o:%.cc + $(COMPILE.cxx) $< -o $@ + +%.o:%.cpp + $(COMPILE.cxx) $< -o $@ + +%.o:%.CPP + $(COMPILE.cxx) $< -o $@ + +%.o:%.c++ + $(COMPILE.cxx) $< -o $@ + +%.o:%.cp + $(COMPILE.cxx) $< -o $@ + +%.o:%.cxx + $(COMPILE.cxx) $< -o $@ + +# Rules for generating the tags. +#------------------------------------- +tags: $(HEADERS) $(SOURCES) + $(ETAGS) $(ETAGSFLAGS) $(HEADERS) $(SOURCES) + +ctags: $(HEADERS) $(SOURCES) + $(CTAGS) $(CTAGSFLAGS) $(HEADERS) $(SOURCES) + +# Rules for generating the executable. +#------------------------------------- +$(PROGRAM):$(OBJS) +ifeq ($(SRC_CXX),) # C program + $(LINK.c) $(OBJS) $(MY_LIBS) -o $@ + @echo Type ./$@ to execute the program. +else # C++ program + $(LINK.cxx) $(OBJS) $(MY_LIBS) -o $@ + @echo Type ./$@ to execute the program. +endif + +ifndef NODEP +ifneq ($(DEPS),) + sinclude $(DEPS) +endif +endif + + +clean: + $(RM) $(OBJS) $(PROGRAM) $(PROGRAM).exe + +distclean: clean + $(RM) $(DEPS) TAGS + +# Show help. +help: + @echo 'Generic Makefile for C/C++ Programs (gcmakefile) version 0.5' + @echo 'Copyright (C) 2007, 2008 whyglinux <whyglinux@hotmail.com>' + @echo + @echo 'Usage: make [TARGET]' + @echo 'TARGETS:' + @echo ' all (=make) compile and link.' + @echo ' NODEP=yes make without generating dependencies.' + @echo ' objs compile only (no linking).' + @echo ' tags create tags for Emacs editor.' + @echo ' ctags create ctags for VI editor.' + @echo ' clean clean objects and the executable file.' + @echo ' distclean clean objects, the executable and dependencies.' + @echo ' show show variables (for debug use only).' + @echo ' help print this message.' + @echo + @echo 'Report bugs to <whyglinux AT gmail DOT com>.' + +# Show variables (for debug use only.) +show: + @echo 'PROGRAM :' $(PROGRAM) + @echo 'SRCDIRS :' $(SRCDIRS) + @echo 'HEADERS :' $(HEADERS) + @echo 'SOURCES :' $(SOURCES) + @echo 'SRC_CXX :' $(SRC_CXX) + @echo 'OBJS :' $(OBJS) + @echo 'DEPS :' $(DEPS) + @echo 'DEPEND :' $(DEPEND) + @echo 'COMPILE.c :' $(COMPILE.c) + @echo 'COMPILE.cxx :' $(COMPILE.cxx) + @echo 'link.c :' $(LINK.c) + @echo 'link.cxx :' $(LINK.cxx) + +## End of the Makefile ## Suggestions are welcome ## All rights reserved ## +############################################################################# diff --git a/opencv/cvimage.h b/opencv/cvimage.h new file mode 100644 index 0000000..b96f704 --- /dev/null +++ b/opencv/cvimage.h @@ -0,0 +1,217 @@ +#include <math.h> + +using namespace std; + +//converting to use a cv image... + +namespace Rotor { + class pixeltables{ + //handy pixel arithmetic lookup tables as nested arrays + //so - pixels.add[0x78][0x66]; will give the precalculated result of adding with saturation + // pixels.mono_weights[0][0x100]; will give the red component to convert to mono + public: + pixeltables(){ + add=new uint8_t*[256]; + multiply=new uint8_t*[256]; + for (int i=0;i<256;i++){ + add[i]=new uint8_t[256]; + multiply[i]=new uint8_t[256]; + for (int j=0;j<256;j++){ + add[i][j]=(uint8_t)min(i+j,0xFF); + multiply[i][j]=(uint8_t)((((float)i)/255.0f)*(((float)j)/255.0f)*255.0f); + } + } + mono_weights=new uint8_t*[3]; + float weights[3]={0.2989, 0.5870, 0.1140}; + for (int i=0;i<3;i++) { + mono_weights[i]=new uint8_t[256]; + for (int j=0;j<256;j++){ + mono_weights[i][j]=(uint8_t)(((float)j)*weights[i]); + } + } + } + virtual ~pixeltables(){ + for (int i=0;i<256;i++){ + delete[] add[i]; + delete[] multiply[i]; + } + delete[] add; + delete[] multiply; + for (int i=0;i<3;i++) { + delete[] mono_weights[i]; + } + delete[] mono_weights; + } + uint8_t **add; + uint8_t **multiply; + uint8_t **mono_weights; + }; + static pixeltables pixels; + class Image{ + public: + Image(){ + zero(); + }; + Image(int _w,int _h){ + zero(); + setup(_w,_h); + }; + ~Image() { + free(); + }; + void free(){ + if (RGBdata&&ownsRGBdata) delete[] RGBdata; + if (Adata&&ownsAdata) delete[] Adata; + if (Zdata&&ownsZdata) delete[] Zdata; + zero(); + } + void zero(){ + RGBdata=nullptr; + Adata=nullptr; + Zdata=nullptr; + w=0; + h=0; + ownsRGBdata=ownsAdata=ownsZdata=false; + } + bool setup(int _w,int _h){ //set up with internal data + if (w!=_w||h!=_h||!ownsRGBdata||!ownsAdata||!ownsZdata){ + free(); + w=_w; + h=_h; + RGBdata=new uint8_t[w*h*3]; + Adata=new uint8_t[w*h]; + Zdata=new uint16_t[w*h]; + ownsRGBdata=ownsAdata=ownsZdata=true; + return true; + } + else return false; + } + bool setup_fromRGB(int _w,int _h,uint8_t *pRGBdata){ //possibility of just resetting pointer? + if (w!=_w||h!=_h||ownsRGBdata||!ownsAdata||!ownsZdata){ + free(); + w=_w; + h=_h; + RGBdata=pRGBdata; + Adata=new uint8_t[w*h]; + Zdata=new uint16_t[w*h]; + ownsRGBdata=false; + ownsAdata=ownsZdata=true; + return true; + } + return false; + } + Image* clone(){ + Image *t=new Image(w,h); + for (int i=0;i<w*h*3;i++) { + t->RGBdata[i]=RGBdata[i]; + } + return t; + } + Image & operator+=(const Image &other) { + if (other.w!=w||other.h!=h) { + cerr<<"Rotor: cannot add images with different sizes! (wanted "<<w<<"x"<<h<<", got "<<other.w<<"x"<<other.h<<")"<<endl; + } + else { + for (int i=0;i<w*h*3;i++){ + //calculate with tables + RGBdata[i]=pixels.add[RGBdata[i]][other.RGBdata[i]]; + } + } + return *this; + } + Image & operator*=(const Image &other) { + if (other.w!=w||other.h!=h) { + cerr<<"Rotor: cannot multiply images with different sizes! (wanted "<<w<<"x"<<h<<", got "<<other.w<<"x"<<other.h<<")"<<endl; + } + else { + for (int i=0;i<w*h*3;i++){ + //calculate with tables + uint8_t p1=RGBdata[i]; + uint8_t p2=other.RGBdata[i]; + RGBdata[i]=pixels.multiply[RGBdata[i]][other.RGBdata[i]]; + } + } + return *this; + } + Image & add_wrap(const Image &other) { + if (other.w!=w||other.h!=h) { + cerr<<"Rotor: cannot add images with different sizes! (wanted "<<w<<"x"<<h<<", got "<<other.w<<"x"<<other.h<<")"<<endl; + } + else { + for (int i=0;i<w*h*3;i++){ + //creates rainbow overload + RGBdata[i]=(unsigned char)(((int)other.RGBdata[i]+(int)RGBdata[i])); + } + } + return *this; + } + //scalar operations allocate a new image. + //maybe this could not be the case if the data is owned by this image? + //need to look into auto_ptr + Image & operator*=(const float &amount) { + uint8_t *LUT=new uint8_t[256]; + for (int i=0;i<256;i++) { + LUT[i]=(uint8_t)min(0xFF,max(0,(int)(i*amount))); + } + for (int i=0;i<w*h*3;i++){ + //calculate with table + RGBdata[i]=LUT[RGBdata[i]]; + } + delete[] LUT; + return *this; + } + Image * operator*(const float &amount) { + Image *other=new Image(w,h); + uint8_t *LUT=new uint8_t[256]; + for (int i=0;i<256;i++) { + LUT[i]=(uint8_t)min(0xFF,max(0,(int)(i*amount))); + } + for (int i=0;i<w*h*3;i++){ + other->RGBdata[i]=LUT[RGBdata[i]]; + } + delete[] LUT; + return other; + } + Image * operator+(const float &amount) { + Image *other=new Image(w,h); + uint8_t *LUT=new uint8_t[256]; + for (int i=0;i<256;i++) { + LUT[i]=(uint8_t)min(0xFF,max(0,(int)(i+(amount*255.0f)))); + } + for (int i=0;i<w*h*3;i++){ + other->RGBdata[i]=LUT[RGBdata[i]]; + } + delete[] LUT; + return other; + } + Image * operator-(const float &amount) { + Image *other=new Image(w,h); + uint8_t *LUT=new uint8_t[256]; + for (int i=0;i<256;i++) { + LUT[i]=(uint8_t)min(0xFF,max(0,(int)(i-(amount*255.0f)))); + } + for (int i=0;i<w*h*3;i++){ + other->RGBdata[i]=LUT[RGBdata[i]]; + } + delete[] LUT; + return other; + } + Image * operator/(const float &amount) { + Image *other=new Image(w,h); + uint8_t *LUT=new uint8_t[256]; + for (int i=0;i<256;i++) { + LUT[i]=(uint8_t)min(0xFF,max(0,(int)(i/amount))); + } + for (int i=0;i<w*h*3;i++){ + other->RGBdata[i]=LUT[RGBdata[i]]; + } + delete[] LUT; + return other; + } + uint8_t *RGBdata; + uint8_t *Adata; + uint16_t *Zdata; + int h,w; + bool ownsRGBdata,ownsAdata,ownsZdata; //better done through auto_ptr? + }; +}
\ No newline at end of file diff --git a/opencv/hello-opencv.cpp b/opencv/hello-opencv.cpp new file mode 100644 index 0000000..ed8de6b --- /dev/null +++ b/opencv/hello-opencv.cpp @@ -0,0 +1,69 @@ +//////////////////////////////////////////////////////////////////////// +// +// hello-world.cpp +// +// This is a simple, introductory OpenCV program. The program reads an +// image from a file, inverts it, and displays the result. +// +//////////////////////////////////////////////////////////////////////// + +//plan: +//incorporate opencv images into the Rotor::image class +//initially:: update to support existing operations +//should all functionality that accesses image pixels be a part of the image class? + + +#include <stdlib.h> +#include <stdio.h> +#include <math.h> +#include <cv.h> +#include <highgui.h> + +#include "cvimage.h" + + +int main(int argc, char *argv[]) +{ + IplImage* img = 0; + int height,width,step,channels; + uchar *data; + int i,j,k; + + if(argc<2){ + printf("Usage: main <image-file-name>\n\7"); + exit(0); + } + + // load an image + img=cvLoadImage(argv[1]); + if(!img){ + printf("Could not load image file: %s\n",argv[1]); + exit(0); + } + + // get the image data + height = img->height; + width = img->width; + step = img->widthStep; + channels = img->nChannels; + data = (uchar *)img->imageData; + printf("Processing a %dx%d image with %d channels\n",height,width,channels); + + // create a window + cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); + cvMoveWindow("mainWin", 100, 100); + + // invert the image + for(i=0;i<height;i++) for(j=0;j<width;j++) for(k=0;k<channels;k++) + data[i*step+j*channels+k]=255-data[i*step+j*channels+k]; + + // show the image + cvShowImage("mainWin", img ); + + // wait for a key + cvWaitKey(0); + + // release the image + cvReleaseImage(&img ); + return 0; +} diff --git a/opencv/hello-opencv.d b/opencv/hello-opencv.d new file mode 100644 index 0000000..eebafe9 --- /dev/null +++ b/opencv/hello-opencv.d @@ -0,0 +1,196 @@ +./hello-opencv.o: hello-opencv.cpp /usr/include/stdlib.h \ + /usr/include/features.h /usr/include/i386-linux-gnu/bits/predefs.h \ + /usr/include/i386-linux-gnu/sys/cdefs.h \ + /usr/include/i386-linux-gnu/bits/wordsize.h \ + /usr/include/i386-linux-gnu/gnu/stubs.h \ + /usr/include/i386-linux-gnu/gnu/stubs-32.h \ + /usr/lib/gcc/i686-linux-gnu/4.7/include/stddef.h \ + /usr/include/i386-linux-gnu/bits/waitflags.h \ + /usr/include/i386-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/i386-linux-gnu/bits/endian.h \ + /usr/include/i386-linux-gnu/bits/byteswap.h /usr/include/xlocale.h \ + /usr/include/i386-linux-gnu/sys/types.h \ + /usr/include/i386-linux-gnu/bits/types.h \ + /usr/include/i386-linux-gnu/bits/typesizes.h /usr/include/time.h \ + /usr/include/i386-linux-gnu/sys/select.h \ + /usr/include/i386-linux-gnu/bits/select.h \ + /usr/include/i386-linux-gnu/bits/sigset.h \ + /usr/include/i386-linux-gnu/bits/time.h \ + /usr/include/i386-linux-gnu/bits/select2.h \ + /usr/include/i386-linux-gnu/sys/sysmacros.h \ + /usr/include/i386-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/i386-linux-gnu/bits/stdlib.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/i686-linux-gnu/4.7/include/stdarg.h \ + /usr/include/i386-linux-gnu/bits/stdio_lim.h \ + /usr/include/i386-linux-gnu/bits/sys_errlist.h \ + /usr/include/i386-linux-gnu/bits/stdio.h \ + /usr/include/i386-linux-gnu/bits/stdio2.h /usr/include/math.h \ + /usr/include/i386-linux-gnu/bits/huge_val.h \ + /usr/include/i386-linux-gnu/bits/huge_valf.h \ + /usr/include/i386-linux-gnu/bits/huge_vall.h \ + /usr/include/i386-linux-gnu/bits/inf.h \ + /usr/include/i386-linux-gnu/bits/nan.h \ + /usr/include/i386-linux-gnu/bits/mathdef.h \ + /usr/include/i386-linux-gnu/bits/mathcalls.h \ + /usr/include/i386-linux-gnu/bits/mathinline.h /usr/include/opencv/cv.h \ + /usr/include/opencv2/core/core_c.h /usr/include/opencv2/core/types_c.h \ + /usr/include/assert.h /usr/include/string.h \ + /usr/include/i386-linux-gnu/bits/string3.h \ + /usr/lib/gcc/i686-linux-gnu/4.7/include/float.h \ + /usr/lib/gcc/i686-linux-gnu/4.7/include/stdint.h /usr/include/stdint.h \ + /usr/include/i386-linux-gnu/bits/wchar.h \ + /usr/include/opencv2/core/core.hpp /usr/include/opencv2/core/version.hpp \ + /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/limits.h \ + /usr/lib/gcc/i686-linux-gnu/4.7/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/i386-linux-gnu/bits/posix1_lim.h \ + /usr/include/i386-linux-gnu/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/i386-linux-gnu/bits/posix2_lim.h \ + /usr/include/i386-linux-gnu/bits/xopen_lim.h \ + /usr/include/c++/4.7/algorithm /usr/include/c++/4.7/utility \ + /usr/include/c++/4.7/i686-linux-gnu/bits/c++config.h \ + /usr/include/c++/4.7/i686-linux-gnu/bits/os_defines.h \ + /usr/include/c++/4.7/i686-linux-gnu/bits/cpu_defines.h \ + /usr/include/c++/4.7/bits/stl_relops.h \ + /usr/include/c++/4.7/bits/stl_pair.h /usr/include/c++/4.7/bits/move.h \ + /usr/include/c++/4.7/bits/concept_check.h \ + /usr/include/c++/4.7/type_traits /usr/include/c++/4.7/initializer_list \ + /usr/include/c++/4.7/bits/stl_algobase.h \ + /usr/include/c++/4.7/bits/functexcept.h \ + /usr/include/c++/4.7/bits/exception_defines.h \ + /usr/include/c++/4.7/bits/cpp_type_traits.h \ + /usr/include/c++/4.7/ext/type_traits.h \ + /usr/include/c++/4.7/ext/numeric_traits.h \ + /usr/include/c++/4.7/bits/stl_iterator_base_types.h \ + /usr/include/c++/4.7/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/4.7/bits/stl_iterator.h \ + /usr/include/c++/4.7/debug/debug.h /usr/include/c++/4.7/bits/stl_algo.h \ + /usr/include/c++/4.7/cstdlib /usr/include/c++/4.7/bits/algorithmfwd.h \ + /usr/include/c++/4.7/bits/stl_heap.h \ + /usr/include/c++/4.7/bits/stl_tempbuf.h \ + /usr/include/c++/4.7/bits/stl_construct.h /usr/include/c++/4.7/new \ + /usr/include/c++/4.7/exception \ + /usr/include/c++/4.7/bits/atomic_lockfree_defines.h \ + /usr/include/c++/4.7/bits/exception_ptr.h \ + /usr/include/c++/4.7/bits/nested_exception.h \ + /usr/include/c++/4.7/ext/alloc_traits.h \ + /usr/include/c++/4.7/bits/alloc_traits.h \ + /usr/include/c++/4.7/bits/ptr_traits.h /usr/include/c++/4.7/random \ + /usr/include/c++/4.7/cmath /usr/include/c++/4.7/cstdio \ + /usr/include/c++/4.7/string /usr/include/c++/4.7/bits/stringfwd.h \ + /usr/include/c++/4.7/bits/char_traits.h \ + /usr/include/c++/4.7/bits/postypes.h /usr/include/c++/4.7/cwchar \ + /usr/include/i386-linux-gnu/bits/wchar2.h /usr/include/c++/4.7/cstdint \ + /usr/include/c++/4.7/bits/allocator.h \ + /usr/include/c++/4.7/i686-linux-gnu/bits/c++allocator.h \ + /usr/include/c++/4.7/ext/new_allocator.h \ + /usr/include/c++/4.7/bits/localefwd.h \ + /usr/include/c++/4.7/i686-linux-gnu/bits/c++locale.h \ + /usr/include/c++/4.7/clocale /usr/include/locale.h \ + /usr/include/i386-linux-gnu/bits/locale.h /usr/include/c++/4.7/iosfwd \ + /usr/include/c++/4.7/cctype /usr/include/ctype.h \ + /usr/include/c++/4.7/bits/ostream_insert.h \ + /usr/include/c++/4.7/bits/cxxabi_forced.h \ + /usr/include/c++/4.7/bits/stl_function.h \ + /usr/include/c++/4.7/backward/binders.h \ + /usr/include/c++/4.7/bits/range_access.h \ + /usr/include/c++/4.7/bits/basic_string.h \ + /usr/include/c++/4.7/ext/atomicity.h \ + /usr/include/c++/4.7/i686-linux-gnu/bits/gthr.h \ + /usr/include/c++/4.7/i686-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/i386-linux-gnu/bits/sched.h \ + /usr/include/i386-linux-gnu/bits/timex.h \ + /usr/include/i386-linux-gnu/bits/setjmp.h \ + /usr/include/c++/4.7/i686-linux-gnu/bits/atomic_word.h \ + /usr/include/c++/4.7/ext/string_conversions.h \ + /usr/include/c++/4.7/cerrno /usr/include/errno.h \ + /usr/include/i386-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/i386-linux-gnu/asm/errno.h /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/c++/4.7/bits/functional_hash.h \ + /usr/include/c++/4.7/bits/hash_bytes.h \ + /usr/include/c++/4.7/bits/basic_string.tcc /usr/include/c++/4.7/limits \ + /usr/include/c++/4.7/bits/random.h /usr/include/c++/4.7/vector \ + /usr/include/c++/4.7/bits/stl_uninitialized.h \ + /usr/include/c++/4.7/bits/stl_vector.h \ + /usr/include/c++/4.7/bits/stl_bvector.h \ + /usr/include/c++/4.7/bits/vector.tcc \ + /usr/include/c++/4.7/bits/random.tcc /usr/include/c++/4.7/numeric \ + /usr/include/c++/4.7/bits/stl_numeric.h /usr/include/c++/4.7/functional \ + /usr/include/c++/4.7/typeinfo /usr/include/c++/4.7/tuple \ + /usr/include/c++/4.7/bits/uses_allocator.h /usr/include/c++/4.7/cstddef \ + /usr/include/c++/4.7/complex /usr/include/c++/4.7/sstream \ + /usr/include/c++/4.7/istream /usr/include/c++/4.7/ios \ + /usr/include/c++/4.7/bits/ios_base.h \ + /usr/include/c++/4.7/bits/locale_classes.h \ + /usr/include/c++/4.7/bits/locale_classes.tcc \ + /usr/include/c++/4.7/streambuf /usr/include/c++/4.7/bits/streambuf.tcc \ + /usr/include/c++/4.7/bits/basic_ios.h \ + /usr/include/c++/4.7/bits/locale_facets.h /usr/include/c++/4.7/cwctype \ + /usr/include/wctype.h \ + /usr/include/c++/4.7/i686-linux-gnu/bits/ctype_base.h \ + /usr/include/c++/4.7/bits/streambuf_iterator.h \ + /usr/include/c++/4.7/i686-linux-gnu/bits/ctype_inline.h \ + /usr/include/c++/4.7/bits/locale_facets.tcc \ + /usr/include/c++/4.7/bits/basic_ios.tcc /usr/include/c++/4.7/ostream \ + /usr/include/c++/4.7/bits/ostream.tcc \ + /usr/include/c++/4.7/bits/istream.tcc \ + /usr/include/c++/4.7/bits/sstream.tcc /usr/include/c++/4.7/map \ + /usr/include/c++/4.7/bits/stl_tree.h /usr/include/c++/4.7/bits/stl_map.h \ + /usr/include/c++/4.7/bits/stl_multimap.h \ + /usr/include/opencv2/core/operations.hpp \ + /usr/include/opencv2/core/mat.hpp \ + /usr/include/opencv2/imgproc/imgproc_c.h \ + /usr/include/opencv2/imgproc/types_c.h \ + /usr/include/opencv2/imgproc/imgproc.hpp \ + /usr/include/opencv2/video/tracking.hpp \ + /usr/include/opencv2/features2d/features2d.hpp \ + /usr/include/opencv2/flann/miniflann.hpp \ + /usr/include/opencv2/flann/defines.h /usr/include/opencv2/flann/config.h \ + /usr/include/opencv2/flann/flann.hpp \ + /usr/include/opencv2/flann/flann_base.hpp /usr/include/c++/4.7/cassert \ + /usr/include/opencv2/flann/general.h \ + /usr/include/opencv2/flann/defines.h /usr/include/c++/4.7/stdexcept \ + /usr/include/opencv2/flann/matrix.h /usr/include/opencv2/flann/params.h \ + /usr/include/opencv2/flann/any.h /usr/include/c++/4.7/iostream \ + /usr/include/opencv2/flann/saving.h /usr/include/c++/4.7/cstring \ + /usr/include/opencv2/flann/nn_index.h \ + /usr/include/opencv2/flann/result_set.h /usr/include/c++/4.7/set \ + /usr/include/c++/4.7/bits/stl_set.h \ + /usr/include/c++/4.7/bits/stl_multiset.h \ + /usr/include/opencv2/flann/all_indices.h \ + /usr/include/opencv2/flann/kdtree_index.h \ + /usr/include/opencv2/flann/dynamic_bitset.h \ + /usr/include/opencv2/flann/dist.h /usr/include/opencv2/flann/heap.h \ + /usr/include/opencv2/flann/allocator.h \ + /usr/include/opencv2/flann/random.h \ + /usr/include/opencv2/flann/kdtree_single_index.h \ + /usr/include/opencv2/flann/kmeans_index.h \ + /usr/include/opencv2/flann/logger.h \ + /usr/include/opencv2/flann/composite_index.h \ + /usr/include/opencv2/flann/linear_index.h \ + /usr/include/opencv2/flann/hierarchical_clustering_index.h \ + /usr/include/opencv2/flann/lsh_index.h \ + /usr/include/opencv2/flann/lsh_table.h /usr/include/c++/4.7/iomanip \ + /usr/include/c++/4.7/locale \ + /usr/include/c++/4.7/bits/locale_facets_nonio.h \ + /usr/include/c++/4.7/ctime \ + /usr/include/c++/4.7/i686-linux-gnu/bits/time_members.h \ + /usr/include/c++/4.7/i686-linux-gnu/bits/messages_members.h \ + /usr/include/libintl.h /usr/include/c++/4.7/bits/codecvt.h \ + /usr/include/c++/4.7/bits/locale_facets_nonio.tcc \ + /usr/include/opencv2/flann/autotuned_index.h \ + /usr/include/opencv2/flann/ground_truth.h \ + /usr/include/opencv2/flann/index_testing.h \ + /usr/include/opencv2/flann/timer.h /usr/include/opencv2/flann/sampling.h \ + /usr/include/opencv2/calib3d/calib3d.hpp \ + /usr/include/opencv2/objdetect/objdetect.hpp /usr/include/c++/4.7/deque \ + /usr/include/c++/4.7/bits/stl_deque.h \ + /usr/include/c++/4.7/bits/deque.tcc \ + /usr/include/opencv2/legacy/compat.hpp \ + /usr/include/opencv2/core/internal.hpp \ + /usr/include/i386-linux-gnu/sys/mman.h \ + /usr/include/i386-linux-gnu/bits/mman.h /usr/include/opencv/highgui.h \ + /usr/include/opencv2/highgui/highgui_c.h \ + /usr/include/opencv2/highgui/highgui.hpp cvimage.h diff --git a/opencv/hello-opencv.o b/opencv/hello-opencv.o Binary files differnew file mode 100644 index 0000000..94daefd --- /dev/null +++ b/opencv/hello-opencv.o diff --git a/opencv/opencv b/opencv/opencv Binary files differnew file mode 100755 index 0000000..165ab7e --- /dev/null +++ b/opencv/opencv |
