diff --git a/CSV.pro b/CSV.pro new file mode 100644 index 0000000..c139a74 --- /dev/null +++ b/CSV.pro @@ -0,0 +1,35 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2014-07-10T12:35:18 +# +#------------------------------------------------- + +QT += core qml +TEMPLATE = app + +TARGET = CSV +CONFIG += c++11 +CONFIG -= console + +SOURCES += main.cpp \ + svimage.cpp \ + svworker.cpp \ + svprocessor.cpp \ + svkernelv1.cpp \ + svkernelv2.cpp \ + svimageprovider.cpp + +HEADERS += \ + svimage.h \ + svworker.h \ + svprocessor.h \ + svabstractkernel.h \ + svkernelv1.h \ + svkernelv2.h \ + svimageprovider.h + +RESOURCES += \ + resource.qrc + +OTHER_FILES += \ + Main.qml diff --git a/CSV.pro.user b/CSV.pro.user new file mode 100644 index 0000000..9213812 --- /dev/null +++ b/CSV.pro.user @@ -0,0 +1,260 @@ + + + + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + true + 1 + true + 0 + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop + {7246c6ab-7a87-4118-a487-ab344a31d36b} + 0 + 0 + 0 + + /home/andrey/workspace/Qt/build-CSV-Desktop-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + true + + false + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + /home/andrey/workspace/Qt/build-CSV-Desktop-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + true + + false + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + -w + -r + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 2 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy locally + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + + false + false + false + false + true + 0.01 + 10 + true + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + CSV + + Qt4ProjectManager.Qt4RunConfiguration:/home/andrey/workspace/Qt/CSV/CSV.pro + + CSV.pro + false + true + + 3768 + true + false + false + true + false + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.EnvironmentId + {35059b80-6449-4cca-8333-a4525005f807} + + + ProjectExplorer.Project.Updater.FileVersion + 15 + + diff --git a/Main.qml b/Main.qml new file mode 100644 index 0000000..1afdd1f --- /dev/null +++ b/Main.qml @@ -0,0 +1,157 @@ +import QtQuick 2.2 +import QtQuick.Window 2.1 +import QtQuick.Controls 1.1 + +Window { + id: mainWindow + visible: true + width: 800 + height: 600 + + Item { + id: leftColumn + width: 200 + + anchors.bottom: parent.bottom + anchors.top: parent.top + anchors.right: rightColumn.left + anchors.left: parent.left + + Component { + id: slider + + Item { + property alias title: sliderTitle.text + property alias from: sliderSlider.minimumValue + property alias to: sliderSlider.maximumValue + property alias step: sliderSlider.stepSize + property string name: '' + + height: 50 + + Text { + id: sliderTitle + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + anchors.leftMargin: 15 + anchors.rightMargin: 10 + anchors.topMargin: 10 + text: "" + } + + Text { + id: sliderValue + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: sliderSlider.top + text: sliderSlider.value + } + + Slider { + id: sliderSlider + anchors.left: parent.left + anchors.bottom: parent.bottom + anchors.right: parent.right + anchors.leftMargin: 10 + anchors.rightMargin: 10 + stepSize: 1 + } + } + } + + Column { + anchors.bottom: renderButton.top + anchors.top: parent.top + anchors.right: parent.right + anchors.left: parent.left + + Loader { + id: windowSize + sourceComponent: slider + anchors.left: parent.left + anchors.right: parent.right + onLoaded: { + windowSize.item.title = "Window Size" + windowSize.item.from = 0; + windowSize.item.to = 10; + windowSize.item.step = 1; + } + } + + Loader { + id: matchSize + sourceComponent: slider + anchors.left: parent.left + anchors.right: parent.right + onLoaded: { + matchSize.item.title = "Match Size" + matchSize.item.from = 0; + matchSize.item.to = 10; + matchSize.item.step = 1; + } + } + + Loader { + id: errorLevel + sourceComponent: slider + anchors.left: parent.left + anchors.right: parent.right + onLoaded: { + errorLevel.item.title = "Error Level" + errorLevel.item.from = 0; + errorLevel.item.to = 10; + errorLevel.item.step = 1; + } + } + } + + Button { + id: renderButton + //anchors.bottom: parent.bottom + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: parent.bottom + anchors.bottomMargin: 10 + Text { + anchors.centerIn: parent + text: "Render" + } + } + } + + Item { + id: rightColumn + anchors.bottom: parent.bottom + anchors.top: parent.top + anchors.right: parent.right + anchors.left: leftColumn.right + TabView { + anchors.fill: parent + Tab { + id: imageView + title: "Image View" + Item { + Flickable { + anchors.fill: parent + contentWidth: image.width + contentHeight: image.height + interactive: true + anchors.margins: 2 + clip: true + + Item { + Image { + id: image + source: "img/left4.png" + smooth: false + } + } + } + } + } + Tab { + id: pclView + title: "PCL View" + } + } + } +} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3dc8461 --- /dev/null +++ b/Makefile @@ -0,0 +1,874 @@ +############################################################################# +# Makefile for building: CSV +# Generated by qmake (3.0) (Qt 5.2.1) +# Project: CSV.pro +# Template: app +# Command: /usr/lib/i386-linux-gnu/qt5/bin/qmake -o Makefile CSV.pro +############################################################################# + +MAKEFILE = Makefile + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB +CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIE $(DEFINES) +CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIE $(DEFINES) +INCPATH = -I/usr/lib/i386-linux-gnu/qt5/mkspecs/linux-g++ -I. -I/usr/include/qt5 -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -I. +LINK = g++ +LFLAGS = -Wl,-O1 +LIBS = $(SUBLIBS) -lQt5Gui -L/usr/lib/i386-linux-gnu -lQt5Core -lGL -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/lib/i386-linux-gnu/qt5/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = cp -f +COPY_DIR = cp -f -R +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = ./ + +####### Files + +SOURCES = main.cpp \ + svimage.cpp \ + svmultithreadprocessor.cpp \ + svprocessorv1.cpp \ + svprocessorv2.cpp moc_svmultithreadprocessor.cpp \ + moc_svprocessorv1.cpp \ + moc_svprocessorv2.cpp +OBJECTS = main.o \ + svimage.o \ + svmultithreadprocessor.o \ + svprocessorv1.o \ + svprocessorv2.o \ + moc_svmultithreadprocessor.o \ + moc_svprocessorv1.o \ + moc_svprocessorv2.o +DIST = /usr/lib/i386-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/shell-unix.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/unix.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/linux.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/gcc-base.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/g++-base.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/g++-unix.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/qconfig.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_platformsupport_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/qt_functions.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/qt_config.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/spec_post.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/default_pre.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/resolve_config.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/default_post.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/warn_on.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/qt.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/resources.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/moc.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/unix/thread.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/exceptions.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/yacc.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/lex.prf \ + CSV.pro \ + CSV.pro +QMAKE_TARGET = CSV +DESTDIR = #avoid trailing-slash linebreak +TARGET = CSV + + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile $(TARGET) + +$(TARGET): $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +Makefile: CSV.pro /usr/lib/i386-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/i386-linux-gnu/qt5/mkspecs/features/spec_pre.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/shell-unix.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/unix.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/linux.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/gcc-base.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/g++-base.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/common/g++-unix.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/qconfig.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_platformsupport_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/qt_functions.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/qt_config.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/spec_post.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/default_pre.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/resolve_config.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/default_post.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/warn_on.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/qt.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/resources.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/moc.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/unix/opengl.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/unix/thread.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/testcase_targets.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/exceptions.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/yacc.prf \ + /usr/lib/i386-linux-gnu/qt5/mkspecs/features/lex.prf \ + CSV.pro \ + /usr/lib/i386-linux-gnu/libQt5Gui.prl \ + /usr/lib/i386-linux-gnu/libQt5Core.prl + $(QMAKE) -o Makefile CSV.pro +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/spec_pre.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/common/shell-unix.conf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/common/unix.conf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/common/linux.conf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/common/gcc-base.conf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/common/gcc-base-unix.conf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/common/g++-base.conf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/common/g++-unix.conf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/qconfig.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_concurrent_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_core.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_core_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_dbus_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_gui.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_gui_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_network.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_network_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_opengl_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_openglextensions_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_platformsupport_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_printsupport_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_qml.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_qmltest.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_quick.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_sql.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_sql_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_testlib_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_widgets_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_xml.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/modules/qt_lib_xml_private.pri: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/qt_functions.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/qt_config.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/spec_post.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/exclusive_builds.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/default_pre.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/resolve_config.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/default_post.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/unix/gdb_dwarf_index.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/warn_on.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/qt.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/resources.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/moc.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/unix/opengl.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/unix/thread.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/testcase_targets.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/exceptions.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/yacc.prf: +/usr/lib/i386-linux-gnu/qt5/mkspecs/features/lex.prf: +CSV.pro: +/usr/lib/i386-linux-gnu/libQt5Gui.prl: +/usr/lib/i386-linux-gnu/libQt5Core.prl: +qmake: FORCE + @$(QMAKE) -o Makefile CSV.pro + +qmake_all: FORCE + +dist: + @test -d .tmp/CSV1.0.0 || mkdir -p .tmp/CSV1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/CSV1.0.0/ && $(COPY_FILE) --parents svimage.h svmultithreadprocessor.h svprocessorv1.h svprocessorv2.h .tmp/CSV1.0.0/ && $(COPY_FILE) --parents main.cpp svimage.cpp svmultithreadprocessor.cpp svprocessorv1.cpp svprocessorv2.cpp .tmp/CSV1.0.0/ && (cd `dirname .tmp/CSV1.0.0` && $(TAR) CSV1.0.0.tar CSV1.0.0 && $(COMPRESS) CSV1.0.0.tar) && $(MOVE) `dirname .tmp/CSV1.0.0`/CSV1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/CSV1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile + + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +check: first + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_moc_header_make_all: moc_svmultithreadprocessor.cpp moc_svprocessorv1.cpp moc_svprocessorv2.cpp +compiler_moc_header_clean: + -$(DEL_FILE) moc_svmultithreadprocessor.cpp moc_svprocessorv1.cpp moc_svprocessorv2.cpp +moc_svmultithreadprocessor.cpp: /usr/include/qt5/QtCore/QThread \ + /usr/include/qt5/QtCore/qthread.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qglobalstatic.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qmutex.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + svimage.h \ + /usr/include/qt5/QtGui/QImage \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/QRgb \ + /usr/include/qt5/QtGui/QColor \ + /usr/include/qt5/QtGui/qcolor.h \ + svmultithreadprocessor.h + /usr/lib/i386-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) -I/usr/include/c++/4.8 -I/usr/include/i386-linux-gnu/c++/4.8 -I/usr/include/c++/4.8/backward -I/usr/lib/gcc/i686-linux-gnu/4.8/include -I/usr/local/include -I/usr/lib/gcc/i686-linux-gnu/4.8/include-fixed -I/usr/include/i386-linux-gnu -I/usr/include svmultithreadprocessor.h -o moc_svmultithreadprocessor.cpp + +moc_svprocessorv1.cpp: svmultithreadprocessor.h \ + /usr/include/qt5/QtCore/QThread \ + /usr/include/qt5/QtCore/qthread.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qglobalstatic.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qmutex.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + svimage.h \ + /usr/include/qt5/QtGui/QImage \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/QRgb \ + /usr/include/qt5/QtGui/QColor \ + /usr/include/qt5/QtGui/qcolor.h \ + svprocessorv1.h + /usr/lib/i386-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) -I/usr/include/c++/4.8 -I/usr/include/i386-linux-gnu/c++/4.8 -I/usr/include/c++/4.8/backward -I/usr/lib/gcc/i686-linux-gnu/4.8/include -I/usr/local/include -I/usr/lib/gcc/i686-linux-gnu/4.8/include-fixed -I/usr/include/i386-linux-gnu -I/usr/include svprocessorv1.h -o moc_svprocessorv1.cpp + +moc_svprocessorv2.cpp: svprocessorv2.h + /usr/lib/i386-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) -I/usr/include/c++/4.8 -I/usr/include/i386-linux-gnu/c++/4.8 -I/usr/include/c++/4.8/backward -I/usr/lib/gcc/i686-linux-gnu/4.8/include -I/usr/local/include -I/usr/lib/gcc/i686-linux-gnu/4.8/include-fixed -I/usr/include/i386-linux-gnu -I/usr/include svprocessorv2.h -o moc_svprocessorv2.cpp + +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean + +####### Compile + +main.o: main.cpp /usr/include/qt5/QtCore/QCoreApplication \ + /usr/include/qt5/QtCore/qcoreapplication.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qglobalstatic.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qmutex.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qeventloop.h \ + /usr/include/qt5/QtGui/QPixmap \ + /usr/include/qt5/QtGui/qpixmap.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtGui/qcolor.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtCore/qsharedpointer.h \ + /usr/include/qt5/QtCore/qshareddata.h \ + /usr/include/qt5/QtCore/qsharedpointer_impl.h \ + /usr/include/qt5/QtCore/qhash.h \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + svimage.h \ + /usr/include/qt5/QtGui/QImage \ + /usr/include/qt5/QtGui/QRgb \ + /usr/include/qt5/QtGui/QColor \ + svprocessorv1.h \ + svmultithreadprocessor.h \ + /usr/include/qt5/QtCore/QThread \ + /usr/include/qt5/QtCore/qthread.h \ + svprocessorv2.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp + +svimage.o: svimage.cpp svimage.h \ + /usr/include/qt5/QtGui/QImage \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qglobalstatic.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qmutex.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/QRgb \ + /usr/include/qt5/QtGui/QColor \ + /usr/include/qt5/QtGui/qcolor.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o svimage.o svimage.cpp + +svmultithreadprocessor.o: svmultithreadprocessor.cpp svmultithreadprocessor.h \ + /usr/include/qt5/QtCore/QThread \ + /usr/include/qt5/QtCore/qthread.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qglobalstatic.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qmutex.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + svimage.h \ + /usr/include/qt5/QtGui/QImage \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/QRgb \ + /usr/include/qt5/QtGui/QColor \ + /usr/include/qt5/QtGui/qcolor.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o svmultithreadprocessor.o svmultithreadprocessor.cpp + +svprocessorv1.o: svprocessorv1.cpp svprocessorv1.h \ + svmultithreadprocessor.h \ + /usr/include/qt5/QtCore/QThread \ + /usr/include/qt5/QtCore/qthread.h \ + /usr/include/qt5/QtCore/qobject.h \ + /usr/include/qt5/QtCore/qobjectdefs.h \ + /usr/include/qt5/QtCore/qnamespace.h \ + /usr/include/qt5/QtCore/qglobal.h \ + /usr/include/qt5/QtCore/qconfig.h \ + /usr/include/qt5/QtCore/qfeatures.h \ + /usr/include/qt5/QtCore/qsystemdetection.h \ + /usr/include/qt5/QtCore/qprocessordetection.h \ + /usr/include/qt5/QtCore/qcompilerdetection.h \ + /usr/include/qt5/QtCore/qglobalstatic.h \ + /usr/include/qt5/QtCore/qatomic.h \ + /usr/include/qt5/QtCore/qbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_bootstrap.h \ + /usr/include/qt5/QtCore/qgenericatomic.h \ + /usr/include/qt5/QtCore/qatomic_msvc.h \ + /usr/include/qt5/QtCore/qatomic_integrity.h \ + /usr/include/qt5/QtCore/qoldbasicatomic.h \ + /usr/include/qt5/QtCore/qatomic_vxworks.h \ + /usr/include/qt5/QtCore/qatomic_power.h \ + /usr/include/qt5/QtCore/qatomic_alpha.h \ + /usr/include/qt5/QtCore/qatomic_armv7.h \ + /usr/include/qt5/QtCore/qatomic_armv6.h \ + /usr/include/qt5/QtCore/qatomic_armv5.h \ + /usr/include/qt5/QtCore/qatomic_bfin.h \ + /usr/include/qt5/QtCore/qatomic_ia64.h \ + /usr/include/qt5/QtCore/qatomic_mips.h \ + /usr/include/qt5/QtCore/qatomic_s390.h \ + /usr/include/qt5/QtCore/qatomic_sh4a.h \ + /usr/include/qt5/QtCore/qatomic_sparc.h \ + /usr/include/qt5/QtCore/qatomic_gcc.h \ + /usr/include/qt5/QtCore/qatomic_x86.h \ + /usr/include/qt5/QtCore/qatomic_cxx11.h \ + /usr/include/qt5/QtCore/qatomic_unix.h \ + /usr/include/qt5/QtCore/qmutex.h \ + /usr/include/qt5/QtCore/qlogging.h \ + /usr/include/qt5/QtCore/qflags.h \ + /usr/include/qt5/QtCore/qtypeinfo.h \ + /usr/include/qt5/QtCore/qtypetraits.h \ + /usr/include/qt5/QtCore/qsysinfo.h \ + /usr/include/qt5/QtCore/qobjectdefs_impl.h \ + /usr/include/qt5/QtCore/qstring.h \ + /usr/include/qt5/QtCore/qchar.h \ + /usr/include/qt5/QtCore/qbytearray.h \ + /usr/include/qt5/QtCore/qrefcount.h \ + /usr/include/qt5/QtCore/qarraydata.h \ + /usr/include/qt5/QtCore/qstringbuilder.h \ + /usr/include/qt5/QtCore/qlist.h \ + /usr/include/qt5/QtCore/qalgorithms.h \ + /usr/include/qt5/QtCore/qiterator.h \ + /usr/include/qt5/QtCore/qcoreevent.h \ + /usr/include/qt5/QtCore/qscopedpointer.h \ + /usr/include/qt5/QtCore/qmetatype.h \ + /usr/include/qt5/QtCore/qvarlengtharray.h \ + /usr/include/qt5/QtCore/qcontainerfwd.h \ + /usr/include/qt5/QtCore/qisenum.h \ + /usr/include/qt5/QtCore/qobject_impl.h \ + svimage.h \ + /usr/include/qt5/QtGui/QImage \ + /usr/include/qt5/QtGui/qimage.h \ + /usr/include/qt5/QtGui/qtransform.h \ + /usr/include/qt5/QtGui/qmatrix.h \ + /usr/include/qt5/QtGui/qpolygon.h \ + /usr/include/qt5/QtCore/qvector.h \ + /usr/include/qt5/QtCore/qpoint.h \ + /usr/include/qt5/QtCore/qrect.h \ + /usr/include/qt5/QtCore/qsize.h \ + /usr/include/qt5/QtGui/qregion.h \ + /usr/include/qt5/QtGui/qwindowdefs.h \ + /usr/include/qt5/QtGui/qwindowdefs_win.h \ + /usr/include/qt5/QtCore/qdatastream.h \ + /usr/include/qt5/QtCore/qiodevice.h \ + /usr/include/qt5/QtCore/qpair.h \ + /usr/include/qt5/QtCore/qline.h \ + /usr/include/qt5/QtGui/qpainterpath.h \ + /usr/include/qt5/QtGui/qpaintdevice.h \ + /usr/include/qt5/QtGui/qrgb.h \ + /usr/include/qt5/QtCore/qstringlist.h \ + /usr/include/qt5/QtCore/qregexp.h \ + /usr/include/qt5/QtCore/qstringmatcher.h \ + /usr/include/qt5/QtGui/QRgb \ + /usr/include/qt5/QtGui/QColor \ + /usr/include/qt5/QtGui/qcolor.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o svprocessorv1.o svprocessorv1.cpp + +svprocessorv2.o: svprocessorv2.cpp svprocessorv2.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o svprocessorv2.o svprocessorv2.cpp + +moc_svmultithreadprocessor.o: moc_svmultithreadprocessor.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_svmultithreadprocessor.o moc_svmultithreadprocessor.cpp + +moc_svprocessorv1.o: moc_svprocessorv1.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_svprocessorv1.o moc_svprocessorv1.cpp + +moc_svprocessorv2.o: moc_svprocessorv2.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_svprocessorv2.o moc_svprocessorv2.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/Release/makefile b/Release/makefile deleted file mode 100644 index 0a3be5d..0000000 --- a/Release/makefile +++ /dev/null @@ -1,59 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - --include ../makefile.init - -RM := rm -rf - -# All of the sources participating in the build are defined here --include sources.mk --include src/subdir.mk --include subdir.mk --include objects.mk - -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(strip $(C++_DEPS)),) --include $(C++_DEPS) -endif -ifneq ($(strip $(C_DEPS)),) --include $(C_DEPS) -endif -ifneq ($(strip $(CC_DEPS)),) --include $(CC_DEPS) -endif -ifneq ($(strip $(CPP_DEPS)),) --include $(CPP_DEPS) -endif -ifneq ($(strip $(CXX_DEPS)),) --include $(CXX_DEPS) -endif -ifneq ($(strip $(C_UPPER_DEPS)),) --include $(C_UPPER_DEPS) -endif -endif - --include ../makefile.defs - -# Add inputs and outputs from these tool invocations to the build variables - -# All Target -all: CSV - -# Tool invocations -CSV: $(OBJS) $(USER_OBJS) - @echo 'Building target: $@' - @echo 'Invoking: GCC C++ Linker' - g++ -o "CSV" $(OBJS) $(USER_OBJS) $(LIBS) - @echo 'Finished building target: $@' - @echo ' ' - -# Other Targets -clean: - -$(RM) $(OBJS)$(C++_DEPS)$(C_DEPS)$(CC_DEPS)$(CPP_DEPS)$(EXECUTABLES)$(CXX_DEPS)$(C_UPPER_DEPS) CSV - -@echo ' ' - -.PHONY: all clean dependents -.SECONDARY: - --include ../makefile.targets diff --git a/Release/objects.mk b/Release/objects.mk deleted file mode 100644 index ce28c03..0000000 --- a/Release/objects.mk +++ /dev/null @@ -1,8 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -USER_OBJS := - -LIBS := -lopencv_core -lpthread -lboost_system -lpcl -lpcl_visualization -lopencv_imgproc -lopencv_highgui -lopencv_legacy - diff --git a/Release/sources.mk b/Release/sources.mk deleted file mode 100644 index e7f4bf1..0000000 --- a/Release/sources.mk +++ /dev/null @@ -1,27 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -O_SRCS := -CPP_SRCS := -C_UPPER_SRCS := -C_SRCS := -S_UPPER_SRCS := -OBJ_SRCS := -ASM_SRCS := -CXX_SRCS := -C++_SRCS := -CC_SRCS := -OBJS := -C++_DEPS := -C_DEPS := -CC_DEPS := -CPP_DEPS := -EXECUTABLES := -CXX_DEPS := -C_UPPER_DEPS := - -# Every subdirectory with source files must be described here -SUBDIRS := \ -src \ - diff --git a/Release/src/subdir.mk b/Release/src/subdir.mk deleted file mode 100644 index afc74e1..0000000 --- a/Release/src/subdir.mk +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -# Add inputs and outputs from these tool invocations to the build variables -CPP_SRCS += \ -../src/SvImage.cpp \ -../src/SvMain.cpp \ -../src/SvMultithreadProcessor.cpp \ -../src/SvProcessorV1.cpp \ -../src/SvProcessorV2.cpp - -OBJS += \ -./src/SvImage.o \ -./src/SvMain.o \ -./src/SvMultithreadProcessor.o \ -./src/SvProcessorV1.o \ -./src/SvProcessorV2.o - -CPP_DEPS += \ -./src/SvImage.d \ -./src/SvMain.d \ -./src/SvMultithreadProcessor.d \ -./src/SvProcessorV1.d \ -./src/SvProcessorV2.d - - -# Each subdirectory must supply rules for building sources it contributes -src/%.o: ../src/%.cpp - @echo 'Building file: $<' - @echo 'Invoking: GCC C++ Compiler' - g++ -std=c++11 -I/usr/include/pcl-1.7 -I/usr/include/vtk-5.8/ -I/usr/include/eigen3 -O3 -Wall -c -fmessage-length=0 -pthread -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "$@" "$<" - @echo 'Finished building: $<' - @echo ' ' - - diff --git a/cl/kernel.cl b/cl/kernel.cl new file mode 100644 index 0000000..e8e7bd1 --- /dev/null +++ b/cl/kernel.cl @@ -0,0 +1,14 @@ +__kernel void ProcessLine(__global const float* a, __global const float* b, __global float* c, int iNumElements) +{ + // get index into global data array + int iGID = get_global_id(0); + + // bound check (equivalent to the limit on a 'for' loop for standard/serial C code + if (iGID >= iNumElements) + { + return; + } + + // add the vector elements + c[iGID] = a[iGID] + b[iGID]; +} \ No newline at end of file diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..3a6d384 --- /dev/null +++ b/main.cpp @@ -0,0 +1,46 @@ +#include +#include +#include +#include + + +#include + +#include "svimage.h" +#include "svprocessor.h" +#include "svimageprovider.h" + +int main(int argc, char *argv[]) +{ + QGuiApplication a(argc, argv); + QQmlApplicationEngine engine; + SvImageProvider* imageProvider = new SvImageProvider(); + + QImage imgLeft = QPixmap("img/left8.png").toImage(); + QImage imgRight = QPixmap("img/right8.png").toImage(); + QImage imgStereo(imgLeft.width(), imgRight.height(), QImage::Format_RGB32); + + SvImage left(imgLeft); + SvImage right(imgRight); + SvImage stereo(imgStereo); + + + + imageProvider->addImage("left", &left); + imageProvider->addImage("right", &right); + imageProvider->addImage("result", &stereo); + + engine.addImageProvider("image", imageProvider); + engine.load(QUrl(QStringLiteral("qrc:///Main.qml"))); + + /*SvProcessor proc(&left, &right, &stereo, 4); + proc.start();*/ + + + // + + //QObject *object = component.create(); + + + return a.exec(); +} diff --git a/resource.qrc b/resource.qrc new file mode 100644 index 0000000..4e2e941 --- /dev/null +++ b/resource.qrc @@ -0,0 +1,6 @@ + + + Main.qml + img/left4.png + + diff --git a/src/SvImage.cpp b/src/SvImage.cpp deleted file mode 100644 index 5f01ef6..0000000 --- a/src/SvImage.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* - * SvImage.cpp - * - * Created on: 27 июня 2014 г. - * Author: andrey - */ - -#include "SvImage.h" - -int SvImage::getPixel(int x, int y, int channel = -1) { - if (y >= this->image->rows || y < 0 || x >= this->image->cols || x < 0) { - return 0; - } - - uchar* pixel = this->image->ptr(y, x); - uchar value; - - if (channel == -1 || channel > 2) { - value = 0.299 * pixel[0] + 0.587 * pixel[1] + 0.114 * pixel[2]; - } else { - value = pixel[channel]; - } - - return value; -} - -int SvImage::getPixelHue(int x, int y) { - uchar* pixel = this->image->ptr(y, x); - if (x >= 0 && x < this->image->cols && y >= 0 && y < this->image->rows) { - return abs(pixel[1] - pixel[0]) + abs(pixel[2] - pixel[1]); - } - - return 0; -} - -int SvImage::getPixelValue(int x, int y) { - uchar* pixel = this->image->ptr(y, x); - if (x >= 0 && x < this->image->cols && y >= 0 && y < this->image->rows) { - return (pixel[0] + pixel[1] + pixel[2])/3; - } - - return 0; -} - -void SvImage::putPixel(int x, int y, int value) -{ - uchar* data; - - if (x >= 0 && x < this->image->cols && y >= 0 && y < this->image->rows) { - data = this->image->ptr(y, x); - data[0] = value; - } -} - -int SvImage::getHeight() { - return this->image->rows; -} - -int SvImage::getWidth() { - return this->image->cols; -} - -Mat& SvImage::getCvMatrix() { - return *this->image; -} - -SvImage::SvImage(Mat& image) { - this->image = ℑ -} - -SvImage::~SvImage() { - -} - diff --git a/src/SvImage.h b/src/SvImage.h deleted file mode 100644 index 1166f0b..0000000 --- a/src/SvImage.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * SvImage.h - * - * Created on: 27 июня 2014 г. - * Author: andrey - */ - -#ifndef SVIMAGE_H_ -#define SVIMAGE_H_ - -#include - -using namespace cv; - -class SvImage { - -protected: - Mat* image; - -public: - int getPixel(int x, int y, int channel); - int getPixelHue(int x, int y); - int getPixelValue(int x, int y); - void putPixel(int x, int y, int val); - - int getHeight(); - int getWidth(); - Mat& getCvMatrix(); - - SvImage(Mat& image); - virtual ~SvImage(); -}; - -#endif /* SVIMAGE_H_ */ diff --git a/src/SvMain.cpp b/src/SvMain.cpp deleted file mode 100644 index 0f0cf9c..0000000 --- a/src/SvMain.cpp +++ /dev/null @@ -1,106 +0,0 @@ -//============================================================================ -// Name : CSV.cpp -// Author : Andrey -// Version : -// Copyright : Your copyright notice -// Description : Computer Stereo Vision in C++, Ansi-style -//============================================================================ - -#include -#include "SvImage.h" -#include "SvProcessorV1.h" -#include "SvProcessorV2.h" - -#include -#include -#include - -//#include -//#include -//#include -//#include -//#include -//#include - -using namespace cv; - -void CallBackFunc(int event, int x, int y, int flags, void* userdata) -{ - if (event == EVENT_LBUTTONDOWN ) { - - } else if ( event == EVENT_RBUTTONDOWN ) { - - } else if ( event == EVENT_MBUTTONDOWN ) { - - } else if ( event == EVENT_MOUSEMOVE ) { - - } -} - -int main(int argc, char** argv) { - Mat matLeft = imread("img/left8.png", 1); - Mat matRight = imread("img/right8.png", 1); - Mat matStereo(Mat::zeros(matLeft.rows, matLeft.cols, CV_8U)); - - SvImage left(matLeft); - SvImage right(matRight); - SvImage stereo(matStereo); - - int line = 0; - - SvProcessorV2 proc[4]; - - for (int i = 0; i < 4; i++) { - proc[i].setLeftImage(left); - proc[i].setRightImage(right); - } - - while (line < stereo.getHeight()) { - for (int i = 0; i < 4; i++) { - if (line < stereo.getHeight() && !proc[i].isActive()) { - proc[i].run(stereo, line++); - } - } - } - - //pcl::PointXYZRGB point; - //pcl::PointCloud::Ptr cloud(new pcl::PointCloud); - //pcl::PointCloud::Ptr cloud_filtered (new pcl::PointCloud); - - /*cloud->resize(stereo.getHeight() * stereo.getWidth()); - - for (int y = 0; y < stereo.getHeight(); y++) { - for (int x = 0; x < stereo.getWidth(); x++) { - int i = stereo.getWidth() * y + x; - int value = stereo.getPixel(x, y, 0); - if (value) { - cloud->points[i].x = (x - (stereo.getWidth() / 2.0))/100.0; - cloud->points[i].y = (-y + (stereo.getHeight() / 2.0))/100.0; - cloud->points[i].z = (-stereo.getPixel(x, y, 0) * 6.0)/100.0; - - cloud->points[i].r = left.getPixel(x, y, 2); - cloud->points[i].g = left.getPixel(x, y, 1); - cloud->points[i].b = left.getPixel(x, y, 0); - } - } - }*/ -/* - pcl::StatisticalOutlierRemoval sor; - sor.setInputCloud(cloud); - sor.setMeanK(50); - sor.setStddevMulThresh(1.0); - sor.filter(*cloud_filtered); -*/ - - /*pcl::visualization::CloudViewer viewer("Simple Cloud Viewer"); - viewer.showCloud(cloud); - while (!viewer.wasStopped ()) - { - }*/ - - imshow("Display Image", stereo.getCvMatrix()); - //setMouseCallback("Display Image", CallBackFunc, NULL); - waitKey(); - - return 0; -} diff --git a/src/SvMultithreadProcessor.cpp b/src/SvMultithreadProcessor.cpp deleted file mode 100644 index 273bff9..0000000 --- a/src/SvMultithreadProcessor.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* - * SvMultithreadProcessor.cpp - * - * Created on: 09 июля 2014 г. - * Author: andrey - */ - -#include "SvMultithreadProcessor.h" - -SvMultithreadProcessor::SvMultithreadProcessor(SvImage& left, SvImage& right) { - m_left = &left; - m_right = &right; - m_stereo = NULL; - m_line = 0; -} - -SvMultithreadProcessor::SvMultithreadProcessor() { - -} - -int SvMultithreadProcessor::run(SvImage& stereo, int line) { - m_stereo = &stereo; - m_line = line; - m_thread = std::thread(&SvMultithreadProcessor::process, this); - - return 0; -} - -void SvMultithreadProcessor::process() { - exec(); - m_thread.detach(); -} - -void SvMultithreadProcessor::exec() { - -} - -SvMultithreadProcessor::~SvMultithreadProcessor() { - if (m_thread.joinable()) { - m_thread.detach(); - } -} - diff --git a/src/SvMultithreadProcessor.h b/src/SvMultithreadProcessor.h deleted file mode 100644 index 6295f98..0000000 --- a/src/SvMultithreadProcessor.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * SvMultithreadProcessor.h - * - * Created on: 09 июля 2014 г. - * Author: andrey - */ - -#ifndef SVMULTITHREADPROCESSOR_H_ -#define SVMULTITHREADPROCESSOR_H_ - -#include -#include "SvImage.h" - -class SvMultithreadProcessor { - -protected: - SvImage* m_left; - SvImage* m_right; - SvImage* m_stereo; - - std::thread m_thread; - int m_line; - -public: - - void setLeftImage(SvImage& image) { m_left = ℑ} - void setRightImage(SvImage& image) { m_right = ℑ} - bool isActive() { return m_thread.joinable(); } - void join() { m_thread.join(); } - void detach() { m_thread.detach(); } - - int run(SvImage& stereo, int line); - void process(); - virtual void exec(); - - SvMultithreadProcessor(SvImage& left, SvImage& right); - SvMultithreadProcessor(); - - virtual ~SvMultithreadProcessor(); -}; - -#endif /* SVMULTITHREADPROCESSOR_H_ */ diff --git a/src/SvProcessorV1.cpp b/src/SvProcessorV1.cpp deleted file mode 100644 index 73a1928..0000000 --- a/src/SvProcessorV1.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* - * SvProcessor.cpp - * - * Created on: 27 июня 2014 г. - * Author: andrey - */ - -#include "SvProcessorV1.h" - -int SvProcessorV1::getPixelColor(int cursor) { - if (cursor == 0) { - return 0; - } - - return ((10 * m_left->getWidth()) / (2.0 * 0.9 * cursor )); -} -/* -int SvProcessorV1::match(int x, int y, int j) { - int error = 0; - - for (int i = 0; i <= 1; i++) { - for (int g = 0; g <= 2; g++) { - error += diff(x + i, y + g, x + i + j, y + g); - } - } - - return error; -}*/ - -int SvProcessorV1::diff(int lx, int ly, int rx, int ry) { - int Rvalue, Gvalue, Bvalue, color; - - Rvalue = abs(m_left->getPixel(lx, ly, 0) - m_right->getPixel(rx, ry, 0)); - Gvalue = abs(m_left->getPixel(lx, ly, 1) - m_right->getPixel(rx, ry, 1)); - Bvalue = abs(m_left->getPixel(lx, ly, 2) - m_right->getPixel(rx, ry, 2)); - color = abs(Gvalue - Rvalue) + abs(Bvalue - Gvalue); - - return (Gvalue + Rvalue + Bvalue) + - color * 4; -} - -int SvProcessorV1::match(int x, int y, int j) { - int error = 0; - int ms = 4; - int c = diff(x, y, x + j, y), - l = 0, r = 0, t = 0, b = 0; - - error = c; - - for (int i = 1; i <= ms; i++) { - l += diff(x - i, y, x + j - i, y); - r += diff(x + i, y, x + j + i, y); - t += diff(x, y - i, x + j, y - i); - b += diff(x, y + i, x + j, y + i); - } - - error += l > r ? r : l; - error += t > b ? b : t; - //error += l + r + b + t; - - return error; -} - -void SvProcessorV1::exec() { - -} - diff --git a/src/SvProcessorV1.h b/src/SvProcessorV1.h deleted file mode 100644 index b045389..0000000 --- a/src/SvProcessorV1.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * SvProcessor.h - * - * Created on: 27 июня 2014 г. - * Author: andrey - */ - -#ifndef SVPROCESSORV1_H_ -#define SVPROCESSORV1_H_ - -#include -#include -#include "SvImage.h" -#include "SvMultithreadProcessor.h" - -using namespace std; - -class SvProcessorV1 : public SvMultithreadProcessor { - -protected: - const int windowSize = 90; - -public: - int diff(int lx, int ly, int rx, int ry); - int match(int x, int y, int i); - void exec(); - - int getPixelColor(int cursor); -}; - -#endif /* SVPROCESSORV1_H_ */ diff --git a/src/SvProcessorV2.cpp b/src/SvProcessorV2.cpp deleted file mode 100644 index cc9c0f0..0000000 --- a/src/SvProcessorV2.cpp +++ /dev/null @@ -1,12 +0,0 @@ -/* - * SvProcessor.cpp - * - * Created on: 27 июня 2014 г. - * Author: andrey - */ - -#include "SvProcessorV2.h" - -void SvProcessorV2::exec() { - -} diff --git a/src/SvProcessorV2.h b/src/SvProcessorV2.h deleted file mode 100644 index b92fd5c..0000000 --- a/src/SvProcessorV2.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * SvProcessor.h - * - * Created on: 27 июня 2014 г. - * Author: andrey - */ - -#ifndef SVPROCESSOR_H_ -#define SVPROCESSOR_H_ - -#include -#include "SvImage.h" -#include "SvMultithreadProcessor.h" - -class SvProcessorV2 : public SvMultithreadProcessor { - -protected: - -public: - void exec(); -}; - -#endif /* SVPROCESSOR_H_ */ diff --git a/svabstractkernel.h b/svabstractkernel.h new file mode 100644 index 0000000..fa71161 --- /dev/null +++ b/svabstractkernel.h @@ -0,0 +1,22 @@ +#ifndef SVABSTRACTKERNEL_H +#define SVABSTRACTKERNEL_H + +#include "svimage.h" + +class SvAbstractKernel +{ + +protected: + SvImage* m_left; + SvImage* m_right; + SvImage* m_result; + +public: + void setLeftImage(SvImage* image) {m_left = image;} + void setRightImage(SvImage* image) {m_right = image;} + void setResultImage(SvImage* image) {m_result = image;} + virtual void exec(int line) = 0; + virtual ~SvAbstractKernel() {} +}; + +#endif // SVABSTRACTKERNEL_H diff --git a/svimage.cpp b/svimage.cpp new file mode 100644 index 0000000..fbac61d --- /dev/null +++ b/svimage.cpp @@ -0,0 +1,89 @@ +#include "svimage.h" + +int SvImage::getPixel(int x, int y, int channel = -1) { + if (y >= m_image->height() || + y < 0 || + x >= m_image->width() + || x < 0) { + + return 0; + } + + QRgb rgb = m_image->pixel(x, y); + + switch (channel) { + case 0: + return qRed(rgb); + case 1: + return qGreen(rgb); + case 2: + return qBlue(rgb); + default: + return qGray(rgb); + } +} + +int SvImage::getPixelHue(int x, int y) { + if (y >= m_image->height() || + y < 0 || + x >= m_image->width() + || x < 0) { + + return 0; + } + + QRgb rgb = m_image->pixel(x, y); + QColor color(rgb); + + return color.hue(); +} + +int SvImage::getPixelValue(int x, int y) { + if (y >= m_image->height() || + y < 0 || + x >= m_image->width() + || x < 0) { + + return 0; + } + + QRgb rgb = m_image->pixel(x, y); + QColor color(rgb); + + return color.value(); +} + +void SvImage::putPixel(int x, int y, int value) +{ + if (y >= m_image->height() || + y < 0 || + x >= m_image->width() + || x < 0) { + + return; + } + + QColor color(value, value, value); + + m_image->setPixel(x, y, color.rgb()); +} + +unsigned int SvImage::getHeight() { + return m_image->height(); +} + +unsigned int SvImage::getWidth() { + return m_image->width(); +} + +QImage& SvImage::getImage() { + return *m_image; +} + +SvImage::SvImage(QImage& image) { + m_image = ℑ +} + +SvImage::~SvImage() { + +} diff --git a/svimage.h b/svimage.h new file mode 100644 index 0000000..20847f1 --- /dev/null +++ b/svimage.h @@ -0,0 +1,28 @@ +#ifndef SVIMAGE_H +#define SVIMAGE_H + +#include +#include +#include + +class SvImage +{ +protected: + QImage* m_image; + +public: + int getPixel(int x, int y, int channel); + int getPixelHue(int x, int y); + int getPixelValue(int x, int y); + void putPixel(int x, int y, int val); + + unsigned int getHeight(); + unsigned int getWidth(); + + QImage& getImage(); + + SvImage(QImage& image); + virtual ~SvImage(); +}; + +#endif // SVIMAGE_H diff --git a/svimageprovider.cpp b/svimageprovider.cpp new file mode 100644 index 0000000..9df38fb --- /dev/null +++ b/svimageprovider.cpp @@ -0,0 +1,27 @@ +#include "svimageprovider.h" + +SvImageProvider::SvImageProvider(): + QQuickImageProvider(QQuickImageProvider::Image) +{ + +} + +QImage SvImageProvider::requestImage(const QString &id, QSize *size, const QSize &requestedSize) +{ + Q_UNUSED(requestedSize) + + SvImage* image = m_images[id]; + + if (image) { + *size = QSize(image->getWidth(), image->getHeight()); + + return image->getImage(); + } + + return QImage(0, 0, QImage::Format_RGB32); +} + +void SvImageProvider::addImage(const QString &name, SvImage *image) +{ + m_images[name] = image; +} diff --git a/svimageprovider.h b/svimageprovider.h new file mode 100644 index 0000000..9f0f0b7 --- /dev/null +++ b/svimageprovider.h @@ -0,0 +1,20 @@ +#ifndef SVIMAGEPROVIDER_H +#define SVIMAGEPROVIDER_H + +#include +#include + +#include "svimage.h" + +class SvImageProvider : public QQuickImageProvider +{ +protected: + QHash m_images; + +public: + SvImageProvider(); + virtual QImage requestImage(const QString &id, QSize *size, const QSize& requestedSize); + void addImage(const QString &name, SvImage* image); +}; + +#endif // SVIMAGEPROVIDER_H diff --git a/svkernelv1.cpp b/svkernelv1.cpp new file mode 100644 index 0000000..e078d85 --- /dev/null +++ b/svkernelv1.cpp @@ -0,0 +1,97 @@ +#include "svkernelv1.h" + +SvKernelV1::SvKernelV1() +{ + +} + +SvKernelV1::~SvKernelV1() +{ + +} + + +int SvKernelV1::getPixelColor(int cursor) +{ + if (cursor == 0) { + return 0; + } + + return ((10 * m_left->getWidth()) / (2.0 * 0.9 * cursor )); +} + +int SvKernelV1::diff(int lx, int ly, int rx, int ry) +{ + int Rvalue, Gvalue, Bvalue, color; + + Rvalue = abs(m_left->getPixel(lx, ly, 0) - m_right->getPixel(rx, ry, 0)); + Gvalue = abs(m_left->getPixel(lx, ly, 1) - m_right->getPixel(rx, ry, 1)); + Bvalue = abs(m_left->getPixel(lx, ly, 2) - m_right->getPixel(rx, ry, 2)); + color = abs(Gvalue - Rvalue) + abs(Bvalue - Gvalue); + + return (Gvalue + Rvalue + Bvalue) + + color * 4; +} + +int SvKernelV1::match(int x, int y, int j) +{ + int error = 0; + int ms = 4; + int c = diff(x, y, x + j, y), + l = 0, r = 0, t = 0, b = 0; + + error = c; + + for (int i = 1; i <= ms; i++) { + l += diff(x - i, y, x + j - i, y); + r += diff(x + i, y, x + j + i, y); + t += diff(x, y - i, x + j, y - i); + b += diff(x, y + i, x + j, y + i); + } + + error += l > r ? r : l; + error += t > b ? b : t; + //error += l + r + b + t; + + return error; +} + +void SvKernelV1::exec(int line) +{ + unsigned int x; + int cursor, closest, tmp; + int minErrorValue, tmpSmoothed, matched; + //int dist; + + cursor = 0; + + for (x = 0; x < m_result->getWidth(); x++) { + closest = -1; minErrorValue = -1;matched=0; + minErrorValue=-1; + + for (int i = 1; i < m_windowSize; i++) { + //dist = (abs(cursor - i)); + + tmp = match(x, line, i); + + tmpSmoothed = tmp;// + (dist) * (1.0/diff); + + if (tmpSmoothed < minErrorValue || minErrorValue == -1) { + minErrorValue = tmpSmoothed; + closest = i; + matched = 1; + } else if (tmpSmoothed == minErrorValue) { + if (abs(cursor - i) < abs(cursor - closest)) { + closest = i; + matched++; + } + } + } + + if (matched == 1) { + cursor = closest; + } + + m_result->putPixel(x, line, getPixelColor(cursor)); + } +} diff --git a/svkernelv1.h b/svkernelv1.h new file mode 100644 index 0000000..4a11ca8 --- /dev/null +++ b/svkernelv1.h @@ -0,0 +1,23 @@ +#ifndef SVKERNELV1_H +#define SVKERNELV1_H + +#include "svabstractkernel.h" + +class SvKernelV1: public SvAbstractKernel +{ + +protected: + int m_windowSize = 90; + +public: + void exec(int line) override; + SvKernelV1(); + virtual ~SvKernelV1(); + +protected: + int getPixelColor(int cursor); + int diff(int lx, int ly, int rx, int ry); + int match(int x, int y, int i); +}; + +#endif // SVKERNELV1_H diff --git a/svkernelv2.cpp b/svkernelv2.cpp new file mode 100644 index 0000000..1995176 --- /dev/null +++ b/svkernelv2.cpp @@ -0,0 +1,16 @@ +#include "svkernelv2.h" + +SvKernelV2::SvKernelV2() +{ + +} + +SvKernelV2::~SvKernelV2() +{ + +} + +void SvKernelV2::exec(int line) +{ + +} diff --git a/svkernelv2.h b/svkernelv2.h new file mode 100644 index 0000000..6411f26 --- /dev/null +++ b/svkernelv2.h @@ -0,0 +1,14 @@ +#ifndef SVKERNELV2_H +#define SVKERNELV2_H + +#include "svabstractkernel.h" + +class SvKernelV2: public SvAbstractKernel +{ +public: + SvKernelV2(); + virtual ~SvKernelV2(); + void exec(int line) override; +}; + +#endif // SVKERNELV2_H diff --git a/svprocessor.cpp b/svprocessor.cpp new file mode 100644 index 0000000..8a774e6 --- /dev/null +++ b/svprocessor.cpp @@ -0,0 +1,74 @@ +#include "svprocessor.h" + +SvProcessor::SvProcessor(QObject *parent): + QObject(parent) +{ + +} + +SvProcessor::SvProcessor(SvImage* left, SvImage* right, SvImage* result, int numberOfWorkers, int version) +{ + unsigned int i; + + if (version == 1) { + m_kernel = new SvKernelV1(); + } else if (version == 2) { + m_kernel = new SvKernelV2(); + } + + m_kernel->setLeftImage(left); + m_kernel->setRightImage(right); + m_kernel->setResultImage(result); + + m_numberOfWorkers = numberOfWorkers; + m_workers = new SvWorker[m_numberOfWorkers]; + m_threads = new QThread[m_numberOfWorkers]; + + for (i = 0; i < m_numberOfWorkers; i++) { + m_workers[i].setId(i); + m_workers[i].setKernel(m_kernel); + m_workers[i].moveToThread(&m_threads[i]); + + connect(this, &SvProcessor::stopped, &m_workers[i], &SvWorker::stop); + connect(this, &SvProcessor::started, &m_workers[i], &SvWorker::start); + connect(&m_workers[i], &SvWorker::finished, this, &SvProcessor::workerFinished); + } + + for (i = 0; i < result->getHeight(); i++) { + m_workers[i].addTask(i % m_numberOfWorkers); + } +} +SvProcessor::~SvProcessor() +{ + delete m_kernel; + delete[] m_workers; +} + +void SvProcessor::workerFinished(int workerId) +{ + Q_UNUSED(workerId) + + m_workersFinished++; + if (m_workersFinished == m_numberOfWorkers) { + emit finished(m_startTime - 0); + } +} + +void SvProcessor::start() +{ + unsigned int i; + + m_startTime = 0; + m_workersFinished = 0; + + for (i = 0; i < m_numberOfWorkers; i++) { + m_threads[i].start(); + } + + emit started(); +} + +void SvProcessor::stop() +{ + emit stopped(m_startTime - 0); +} diff --git a/svprocessor.h b/svprocessor.h new file mode 100644 index 0000000..dc45214 --- /dev/null +++ b/svprocessor.h @@ -0,0 +1,44 @@ +#ifndef SVPROCESSOR_H +#define SVPROCESSOR_H + +#include +#include + +#include "svimage.h" +#include "svworker.h" +#include "svabstractkernel.h" +#include "svkernelv1.h" +#include "svkernelv2.h" + +class SvProcessor: public QObject +{ + Q_OBJECT + +protected: + QThread* m_threads; + SvWorker* m_workers; + SvAbstractKernel* m_kernel; + unsigned int m_numberOfWorkers; + unsigned int m_workersFinished; + int m_startTime; + +public: + explicit SvProcessor(QObject *parent = 0); + SvProcessor(SvImage *left, SvImage *right, SvImage *result, int numberOfWorkers = 1, int version = 1); + ~SvProcessor(); + void execute(); + +protected slots: + void workerFinished(int workerId); + +public slots: + void start(); + void stop(); + +signals: + void started(); + void finished(int elapsedTime); + void stopped(int elapsedTime); +}; + +#endif // SVPROCESSOR_H diff --git a/svworker.cpp b/svworker.cpp new file mode 100644 index 0000000..1e3f0b0 --- /dev/null +++ b/svworker.cpp @@ -0,0 +1,26 @@ +#include "svworker.h" + +SvWorker::SvWorker(QObject *parent) : + QObject(parent) +{ + +} + +SvWorker::SvWorker(SvAbstractKernel* kernel) +{ + m_kernel = kernel; +} + +void SvWorker::stop() +{ + +} + +void SvWorker::start() +{ + for (int i: m_tasks) { + m_kernel->exec(i); + } + + emit finished(m_id); +} diff --git a/svworker.h b/svworker.h new file mode 100644 index 0000000..87a10d8 --- /dev/null +++ b/svworker.h @@ -0,0 +1,36 @@ +#ifndef SVWORKER_H +#define SVWORKER_H + +#include +#include + +#include "svabstractkernel.h" +#include "svimage.h" + +class SvWorker : public QObject +{ + Q_OBJECT + +protected: + int m_id; + SvAbstractKernel* m_kernel; + QList m_tasks; + +public: + explicit SvWorker(QObject *parent = 0); + SvWorker(SvAbstractKernel* kernel); + + void setId(int id) {m_id = id;} + void addTask(int line) {m_tasks << line;} + void setKernel(SvAbstractKernel* kernel) {m_kernel = kernel;} + +signals: + void finished(int id); + +public slots: + void stop(); + void start(); + +}; + +#endif // SVWORKER_H