From 2b9f2b859d13e15a25f30ab41a4edbcd96dd7668 Mon Sep 17 00:00:00 2001 From: Chenglei98 <44131164+Chenglei98@users.noreply.github.com> Date: Sat, 17 Sep 2022 11:06:34 +0800 Subject: [PATCH] Add files via upload --- Makefile | 1251 ++++++ camera.cpp | 467 +++ camera.h | 55 + camera.o | Bin 0 -> 119600 bytes camera_config.mcfg | 2320 +++++++++++ camera_config_bak.ini | 2316 +++++++++++ candy | Bin 0 -> 296536 bytes candy.pro | 69 + candy.pro.user | 216 + ccc.mfs | 253 ++ correct.cpp | 50 + correct.h | 27 + correct.o | Bin 0 -> 97552 bytes initwidget.cpp | 42 + initwidget.h | 31 + initwidget.o | Bin 0 -> 100552 bytes initwidget.ui | 63 + main.cpp | 11 + main.o | Bin 0 -> 93584 bytes moc_initwidget.cpp | 96 + moc_initwidget.o | Bin 0 -> 101648 bytes moc_modifypasswdialog.cpp | 144 + moc_modifypasswdialog.o | Bin 0 -> 14704 bytes moc_passwddialog.cpp | 141 + moc_passwddialog.o | Bin 0 -> 14352 bytes moc_thread.cpp | 265 ++ moc_thread.o | Bin 0 -> 112568 bytes moc_widget.cpp | 228 ++ moc_widget.o | Bin 0 -> 112848 bytes modifypasswdialog.cpp | 250 ++ modifypasswdialog.h | 46 + modifypasswdialog.o | Bin 0 -> 39368 bytes modifypasswdialog.ui | 300 ++ para.ini | Bin 0 -> 28 bytes passwddialog.cpp | 129 + passwddialog.h | 44 + passwddialog.o | Bin 0 -> 29768 bytes passwddialog.ui | 248 ++ thread.cpp | 435 +++ thread.h | 108 + thread.o | Bin 0 -> 125688 bytes ui_initwidget.h | 70 + ui_modifypasswdialog.h | 161 + ui_passwddialog.h | 141 + ui_widget.h | 1478 +++++++ widget.cpp | 1466 +++++++ widget.h | 155 + widget.o | Bin 0 -> 309408 bytes widget.ui | 7795 +++++++++++++++++++++++++++++++++++++ 49 files changed, 20871 insertions(+) create mode 100644 Makefile create mode 100644 camera.cpp create mode 100644 camera.h create mode 100644 camera.o create mode 100644 camera_config.mcfg create mode 100644 camera_config_bak.ini create mode 100644 candy create mode 100644 candy.pro create mode 100644 candy.pro.user create mode 100644 ccc.mfs create mode 100644 correct.cpp create mode 100644 correct.h create mode 100644 correct.o create mode 100644 initwidget.cpp create mode 100644 initwidget.h create mode 100644 initwidget.o create mode 100644 initwidget.ui create mode 100644 main.cpp create mode 100644 main.o create mode 100644 moc_initwidget.cpp create mode 100644 moc_initwidget.o create mode 100644 moc_modifypasswdialog.cpp create mode 100644 moc_modifypasswdialog.o create mode 100644 moc_passwddialog.cpp create mode 100644 moc_passwddialog.o create mode 100644 moc_thread.cpp create mode 100644 moc_thread.o create mode 100644 moc_widget.cpp create mode 100644 moc_widget.o create mode 100644 modifypasswdialog.cpp create mode 100644 modifypasswdialog.h create mode 100644 modifypasswdialog.o create mode 100644 modifypasswdialog.ui create mode 100644 para.ini create mode 100644 passwddialog.cpp create mode 100644 passwddialog.h create mode 100644 passwddialog.o create mode 100644 passwddialog.ui create mode 100644 thread.cpp create mode 100644 thread.h create mode 100644 thread.o create mode 100644 ui_initwidget.h create mode 100644 ui_modifypasswdialog.h create mode 100644 ui_passwddialog.h create mode 100644 ui_widget.h create mode 100644 widget.cpp create mode 100644 widget.h create mode 100644 widget.o create mode 100644 widget.ui diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2ff4716 --- /dev/null +++ b/Makefile @@ -0,0 +1,1251 @@ +############################################################################# +# Makefile for building: candy +# Generated by qmake (2.01a) (Qt 4.8.7) on: ?? 6? 26 10:44:23 2022 +# Project: candy.pro +# Template: app +# Command: /usr/lib/aarch64-linux-gnu/qt4/bin/qmake -o Makefile candy.pro +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/opt/MVS/include -I/usr/include/opencv4 -I. -I. +LINK = g++ +LFLAGS = -Wl,-O1 +LIBS = $(SUBLIBS) -L/usr/lib/aarch64-linux-gnu -L/opt/MVS/lib/aarch64/ -lMvCameraControl -L/usr/lib/aarch64-linux-gnu/ -lopencv_core -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_videoio -lopencv_video -lQtGui -lQtNetwork -lQtCore -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/lib/aarch64-linux-gnu/qt4/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = $(COPY) +COPY_DIR = $(COPY) -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 \ + widget.cpp \ + initwidget.cpp \ + passwddialog.cpp \ + camera.cpp \ + thread.cpp \ + correct.cpp \ + modifypasswdialog.cpp moc_widget.cpp \ + moc_initwidget.cpp \ + moc_passwddialog.cpp \ + moc_thread.cpp \ + moc_modifypasswdialog.cpp +OBJECTS = main.o \ + widget.o \ + initwidget.o \ + passwddialog.o \ + camera.o \ + thread.o \ + correct.o \ + modifypasswdialog.o \ + moc_widget.o \ + moc_initwidget.o \ + moc_passwddialog.o \ + moc_thread.o \ + moc_modifypasswdialog.o +DIST = /usr/share/qt4/mkspecs/common/unix.conf \ + /usr/share/qt4/mkspecs/common/linux.conf \ + /usr/share/qt4/mkspecs/common/gcc-base.conf \ + /usr/share/qt4/mkspecs/common/gcc-base-unix.conf \ + /usr/share/qt4/mkspecs/common/g++-base.conf \ + /usr/share/qt4/mkspecs/common/g++-unix.conf \ + /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/features/qt_functions.prf \ + /usr/share/qt4/mkspecs/features/qt_config.prf \ + /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ + /usr/share/qt4/mkspecs/features/default_pre.prf \ + /usr/share/qt4/mkspecs/features/release.prf \ + /usr/share/qt4/mkspecs/features/default_post.prf \ + /usr/share/qt4/mkspecs/features/shared.prf \ + /usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ + /usr/share/qt4/mkspecs/features/warn_on.prf \ + /usr/share/qt4/mkspecs/features/qt.prf \ + /usr/share/qt4/mkspecs/features/unix/thread.prf \ + /usr/share/qt4/mkspecs/features/moc.prf \ + /usr/share/qt4/mkspecs/features/resources.prf \ + /usr/share/qt4/mkspecs/features/uic.prf \ + /usr/share/qt4/mkspecs/features/yacc.prf \ + /usr/share/qt4/mkspecs/features/lex.prf \ + /usr/share/qt4/mkspecs/features/include_source_dir.prf \ + candy.pro +QMAKE_TARGET = candy +DESTDIR = +TARGET = candy + +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): ui_widget.h ui_initwidget.h ui_passwddialog.h ui_modifypasswdialog.h $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +Makefile: candy.pro /usr/share/qt4/mkspecs/linux-g++/qmake.conf /usr/share/qt4/mkspecs/common/unix.conf \ + /usr/share/qt4/mkspecs/common/linux.conf \ + /usr/share/qt4/mkspecs/common/gcc-base.conf \ + /usr/share/qt4/mkspecs/common/gcc-base-unix.conf \ + /usr/share/qt4/mkspecs/common/g++-base.conf \ + /usr/share/qt4/mkspecs/common/g++-unix.conf \ + /usr/share/qt4/mkspecs/qconfig.pri \ + /usr/share/qt4/mkspecs/features/qt_functions.prf \ + /usr/share/qt4/mkspecs/features/qt_config.prf \ + /usr/share/qt4/mkspecs/features/exclusive_builds.prf \ + /usr/share/qt4/mkspecs/features/default_pre.prf \ + /usr/share/qt4/mkspecs/features/release.prf \ + /usr/share/qt4/mkspecs/features/default_post.prf \ + /usr/share/qt4/mkspecs/features/shared.prf \ + /usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf \ + /usr/share/qt4/mkspecs/features/warn_on.prf \ + /usr/share/qt4/mkspecs/features/qt.prf \ + /usr/share/qt4/mkspecs/features/unix/thread.prf \ + /usr/share/qt4/mkspecs/features/moc.prf \ + /usr/share/qt4/mkspecs/features/resources.prf \ + /usr/share/qt4/mkspecs/features/uic.prf \ + /usr/share/qt4/mkspecs/features/yacc.prf \ + /usr/share/qt4/mkspecs/features/lex.prf \ + /usr/share/qt4/mkspecs/features/include_source_dir.prf \ + /usr/lib/aarch64-linux-gnu/libQtGui.prl \ + /usr/lib/aarch64-linux-gnu/libQtNetwork.prl \ + /usr/lib/aarch64-linux-gnu/libQtCore.prl + $(QMAKE) -o Makefile candy.pro +/usr/share/qt4/mkspecs/common/unix.conf: +/usr/share/qt4/mkspecs/common/linux.conf: +/usr/share/qt4/mkspecs/common/gcc-base.conf: +/usr/share/qt4/mkspecs/common/gcc-base-unix.conf: +/usr/share/qt4/mkspecs/common/g++-base.conf: +/usr/share/qt4/mkspecs/common/g++-unix.conf: +/usr/share/qt4/mkspecs/qconfig.pri: +/usr/share/qt4/mkspecs/features/qt_functions.prf: +/usr/share/qt4/mkspecs/features/qt_config.prf: +/usr/share/qt4/mkspecs/features/exclusive_builds.prf: +/usr/share/qt4/mkspecs/features/default_pre.prf: +/usr/share/qt4/mkspecs/features/release.prf: +/usr/share/qt4/mkspecs/features/default_post.prf: +/usr/share/qt4/mkspecs/features/shared.prf: +/usr/share/qt4/mkspecs/features/unix/gdb_dwarf_index.prf: +/usr/share/qt4/mkspecs/features/warn_on.prf: +/usr/share/qt4/mkspecs/features/qt.prf: +/usr/share/qt4/mkspecs/features/unix/thread.prf: +/usr/share/qt4/mkspecs/features/moc.prf: +/usr/share/qt4/mkspecs/features/resources.prf: +/usr/share/qt4/mkspecs/features/uic.prf: +/usr/share/qt4/mkspecs/features/yacc.prf: +/usr/share/qt4/mkspecs/features/lex.prf: +/usr/share/qt4/mkspecs/features/include_source_dir.prf: +/usr/lib/aarch64-linux-gnu/libQtGui.prl: +/usr/lib/aarch64-linux-gnu/libQtNetwork.prl: +/usr/lib/aarch64-linux-gnu/libQtCore.prl: +qmake: FORCE + @$(QMAKE) -o Makefile candy.pro + +dist: + @$(CHK_DIR_EXISTS) .tmp/candy1.0.0 || $(MKDIR) .tmp/candy1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/candy1.0.0/ && $(COPY_FILE) --parents widget.h initwidget.h passwddialog.h camera.h thread.h correct.h modifypasswdialog.h .tmp/candy1.0.0/ && $(COPY_FILE) --parents main.cpp widget.cpp initwidget.cpp passwddialog.cpp camera.cpp thread.cpp correct.cpp modifypasswdialog.cpp .tmp/candy1.0.0/ && $(COPY_FILE) --parents widget.ui initwidget.ui passwddialog.ui modifypasswdialog.ui .tmp/candy1.0.0/ && (cd `dirname .tmp/candy1.0.0` && $(TAR) candy1.0.0.tar candy1.0.0 && $(COMPRESS) candy1.0.0.tar) && $(MOVE) `dirname .tmp/candy1.0.0`/candy1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/candy1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile + + +check: first + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +compiler_moc_header_make_all: moc_widget.cpp moc_initwidget.cpp moc_passwddialog.cpp moc_thread.cpp moc_modifypasswdialog.cpp +compiler_moc_header_clean: + -$(DEL_FILE) moc_widget.cpp moc_initwidget.cpp moc_passwddialog.cpp moc_thread.cpp moc_modifypasswdialog.cpp +moc_widget.cpp: passwddialog.h \ + modifypasswdialog.h \ + /usr/include/opencv4/opencv2/opencv.hpp \ + /usr/include/opencv4/opencv2/opencv_modules.hpp \ + /usr/include/opencv4/opencv2/core.hpp \ + /usr/include/opencv4/opencv2/core/cvdef.h \ + /usr/include/opencv4/opencv2/core/hal/interface.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_helper.h \ + /usr/include/opencv4/opencv2/core/fast_math.hpp \ + /usr/include/opencv4/opencv2/core/version.hpp \ + /usr/include/opencv4/opencv2/core/base.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.hpp \ + /usr/include/opencv4/opencv2/core/cvstd_wrapper.hpp \ + /usr/include/opencv4/opencv2/core/neon_utils.hpp \ + /usr/include/opencv4/opencv2/core/vsx_utils.hpp \ + /usr/include/opencv4/opencv2/core/check.hpp \ + /usr/include/opencv4/opencv2/core/traits.hpp \ + /usr/include/opencv4/opencv2/core/matx.hpp \ + /usr/include/opencv4/opencv2/core/saturate.hpp \ + /usr/include/opencv4/opencv2/core/types.hpp \ + /usr/include/opencv4/opencv2/core/mat.hpp \ + /usr/include/opencv4/opencv2/core/bufferpool.hpp \ + /usr/include/opencv4/opencv2/core/mat.inl.hpp \ + /usr/include/opencv4/opencv2/core/persistence.hpp \ + /usr/include/opencv4/opencv2/core/operations.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.inl.hpp \ + /usr/include/opencv4/opencv2/core/utility.hpp \ + /usr/include/opencv4/opencv2/core/optim.hpp \ + /usr/include/opencv4/opencv2/core/ovx.hpp \ + /usr/include/opencv4/opencv2/calib3d.hpp \ + /usr/include/opencv4/opencv2/features2d.hpp \ + /usr/include/opencv4/opencv2/flann/miniflann.hpp \ + /usr/include/opencv4/opencv2/flann/defines.h \ + /usr/include/opencv4/opencv2/flann/config.h \ + /usr/include/opencv4/opencv2/core/affine.hpp \ + /usr/include/opencv4/opencv2/dnn.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.hpp \ + /usr/include/opencv4/opencv2/core/async.hpp \ + /usr/include/opencv4/opencv2/dnn/version.hpp \ + /usr/include/opencv4/opencv2/dnn/dict.hpp \ + /usr/include/opencv4/opencv2/dnn/layer.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.inl.hpp \ + /usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp \ + /usr/include/opencv4/opencv2/flann.hpp \ + /usr/include/opencv4/opencv2/flann/flann_base.hpp \ + /usr/include/opencv4/opencv2/flann/general.h \ + /usr/include/opencv4/opencv2/flann/matrix.h \ + /usr/include/opencv4/opencv2/flann/params.h \ + /usr/include/opencv4/opencv2/flann/any.h \ + /usr/include/opencv4/opencv2/flann/saving.h \ + /usr/include/opencv4/opencv2/flann/nn_index.h \ + /usr/include/opencv4/opencv2/flann/result_set.h \ + /usr/include/opencv4/opencv2/flann/all_indices.h \ + /usr/include/opencv4/opencv2/flann/kdtree_index.h \ + /usr/include/opencv4/opencv2/flann/dynamic_bitset.h \ + /usr/include/opencv4/opencv2/flann/dist.h \ + /usr/include/opencv4/opencv2/flann/heap.h \ + /usr/include/opencv4/opencv2/flann/allocator.h \ + /usr/include/opencv4/opencv2/flann/random.h \ + /usr/include/opencv4/opencv2/flann/kdtree_single_index.h \ + /usr/include/opencv4/opencv2/flann/kmeans_index.h \ + /usr/include/opencv4/opencv2/flann/logger.h \ + /usr/include/opencv4/opencv2/flann/composite_index.h \ + /usr/include/opencv4/opencv2/flann/linear_index.h \ + /usr/include/opencv4/opencv2/flann/hierarchical_clustering_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_table.h \ + /usr/include/opencv4/opencv2/flann/autotuned_index.h \ + /usr/include/opencv4/opencv2/flann/ground_truth.h \ + /usr/include/opencv4/opencv2/flann/index_testing.h \ + /usr/include/opencv4/opencv2/flann/timer.h \ + /usr/include/opencv4/opencv2/flann/sampling.h \ + /usr/include/opencv4/opencv2/highgui.hpp \ + /usr/include/opencv4/opencv2/imgcodecs.hpp \ + /usr/include/opencv4/opencv2/videoio.hpp \ + /usr/include/opencv4/opencv2/imgproc.hpp \ + /usr/include/opencv4/opencv2/ml.hpp \ + /usr/include/opencv4/opencv2/ml/ml.inl.hpp \ + /usr/include/opencv4/opencv2/objdetect.hpp \ + /usr/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp \ + /usr/include/opencv4/opencv2/photo.hpp \ + /usr/include/opencv4/opencv2/stitching.hpp \ + /usr/include/opencv4/opencv2/stitching/warpers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \ + /usr/include/opencv4/opencv2/core/cuda.hpp \ + /usr/include/opencv4/opencv2/core/cuda_types.hpp \ + /usr/include/opencv4/opencv2/core/cuda.inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/camera.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/seam_finders.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/blenders.hpp \ + /usr/include/opencv4/opencv2/video.hpp \ + /usr/include/opencv4/opencv2/video/tracking.hpp \ + /usr/include/opencv4/opencv2/video/background_segm.hpp \ + thread.h \ + camera.h \ + /opt/MVS/include/MvCameraControl.h \ + /opt/MVS/include/MvErrorDefine.h \ + /opt/MVS/include/CameraParams.h \ + /opt/MVS/include/PixelType.h \ + correct.h \ + widget.h + /usr/lib/aarch64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) widget.h -o moc_widget.cpp + +moc_initwidget.cpp: widget.h \ + passwddialog.h \ + modifypasswdialog.h \ + /usr/include/opencv4/opencv2/opencv.hpp \ + /usr/include/opencv4/opencv2/opencv_modules.hpp \ + /usr/include/opencv4/opencv2/core.hpp \ + /usr/include/opencv4/opencv2/core/cvdef.h \ + /usr/include/opencv4/opencv2/core/hal/interface.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_helper.h \ + /usr/include/opencv4/opencv2/core/fast_math.hpp \ + /usr/include/opencv4/opencv2/core/version.hpp \ + /usr/include/opencv4/opencv2/core/base.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.hpp \ + /usr/include/opencv4/opencv2/core/cvstd_wrapper.hpp \ + /usr/include/opencv4/opencv2/core/neon_utils.hpp \ + /usr/include/opencv4/opencv2/core/vsx_utils.hpp \ + /usr/include/opencv4/opencv2/core/check.hpp \ + /usr/include/opencv4/opencv2/core/traits.hpp \ + /usr/include/opencv4/opencv2/core/matx.hpp \ + /usr/include/opencv4/opencv2/core/saturate.hpp \ + /usr/include/opencv4/opencv2/core/types.hpp \ + /usr/include/opencv4/opencv2/core/mat.hpp \ + /usr/include/opencv4/opencv2/core/bufferpool.hpp \ + /usr/include/opencv4/opencv2/core/mat.inl.hpp \ + /usr/include/opencv4/opencv2/core/persistence.hpp \ + /usr/include/opencv4/opencv2/core/operations.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.inl.hpp \ + /usr/include/opencv4/opencv2/core/utility.hpp \ + /usr/include/opencv4/opencv2/core/optim.hpp \ + /usr/include/opencv4/opencv2/core/ovx.hpp \ + /usr/include/opencv4/opencv2/calib3d.hpp \ + /usr/include/opencv4/opencv2/features2d.hpp \ + /usr/include/opencv4/opencv2/flann/miniflann.hpp \ + /usr/include/opencv4/opencv2/flann/defines.h \ + /usr/include/opencv4/opencv2/flann/config.h \ + /usr/include/opencv4/opencv2/core/affine.hpp \ + /usr/include/opencv4/opencv2/dnn.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.hpp \ + /usr/include/opencv4/opencv2/core/async.hpp \ + /usr/include/opencv4/opencv2/dnn/version.hpp \ + /usr/include/opencv4/opencv2/dnn/dict.hpp \ + /usr/include/opencv4/opencv2/dnn/layer.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.inl.hpp \ + /usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp \ + /usr/include/opencv4/opencv2/flann.hpp \ + /usr/include/opencv4/opencv2/flann/flann_base.hpp \ + /usr/include/opencv4/opencv2/flann/general.h \ + /usr/include/opencv4/opencv2/flann/matrix.h \ + /usr/include/opencv4/opencv2/flann/params.h \ + /usr/include/opencv4/opencv2/flann/any.h \ + /usr/include/opencv4/opencv2/flann/saving.h \ + /usr/include/opencv4/opencv2/flann/nn_index.h \ + /usr/include/opencv4/opencv2/flann/result_set.h \ + /usr/include/opencv4/opencv2/flann/all_indices.h \ + /usr/include/opencv4/opencv2/flann/kdtree_index.h \ + /usr/include/opencv4/opencv2/flann/dynamic_bitset.h \ + /usr/include/opencv4/opencv2/flann/dist.h \ + /usr/include/opencv4/opencv2/flann/heap.h \ + /usr/include/opencv4/opencv2/flann/allocator.h \ + /usr/include/opencv4/opencv2/flann/random.h \ + /usr/include/opencv4/opencv2/flann/kdtree_single_index.h \ + /usr/include/opencv4/opencv2/flann/kmeans_index.h \ + /usr/include/opencv4/opencv2/flann/logger.h \ + /usr/include/opencv4/opencv2/flann/composite_index.h \ + /usr/include/opencv4/opencv2/flann/linear_index.h \ + /usr/include/opencv4/opencv2/flann/hierarchical_clustering_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_table.h \ + /usr/include/opencv4/opencv2/flann/autotuned_index.h \ + /usr/include/opencv4/opencv2/flann/ground_truth.h \ + /usr/include/opencv4/opencv2/flann/index_testing.h \ + /usr/include/opencv4/opencv2/flann/timer.h \ + /usr/include/opencv4/opencv2/flann/sampling.h \ + /usr/include/opencv4/opencv2/highgui.hpp \ + /usr/include/opencv4/opencv2/imgcodecs.hpp \ + /usr/include/opencv4/opencv2/videoio.hpp \ + /usr/include/opencv4/opencv2/imgproc.hpp \ + /usr/include/opencv4/opencv2/ml.hpp \ + /usr/include/opencv4/opencv2/ml/ml.inl.hpp \ + /usr/include/opencv4/opencv2/objdetect.hpp \ + /usr/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp \ + /usr/include/opencv4/opencv2/photo.hpp \ + /usr/include/opencv4/opencv2/stitching.hpp \ + /usr/include/opencv4/opencv2/stitching/warpers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \ + /usr/include/opencv4/opencv2/core/cuda.hpp \ + /usr/include/opencv4/opencv2/core/cuda_types.hpp \ + /usr/include/opencv4/opencv2/core/cuda.inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/camera.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/seam_finders.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/blenders.hpp \ + /usr/include/opencv4/opencv2/video.hpp \ + /usr/include/opencv4/opencv2/video/tracking.hpp \ + /usr/include/opencv4/opencv2/video/background_segm.hpp \ + thread.h \ + camera.h \ + /opt/MVS/include/MvCameraControl.h \ + /opt/MVS/include/MvErrorDefine.h \ + /opt/MVS/include/CameraParams.h \ + /opt/MVS/include/PixelType.h \ + correct.h \ + initwidget.h + /usr/lib/aarch64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) initwidget.h -o moc_initwidget.cpp + +moc_passwddialog.cpp: passwddialog.h + /usr/lib/aarch64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) passwddialog.h -o moc_passwddialog.cpp + +moc_thread.cpp: /usr/include/opencv4/opencv2/opencv.hpp \ + /usr/include/opencv4/opencv2/opencv_modules.hpp \ + /usr/include/opencv4/opencv2/core.hpp \ + /usr/include/opencv4/opencv2/core/cvdef.h \ + /usr/include/opencv4/opencv2/core/hal/interface.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_helper.h \ + /usr/include/opencv4/opencv2/core/fast_math.hpp \ + /usr/include/opencv4/opencv2/core/version.hpp \ + /usr/include/opencv4/opencv2/core/base.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.hpp \ + /usr/include/opencv4/opencv2/core/cvstd_wrapper.hpp \ + /usr/include/opencv4/opencv2/core/neon_utils.hpp \ + /usr/include/opencv4/opencv2/core/vsx_utils.hpp \ + /usr/include/opencv4/opencv2/core/check.hpp \ + /usr/include/opencv4/opencv2/core/traits.hpp \ + /usr/include/opencv4/opencv2/core/matx.hpp \ + /usr/include/opencv4/opencv2/core/saturate.hpp \ + /usr/include/opencv4/opencv2/core/types.hpp \ + /usr/include/opencv4/opencv2/core/mat.hpp \ + /usr/include/opencv4/opencv2/core/bufferpool.hpp \ + /usr/include/opencv4/opencv2/core/mat.inl.hpp \ + /usr/include/opencv4/opencv2/core/persistence.hpp \ + /usr/include/opencv4/opencv2/core/operations.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.inl.hpp \ + /usr/include/opencv4/opencv2/core/utility.hpp \ + /usr/include/opencv4/opencv2/core/optim.hpp \ + /usr/include/opencv4/opencv2/core/ovx.hpp \ + /usr/include/opencv4/opencv2/calib3d.hpp \ + /usr/include/opencv4/opencv2/features2d.hpp \ + /usr/include/opencv4/opencv2/flann/miniflann.hpp \ + /usr/include/opencv4/opencv2/flann/defines.h \ + /usr/include/opencv4/opencv2/flann/config.h \ + /usr/include/opencv4/opencv2/core/affine.hpp \ + /usr/include/opencv4/opencv2/dnn.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.hpp \ + /usr/include/opencv4/opencv2/core/async.hpp \ + /usr/include/opencv4/opencv2/dnn/version.hpp \ + /usr/include/opencv4/opencv2/dnn/dict.hpp \ + /usr/include/opencv4/opencv2/dnn/layer.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.inl.hpp \ + /usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp \ + /usr/include/opencv4/opencv2/flann.hpp \ + /usr/include/opencv4/opencv2/flann/flann_base.hpp \ + /usr/include/opencv4/opencv2/flann/general.h \ + /usr/include/opencv4/opencv2/flann/matrix.h \ + /usr/include/opencv4/opencv2/flann/params.h \ + /usr/include/opencv4/opencv2/flann/any.h \ + /usr/include/opencv4/opencv2/flann/saving.h \ + /usr/include/opencv4/opencv2/flann/nn_index.h \ + /usr/include/opencv4/opencv2/flann/result_set.h \ + /usr/include/opencv4/opencv2/flann/all_indices.h \ + /usr/include/opencv4/opencv2/flann/kdtree_index.h \ + /usr/include/opencv4/opencv2/flann/dynamic_bitset.h \ + /usr/include/opencv4/opencv2/flann/dist.h \ + /usr/include/opencv4/opencv2/flann/heap.h \ + /usr/include/opencv4/opencv2/flann/allocator.h \ + /usr/include/opencv4/opencv2/flann/random.h \ + /usr/include/opencv4/opencv2/flann/kdtree_single_index.h \ + /usr/include/opencv4/opencv2/flann/kmeans_index.h \ + /usr/include/opencv4/opencv2/flann/logger.h \ + /usr/include/opencv4/opencv2/flann/composite_index.h \ + /usr/include/opencv4/opencv2/flann/linear_index.h \ + /usr/include/opencv4/opencv2/flann/hierarchical_clustering_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_table.h \ + /usr/include/opencv4/opencv2/flann/autotuned_index.h \ + /usr/include/opencv4/opencv2/flann/ground_truth.h \ + /usr/include/opencv4/opencv2/flann/index_testing.h \ + /usr/include/opencv4/opencv2/flann/timer.h \ + /usr/include/opencv4/opencv2/flann/sampling.h \ + /usr/include/opencv4/opencv2/highgui.hpp \ + /usr/include/opencv4/opencv2/imgcodecs.hpp \ + /usr/include/opencv4/opencv2/videoio.hpp \ + /usr/include/opencv4/opencv2/imgproc.hpp \ + /usr/include/opencv4/opencv2/ml.hpp \ + /usr/include/opencv4/opencv2/ml/ml.inl.hpp \ + /usr/include/opencv4/opencv2/objdetect.hpp \ + /usr/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp \ + /usr/include/opencv4/opencv2/photo.hpp \ + /usr/include/opencv4/opencv2/stitching.hpp \ + /usr/include/opencv4/opencv2/stitching/warpers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \ + /usr/include/opencv4/opencv2/core/cuda.hpp \ + /usr/include/opencv4/opencv2/core/cuda_types.hpp \ + /usr/include/opencv4/opencv2/core/cuda.inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/camera.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/seam_finders.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/blenders.hpp \ + /usr/include/opencv4/opencv2/video.hpp \ + /usr/include/opencv4/opencv2/video/tracking.hpp \ + /usr/include/opencv4/opencv2/video/background_segm.hpp \ + thread.h + /usr/lib/aarch64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) thread.h -o moc_thread.cpp + +moc_modifypasswdialog.cpp: modifypasswdialog.h + /usr/lib/aarch64-linux-gnu/qt4/bin/moc $(DEFINES) $(INCPATH) modifypasswdialog.h -o moc_modifypasswdialog.cpp + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_image_collection_make_all: qmake_image_collection.cpp +compiler_image_collection_clean: + -$(DEL_FILE) qmake_image_collection.cpp +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: ui_widget.h ui_initwidget.h ui_passwddialog.h ui_modifypasswdialog.h +compiler_uic_clean: + -$(DEL_FILE) ui_widget.h ui_initwidget.h ui_passwddialog.h ui_modifypasswdialog.h +ui_widget.h: widget.ui + /usr/lib/aarch64-linux-gnu/qt4/bin/uic widget.ui -o ui_widget.h + +ui_initwidget.h: initwidget.ui + /usr/lib/aarch64-linux-gnu/qt4/bin/uic initwidget.ui -o ui_initwidget.h + +ui_passwddialog.h: passwddialog.ui + /usr/lib/aarch64-linux-gnu/qt4/bin/uic passwddialog.ui -o ui_passwddialog.h + +ui_modifypasswdialog.h: modifypasswdialog.ui + /usr/lib/aarch64-linux-gnu/qt4/bin/uic modifypasswdialog.ui -o ui_modifypasswdialog.h + +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 compiler_uic_clean + +####### Compile + +main.o: main.cpp widget.h \ + passwddialog.h \ + modifypasswdialog.h \ + /usr/include/opencv4/opencv2/opencv.hpp \ + /usr/include/opencv4/opencv2/opencv_modules.hpp \ + /usr/include/opencv4/opencv2/core.hpp \ + /usr/include/opencv4/opencv2/core/cvdef.h \ + /usr/include/opencv4/opencv2/core/hal/interface.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_helper.h \ + /usr/include/opencv4/opencv2/core/fast_math.hpp \ + /usr/include/opencv4/opencv2/core/version.hpp \ + /usr/include/opencv4/opencv2/core/base.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.hpp \ + /usr/include/opencv4/opencv2/core/cvstd_wrapper.hpp \ + /usr/include/opencv4/opencv2/core/neon_utils.hpp \ + /usr/include/opencv4/opencv2/core/vsx_utils.hpp \ + /usr/include/opencv4/opencv2/core/check.hpp \ + /usr/include/opencv4/opencv2/core/traits.hpp \ + /usr/include/opencv4/opencv2/core/matx.hpp \ + /usr/include/opencv4/opencv2/core/saturate.hpp \ + /usr/include/opencv4/opencv2/core/types.hpp \ + /usr/include/opencv4/opencv2/core/mat.hpp \ + /usr/include/opencv4/opencv2/core/bufferpool.hpp \ + /usr/include/opencv4/opencv2/core/mat.inl.hpp \ + /usr/include/opencv4/opencv2/core/persistence.hpp \ + /usr/include/opencv4/opencv2/core/operations.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.inl.hpp \ + /usr/include/opencv4/opencv2/core/utility.hpp \ + /usr/include/opencv4/opencv2/core/optim.hpp \ + /usr/include/opencv4/opencv2/core/ovx.hpp \ + /usr/include/opencv4/opencv2/calib3d.hpp \ + /usr/include/opencv4/opencv2/features2d.hpp \ + /usr/include/opencv4/opencv2/flann/miniflann.hpp \ + /usr/include/opencv4/opencv2/flann/defines.h \ + /usr/include/opencv4/opencv2/flann/config.h \ + /usr/include/opencv4/opencv2/core/affine.hpp \ + /usr/include/opencv4/opencv2/dnn.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.hpp \ + /usr/include/opencv4/opencv2/core/async.hpp \ + /usr/include/opencv4/opencv2/dnn/version.hpp \ + /usr/include/opencv4/opencv2/dnn/dict.hpp \ + /usr/include/opencv4/opencv2/dnn/layer.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.inl.hpp \ + /usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp \ + /usr/include/opencv4/opencv2/flann.hpp \ + /usr/include/opencv4/opencv2/flann/flann_base.hpp \ + /usr/include/opencv4/opencv2/flann/general.h \ + /usr/include/opencv4/opencv2/flann/matrix.h \ + /usr/include/opencv4/opencv2/flann/params.h \ + /usr/include/opencv4/opencv2/flann/any.h \ + /usr/include/opencv4/opencv2/flann/saving.h \ + /usr/include/opencv4/opencv2/flann/nn_index.h \ + /usr/include/opencv4/opencv2/flann/result_set.h \ + /usr/include/opencv4/opencv2/flann/all_indices.h \ + /usr/include/opencv4/opencv2/flann/kdtree_index.h \ + /usr/include/opencv4/opencv2/flann/dynamic_bitset.h \ + /usr/include/opencv4/opencv2/flann/dist.h \ + /usr/include/opencv4/opencv2/flann/heap.h \ + /usr/include/opencv4/opencv2/flann/allocator.h \ + /usr/include/opencv4/opencv2/flann/random.h \ + /usr/include/opencv4/opencv2/flann/kdtree_single_index.h \ + /usr/include/opencv4/opencv2/flann/kmeans_index.h \ + /usr/include/opencv4/opencv2/flann/logger.h \ + /usr/include/opencv4/opencv2/flann/composite_index.h \ + /usr/include/opencv4/opencv2/flann/linear_index.h \ + /usr/include/opencv4/opencv2/flann/hierarchical_clustering_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_table.h \ + /usr/include/opencv4/opencv2/flann/autotuned_index.h \ + /usr/include/opencv4/opencv2/flann/ground_truth.h \ + /usr/include/opencv4/opencv2/flann/index_testing.h \ + /usr/include/opencv4/opencv2/flann/timer.h \ + /usr/include/opencv4/opencv2/flann/sampling.h \ + /usr/include/opencv4/opencv2/highgui.hpp \ + /usr/include/opencv4/opencv2/imgcodecs.hpp \ + /usr/include/opencv4/opencv2/videoio.hpp \ + /usr/include/opencv4/opencv2/imgproc.hpp \ + /usr/include/opencv4/opencv2/ml.hpp \ + /usr/include/opencv4/opencv2/ml/ml.inl.hpp \ + /usr/include/opencv4/opencv2/objdetect.hpp \ + /usr/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp \ + /usr/include/opencv4/opencv2/photo.hpp \ + /usr/include/opencv4/opencv2/stitching.hpp \ + /usr/include/opencv4/opencv2/stitching/warpers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \ + /usr/include/opencv4/opencv2/core/cuda.hpp \ + /usr/include/opencv4/opencv2/core/cuda_types.hpp \ + /usr/include/opencv4/opencv2/core/cuda.inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/camera.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/seam_finders.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/blenders.hpp \ + /usr/include/opencv4/opencv2/video.hpp \ + /usr/include/opencv4/opencv2/video/tracking.hpp \ + /usr/include/opencv4/opencv2/video/background_segm.hpp \ + thread.h \ + camera.h \ + /opt/MVS/include/MvCameraControl.h \ + /opt/MVS/include/MvErrorDefine.h \ + /opt/MVS/include/CameraParams.h \ + /opt/MVS/include/PixelType.h \ + correct.h \ + initwidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp + +widget.o: widget.cpp widget.h \ + passwddialog.h \ + modifypasswdialog.h \ + /usr/include/opencv4/opencv2/opencv.hpp \ + /usr/include/opencv4/opencv2/opencv_modules.hpp \ + /usr/include/opencv4/opencv2/core.hpp \ + /usr/include/opencv4/opencv2/core/cvdef.h \ + /usr/include/opencv4/opencv2/core/hal/interface.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_helper.h \ + /usr/include/opencv4/opencv2/core/fast_math.hpp \ + /usr/include/opencv4/opencv2/core/version.hpp \ + /usr/include/opencv4/opencv2/core/base.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.hpp \ + /usr/include/opencv4/opencv2/core/cvstd_wrapper.hpp \ + /usr/include/opencv4/opencv2/core/neon_utils.hpp \ + /usr/include/opencv4/opencv2/core/vsx_utils.hpp \ + /usr/include/opencv4/opencv2/core/check.hpp \ + /usr/include/opencv4/opencv2/core/traits.hpp \ + /usr/include/opencv4/opencv2/core/matx.hpp \ + /usr/include/opencv4/opencv2/core/saturate.hpp \ + /usr/include/opencv4/opencv2/core/types.hpp \ + /usr/include/opencv4/opencv2/core/mat.hpp \ + /usr/include/opencv4/opencv2/core/bufferpool.hpp \ + /usr/include/opencv4/opencv2/core/mat.inl.hpp \ + /usr/include/opencv4/opencv2/core/persistence.hpp \ + /usr/include/opencv4/opencv2/core/operations.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.inl.hpp \ + /usr/include/opencv4/opencv2/core/utility.hpp \ + /usr/include/opencv4/opencv2/core/optim.hpp \ + /usr/include/opencv4/opencv2/core/ovx.hpp \ + /usr/include/opencv4/opencv2/calib3d.hpp \ + /usr/include/opencv4/opencv2/features2d.hpp \ + /usr/include/opencv4/opencv2/flann/miniflann.hpp \ + /usr/include/opencv4/opencv2/flann/defines.h \ + /usr/include/opencv4/opencv2/flann/config.h \ + /usr/include/opencv4/opencv2/core/affine.hpp \ + /usr/include/opencv4/opencv2/dnn.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.hpp \ + /usr/include/opencv4/opencv2/core/async.hpp \ + /usr/include/opencv4/opencv2/dnn/version.hpp \ + /usr/include/opencv4/opencv2/dnn/dict.hpp \ + /usr/include/opencv4/opencv2/dnn/layer.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.inl.hpp \ + /usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp \ + /usr/include/opencv4/opencv2/flann.hpp \ + /usr/include/opencv4/opencv2/flann/flann_base.hpp \ + /usr/include/opencv4/opencv2/flann/general.h \ + /usr/include/opencv4/opencv2/flann/matrix.h \ + /usr/include/opencv4/opencv2/flann/params.h \ + /usr/include/opencv4/opencv2/flann/any.h \ + /usr/include/opencv4/opencv2/flann/saving.h \ + /usr/include/opencv4/opencv2/flann/nn_index.h \ + /usr/include/opencv4/opencv2/flann/result_set.h \ + /usr/include/opencv4/opencv2/flann/all_indices.h \ + /usr/include/opencv4/opencv2/flann/kdtree_index.h \ + /usr/include/opencv4/opencv2/flann/dynamic_bitset.h \ + /usr/include/opencv4/opencv2/flann/dist.h \ + /usr/include/opencv4/opencv2/flann/heap.h \ + /usr/include/opencv4/opencv2/flann/allocator.h \ + /usr/include/opencv4/opencv2/flann/random.h \ + /usr/include/opencv4/opencv2/flann/kdtree_single_index.h \ + /usr/include/opencv4/opencv2/flann/kmeans_index.h \ + /usr/include/opencv4/opencv2/flann/logger.h \ + /usr/include/opencv4/opencv2/flann/composite_index.h \ + /usr/include/opencv4/opencv2/flann/linear_index.h \ + /usr/include/opencv4/opencv2/flann/hierarchical_clustering_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_table.h \ + /usr/include/opencv4/opencv2/flann/autotuned_index.h \ + /usr/include/opencv4/opencv2/flann/ground_truth.h \ + /usr/include/opencv4/opencv2/flann/index_testing.h \ + /usr/include/opencv4/opencv2/flann/timer.h \ + /usr/include/opencv4/opencv2/flann/sampling.h \ + /usr/include/opencv4/opencv2/highgui.hpp \ + /usr/include/opencv4/opencv2/imgcodecs.hpp \ + /usr/include/opencv4/opencv2/videoio.hpp \ + /usr/include/opencv4/opencv2/imgproc.hpp \ + /usr/include/opencv4/opencv2/ml.hpp \ + /usr/include/opencv4/opencv2/ml/ml.inl.hpp \ + /usr/include/opencv4/opencv2/objdetect.hpp \ + /usr/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp \ + /usr/include/opencv4/opencv2/photo.hpp \ + /usr/include/opencv4/opencv2/stitching.hpp \ + /usr/include/opencv4/opencv2/stitching/warpers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \ + /usr/include/opencv4/opencv2/core/cuda.hpp \ + /usr/include/opencv4/opencv2/core/cuda_types.hpp \ + /usr/include/opencv4/opencv2/core/cuda.inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/camera.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/seam_finders.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/blenders.hpp \ + /usr/include/opencv4/opencv2/video.hpp \ + /usr/include/opencv4/opencv2/video/tracking.hpp \ + /usr/include/opencv4/opencv2/video/background_segm.hpp \ + thread.h \ + camera.h \ + /opt/MVS/include/MvCameraControl.h \ + /opt/MVS/include/MvErrorDefine.h \ + /opt/MVS/include/CameraParams.h \ + /opt/MVS/include/PixelType.h \ + correct.h \ + ui_widget.h \ + /usr/include/opencv4/opencv2/imgproc/types_c.h \ + /usr/include/opencv4/opencv2/core/core_c.h \ + /usr/include/opencv4/opencv2/core/types_c.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o widget.o widget.cpp + +initwidget.o: initwidget.cpp initwidget.h \ + widget.h \ + passwddialog.h \ + modifypasswdialog.h \ + /usr/include/opencv4/opencv2/opencv.hpp \ + /usr/include/opencv4/opencv2/opencv_modules.hpp \ + /usr/include/opencv4/opencv2/core.hpp \ + /usr/include/opencv4/opencv2/core/cvdef.h \ + /usr/include/opencv4/opencv2/core/hal/interface.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_helper.h \ + /usr/include/opencv4/opencv2/core/fast_math.hpp \ + /usr/include/opencv4/opencv2/core/version.hpp \ + /usr/include/opencv4/opencv2/core/base.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.hpp \ + /usr/include/opencv4/opencv2/core/cvstd_wrapper.hpp \ + /usr/include/opencv4/opencv2/core/neon_utils.hpp \ + /usr/include/opencv4/opencv2/core/vsx_utils.hpp \ + /usr/include/opencv4/opencv2/core/check.hpp \ + /usr/include/opencv4/opencv2/core/traits.hpp \ + /usr/include/opencv4/opencv2/core/matx.hpp \ + /usr/include/opencv4/opencv2/core/saturate.hpp \ + /usr/include/opencv4/opencv2/core/types.hpp \ + /usr/include/opencv4/opencv2/core/mat.hpp \ + /usr/include/opencv4/opencv2/core/bufferpool.hpp \ + /usr/include/opencv4/opencv2/core/mat.inl.hpp \ + /usr/include/opencv4/opencv2/core/persistence.hpp \ + /usr/include/opencv4/opencv2/core/operations.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.inl.hpp \ + /usr/include/opencv4/opencv2/core/utility.hpp \ + /usr/include/opencv4/opencv2/core/optim.hpp \ + /usr/include/opencv4/opencv2/core/ovx.hpp \ + /usr/include/opencv4/opencv2/calib3d.hpp \ + /usr/include/opencv4/opencv2/features2d.hpp \ + /usr/include/opencv4/opencv2/flann/miniflann.hpp \ + /usr/include/opencv4/opencv2/flann/defines.h \ + /usr/include/opencv4/opencv2/flann/config.h \ + /usr/include/opencv4/opencv2/core/affine.hpp \ + /usr/include/opencv4/opencv2/dnn.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.hpp \ + /usr/include/opencv4/opencv2/core/async.hpp \ + /usr/include/opencv4/opencv2/dnn/version.hpp \ + /usr/include/opencv4/opencv2/dnn/dict.hpp \ + /usr/include/opencv4/opencv2/dnn/layer.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.inl.hpp \ + /usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp \ + /usr/include/opencv4/opencv2/flann.hpp \ + /usr/include/opencv4/opencv2/flann/flann_base.hpp \ + /usr/include/opencv4/opencv2/flann/general.h \ + /usr/include/opencv4/opencv2/flann/matrix.h \ + /usr/include/opencv4/opencv2/flann/params.h \ + /usr/include/opencv4/opencv2/flann/any.h \ + /usr/include/opencv4/opencv2/flann/saving.h \ + /usr/include/opencv4/opencv2/flann/nn_index.h \ + /usr/include/opencv4/opencv2/flann/result_set.h \ + /usr/include/opencv4/opencv2/flann/all_indices.h \ + /usr/include/opencv4/opencv2/flann/kdtree_index.h \ + /usr/include/opencv4/opencv2/flann/dynamic_bitset.h \ + /usr/include/opencv4/opencv2/flann/dist.h \ + /usr/include/opencv4/opencv2/flann/heap.h \ + /usr/include/opencv4/opencv2/flann/allocator.h \ + /usr/include/opencv4/opencv2/flann/random.h \ + /usr/include/opencv4/opencv2/flann/kdtree_single_index.h \ + /usr/include/opencv4/opencv2/flann/kmeans_index.h \ + /usr/include/opencv4/opencv2/flann/logger.h \ + /usr/include/opencv4/opencv2/flann/composite_index.h \ + /usr/include/opencv4/opencv2/flann/linear_index.h \ + /usr/include/opencv4/opencv2/flann/hierarchical_clustering_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_table.h \ + /usr/include/opencv4/opencv2/flann/autotuned_index.h \ + /usr/include/opencv4/opencv2/flann/ground_truth.h \ + /usr/include/opencv4/opencv2/flann/index_testing.h \ + /usr/include/opencv4/opencv2/flann/timer.h \ + /usr/include/opencv4/opencv2/flann/sampling.h \ + /usr/include/opencv4/opencv2/highgui.hpp \ + /usr/include/opencv4/opencv2/imgcodecs.hpp \ + /usr/include/opencv4/opencv2/videoio.hpp \ + /usr/include/opencv4/opencv2/imgproc.hpp \ + /usr/include/opencv4/opencv2/ml.hpp \ + /usr/include/opencv4/opencv2/ml/ml.inl.hpp \ + /usr/include/opencv4/opencv2/objdetect.hpp \ + /usr/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp \ + /usr/include/opencv4/opencv2/photo.hpp \ + /usr/include/opencv4/opencv2/stitching.hpp \ + /usr/include/opencv4/opencv2/stitching/warpers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \ + /usr/include/opencv4/opencv2/core/cuda.hpp \ + /usr/include/opencv4/opencv2/core/cuda_types.hpp \ + /usr/include/opencv4/opencv2/core/cuda.inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/camera.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/seam_finders.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/blenders.hpp \ + /usr/include/opencv4/opencv2/video.hpp \ + /usr/include/opencv4/opencv2/video/tracking.hpp \ + /usr/include/opencv4/opencv2/video/background_segm.hpp \ + thread.h \ + camera.h \ + /opt/MVS/include/MvCameraControl.h \ + /opt/MVS/include/MvErrorDefine.h \ + /opt/MVS/include/CameraParams.h \ + /opt/MVS/include/PixelType.h \ + correct.h \ + ui_initwidget.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o initwidget.o initwidget.cpp + +passwddialog.o: passwddialog.cpp passwddialog.h \ + ui_passwddialog.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o passwddialog.o passwddialog.cpp + +camera.o: camera.cpp camera.h \ + /opt/MVS/include/MvCameraControl.h \ + /opt/MVS/include/MvErrorDefine.h \ + /opt/MVS/include/CameraParams.h \ + /opt/MVS/include/PixelType.h \ + thread.h \ + /usr/include/opencv4/opencv2/opencv.hpp \ + /usr/include/opencv4/opencv2/opencv_modules.hpp \ + /usr/include/opencv4/opencv2/core.hpp \ + /usr/include/opencv4/opencv2/core/cvdef.h \ + /usr/include/opencv4/opencv2/core/hal/interface.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_helper.h \ + /usr/include/opencv4/opencv2/core/fast_math.hpp \ + /usr/include/opencv4/opencv2/core/version.hpp \ + /usr/include/opencv4/opencv2/core/base.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.hpp \ + /usr/include/opencv4/opencv2/core/cvstd_wrapper.hpp \ + /usr/include/opencv4/opencv2/core/neon_utils.hpp \ + /usr/include/opencv4/opencv2/core/vsx_utils.hpp \ + /usr/include/opencv4/opencv2/core/check.hpp \ + /usr/include/opencv4/opencv2/core/traits.hpp \ + /usr/include/opencv4/opencv2/core/matx.hpp \ + /usr/include/opencv4/opencv2/core/saturate.hpp \ + /usr/include/opencv4/opencv2/core/types.hpp \ + /usr/include/opencv4/opencv2/core/mat.hpp \ + /usr/include/opencv4/opencv2/core/bufferpool.hpp \ + /usr/include/opencv4/opencv2/core/mat.inl.hpp \ + /usr/include/opencv4/opencv2/core/persistence.hpp \ + /usr/include/opencv4/opencv2/core/operations.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.inl.hpp \ + /usr/include/opencv4/opencv2/core/utility.hpp \ + /usr/include/opencv4/opencv2/core/optim.hpp \ + /usr/include/opencv4/opencv2/core/ovx.hpp \ + /usr/include/opencv4/opencv2/calib3d.hpp \ + /usr/include/opencv4/opencv2/features2d.hpp \ + /usr/include/opencv4/opencv2/flann/miniflann.hpp \ + /usr/include/opencv4/opencv2/flann/defines.h \ + /usr/include/opencv4/opencv2/flann/config.h \ + /usr/include/opencv4/opencv2/core/affine.hpp \ + /usr/include/opencv4/opencv2/dnn.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.hpp \ + /usr/include/opencv4/opencv2/core/async.hpp \ + /usr/include/opencv4/opencv2/dnn/version.hpp \ + /usr/include/opencv4/opencv2/dnn/dict.hpp \ + /usr/include/opencv4/opencv2/dnn/layer.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.inl.hpp \ + /usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp \ + /usr/include/opencv4/opencv2/flann.hpp \ + /usr/include/opencv4/opencv2/flann/flann_base.hpp \ + /usr/include/opencv4/opencv2/flann/general.h \ + /usr/include/opencv4/opencv2/flann/matrix.h \ + /usr/include/opencv4/opencv2/flann/params.h \ + /usr/include/opencv4/opencv2/flann/any.h \ + /usr/include/opencv4/opencv2/flann/saving.h \ + /usr/include/opencv4/opencv2/flann/nn_index.h \ + /usr/include/opencv4/opencv2/flann/result_set.h \ + /usr/include/opencv4/opencv2/flann/all_indices.h \ + /usr/include/opencv4/opencv2/flann/kdtree_index.h \ + /usr/include/opencv4/opencv2/flann/dynamic_bitset.h \ + /usr/include/opencv4/opencv2/flann/dist.h \ + /usr/include/opencv4/opencv2/flann/heap.h \ + /usr/include/opencv4/opencv2/flann/allocator.h \ + /usr/include/opencv4/opencv2/flann/random.h \ + /usr/include/opencv4/opencv2/flann/kdtree_single_index.h \ + /usr/include/opencv4/opencv2/flann/kmeans_index.h \ + /usr/include/opencv4/opencv2/flann/logger.h \ + /usr/include/opencv4/opencv2/flann/composite_index.h \ + /usr/include/opencv4/opencv2/flann/linear_index.h \ + /usr/include/opencv4/opencv2/flann/hierarchical_clustering_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_table.h \ + /usr/include/opencv4/opencv2/flann/autotuned_index.h \ + /usr/include/opencv4/opencv2/flann/ground_truth.h \ + /usr/include/opencv4/opencv2/flann/index_testing.h \ + /usr/include/opencv4/opencv2/flann/timer.h \ + /usr/include/opencv4/opencv2/flann/sampling.h \ + /usr/include/opencv4/opencv2/highgui.hpp \ + /usr/include/opencv4/opencv2/imgcodecs.hpp \ + /usr/include/opencv4/opencv2/videoio.hpp \ + /usr/include/opencv4/opencv2/imgproc.hpp \ + /usr/include/opencv4/opencv2/ml.hpp \ + /usr/include/opencv4/opencv2/ml/ml.inl.hpp \ + /usr/include/opencv4/opencv2/objdetect.hpp \ + /usr/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp \ + /usr/include/opencv4/opencv2/photo.hpp \ + /usr/include/opencv4/opencv2/stitching.hpp \ + /usr/include/opencv4/opencv2/stitching/warpers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \ + /usr/include/opencv4/opencv2/core/cuda.hpp \ + /usr/include/opencv4/opencv2/core/cuda_types.hpp \ + /usr/include/opencv4/opencv2/core/cuda.inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/camera.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/seam_finders.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/blenders.hpp \ + /usr/include/opencv4/opencv2/video.hpp \ + /usr/include/opencv4/opencv2/video/tracking.hpp \ + /usr/include/opencv4/opencv2/video/background_segm.hpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o camera.o camera.cpp + +thread.o: thread.cpp camera.h \ + /opt/MVS/include/MvCameraControl.h \ + /opt/MVS/include/MvErrorDefine.h \ + /opt/MVS/include/CameraParams.h \ + /opt/MVS/include/PixelType.h \ + thread.h \ + /usr/include/opencv4/opencv2/opencv.hpp \ + /usr/include/opencv4/opencv2/opencv_modules.hpp \ + /usr/include/opencv4/opencv2/core.hpp \ + /usr/include/opencv4/opencv2/core/cvdef.h \ + /usr/include/opencv4/opencv2/core/hal/interface.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_helper.h \ + /usr/include/opencv4/opencv2/core/fast_math.hpp \ + /usr/include/opencv4/opencv2/core/version.hpp \ + /usr/include/opencv4/opencv2/core/base.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.hpp \ + /usr/include/opencv4/opencv2/core/cvstd_wrapper.hpp \ + /usr/include/opencv4/opencv2/core/neon_utils.hpp \ + /usr/include/opencv4/opencv2/core/vsx_utils.hpp \ + /usr/include/opencv4/opencv2/core/check.hpp \ + /usr/include/opencv4/opencv2/core/traits.hpp \ + /usr/include/opencv4/opencv2/core/matx.hpp \ + /usr/include/opencv4/opencv2/core/saturate.hpp \ + /usr/include/opencv4/opencv2/core/types.hpp \ + /usr/include/opencv4/opencv2/core/mat.hpp \ + /usr/include/opencv4/opencv2/core/bufferpool.hpp \ + /usr/include/opencv4/opencv2/core/mat.inl.hpp \ + /usr/include/opencv4/opencv2/core/persistence.hpp \ + /usr/include/opencv4/opencv2/core/operations.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.inl.hpp \ + /usr/include/opencv4/opencv2/core/utility.hpp \ + /usr/include/opencv4/opencv2/core/optim.hpp \ + /usr/include/opencv4/opencv2/core/ovx.hpp \ + /usr/include/opencv4/opencv2/calib3d.hpp \ + /usr/include/opencv4/opencv2/features2d.hpp \ + /usr/include/opencv4/opencv2/flann/miniflann.hpp \ + /usr/include/opencv4/opencv2/flann/defines.h \ + /usr/include/opencv4/opencv2/flann/config.h \ + /usr/include/opencv4/opencv2/core/affine.hpp \ + /usr/include/opencv4/opencv2/dnn.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.hpp \ + /usr/include/opencv4/opencv2/core/async.hpp \ + /usr/include/opencv4/opencv2/dnn/version.hpp \ + /usr/include/opencv4/opencv2/dnn/dict.hpp \ + /usr/include/opencv4/opencv2/dnn/layer.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.inl.hpp \ + /usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp \ + /usr/include/opencv4/opencv2/flann.hpp \ + /usr/include/opencv4/opencv2/flann/flann_base.hpp \ + /usr/include/opencv4/opencv2/flann/general.h \ + /usr/include/opencv4/opencv2/flann/matrix.h \ + /usr/include/opencv4/opencv2/flann/params.h \ + /usr/include/opencv4/opencv2/flann/any.h \ + /usr/include/opencv4/opencv2/flann/saving.h \ + /usr/include/opencv4/opencv2/flann/nn_index.h \ + /usr/include/opencv4/opencv2/flann/result_set.h \ + /usr/include/opencv4/opencv2/flann/all_indices.h \ + /usr/include/opencv4/opencv2/flann/kdtree_index.h \ + /usr/include/opencv4/opencv2/flann/dynamic_bitset.h \ + /usr/include/opencv4/opencv2/flann/dist.h \ + /usr/include/opencv4/opencv2/flann/heap.h \ + /usr/include/opencv4/opencv2/flann/allocator.h \ + /usr/include/opencv4/opencv2/flann/random.h \ + /usr/include/opencv4/opencv2/flann/kdtree_single_index.h \ + /usr/include/opencv4/opencv2/flann/kmeans_index.h \ + /usr/include/opencv4/opencv2/flann/logger.h \ + /usr/include/opencv4/opencv2/flann/composite_index.h \ + /usr/include/opencv4/opencv2/flann/linear_index.h \ + /usr/include/opencv4/opencv2/flann/hierarchical_clustering_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_table.h \ + /usr/include/opencv4/opencv2/flann/autotuned_index.h \ + /usr/include/opencv4/opencv2/flann/ground_truth.h \ + /usr/include/opencv4/opencv2/flann/index_testing.h \ + /usr/include/opencv4/opencv2/flann/timer.h \ + /usr/include/opencv4/opencv2/flann/sampling.h \ + /usr/include/opencv4/opencv2/highgui.hpp \ + /usr/include/opencv4/opencv2/imgcodecs.hpp \ + /usr/include/opencv4/opencv2/videoio.hpp \ + /usr/include/opencv4/opencv2/imgproc.hpp \ + /usr/include/opencv4/opencv2/ml.hpp \ + /usr/include/opencv4/opencv2/ml/ml.inl.hpp \ + /usr/include/opencv4/opencv2/objdetect.hpp \ + /usr/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp \ + /usr/include/opencv4/opencv2/photo.hpp \ + /usr/include/opencv4/opencv2/stitching.hpp \ + /usr/include/opencv4/opencv2/stitching/warpers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \ + /usr/include/opencv4/opencv2/core/cuda.hpp \ + /usr/include/opencv4/opencv2/core/cuda_types.hpp \ + /usr/include/opencv4/opencv2/core/cuda.inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/camera.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/seam_finders.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/blenders.hpp \ + /usr/include/opencv4/opencv2/video.hpp \ + /usr/include/opencv4/opencv2/video/tracking.hpp \ + /usr/include/opencv4/opencv2/video/background_segm.hpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o thread.o thread.cpp + +correct.o: correct.cpp correct.h \ + /usr/include/opencv4/opencv2/opencv.hpp \ + /usr/include/opencv4/opencv2/opencv_modules.hpp \ + /usr/include/opencv4/opencv2/core.hpp \ + /usr/include/opencv4/opencv2/core/cvdef.h \ + /usr/include/opencv4/opencv2/core/hal/interface.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h \ + /usr/include/opencv4/opencv2/core/cv_cpu_helper.h \ + /usr/include/opencv4/opencv2/core/fast_math.hpp \ + /usr/include/opencv4/opencv2/core/version.hpp \ + /usr/include/opencv4/opencv2/core/base.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.hpp \ + /usr/include/opencv4/opencv2/core/cvstd_wrapper.hpp \ + /usr/include/opencv4/opencv2/core/neon_utils.hpp \ + /usr/include/opencv4/opencv2/core/vsx_utils.hpp \ + /usr/include/opencv4/opencv2/core/check.hpp \ + /usr/include/opencv4/opencv2/core/traits.hpp \ + /usr/include/opencv4/opencv2/core/matx.hpp \ + /usr/include/opencv4/opencv2/core/saturate.hpp \ + /usr/include/opencv4/opencv2/core/types.hpp \ + /usr/include/opencv4/opencv2/core/mat.hpp \ + /usr/include/opencv4/opencv2/core/bufferpool.hpp \ + /usr/include/opencv4/opencv2/core/mat.inl.hpp \ + /usr/include/opencv4/opencv2/core/persistence.hpp \ + /usr/include/opencv4/opencv2/core/operations.hpp \ + /usr/include/opencv4/opencv2/core/cvstd.inl.hpp \ + /usr/include/opencv4/opencv2/core/utility.hpp \ + /usr/include/opencv4/opencv2/core/optim.hpp \ + /usr/include/opencv4/opencv2/core/ovx.hpp \ + /usr/include/opencv4/opencv2/calib3d.hpp \ + /usr/include/opencv4/opencv2/features2d.hpp \ + /usr/include/opencv4/opencv2/flann/miniflann.hpp \ + /usr/include/opencv4/opencv2/flann/defines.h \ + /usr/include/opencv4/opencv2/flann/config.h \ + /usr/include/opencv4/opencv2/core/affine.hpp \ + /usr/include/opencv4/opencv2/dnn.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.hpp \ + /usr/include/opencv4/opencv2/core/async.hpp \ + /usr/include/opencv4/opencv2/dnn/version.hpp \ + /usr/include/opencv4/opencv2/dnn/dict.hpp \ + /usr/include/opencv4/opencv2/dnn/layer.hpp \ + /usr/include/opencv4/opencv2/dnn/dnn.inl.hpp \ + /usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp \ + /usr/include/opencv4/opencv2/flann.hpp \ + /usr/include/opencv4/opencv2/flann/flann_base.hpp \ + /usr/include/opencv4/opencv2/flann/general.h \ + /usr/include/opencv4/opencv2/flann/matrix.h \ + /usr/include/opencv4/opencv2/flann/params.h \ + /usr/include/opencv4/opencv2/flann/any.h \ + /usr/include/opencv4/opencv2/flann/saving.h \ + /usr/include/opencv4/opencv2/flann/nn_index.h \ + /usr/include/opencv4/opencv2/flann/result_set.h \ + /usr/include/opencv4/opencv2/flann/all_indices.h \ + /usr/include/opencv4/opencv2/flann/kdtree_index.h \ + /usr/include/opencv4/opencv2/flann/dynamic_bitset.h \ + /usr/include/opencv4/opencv2/flann/dist.h \ + /usr/include/opencv4/opencv2/flann/heap.h \ + /usr/include/opencv4/opencv2/flann/allocator.h \ + /usr/include/opencv4/opencv2/flann/random.h \ + /usr/include/opencv4/opencv2/flann/kdtree_single_index.h \ + /usr/include/opencv4/opencv2/flann/kmeans_index.h \ + /usr/include/opencv4/opencv2/flann/logger.h \ + /usr/include/opencv4/opencv2/flann/composite_index.h \ + /usr/include/opencv4/opencv2/flann/linear_index.h \ + /usr/include/opencv4/opencv2/flann/hierarchical_clustering_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_index.h \ + /usr/include/opencv4/opencv2/flann/lsh_table.h \ + /usr/include/opencv4/opencv2/flann/autotuned_index.h \ + /usr/include/opencv4/opencv2/flann/ground_truth.h \ + /usr/include/opencv4/opencv2/flann/index_testing.h \ + /usr/include/opencv4/opencv2/flann/timer.h \ + /usr/include/opencv4/opencv2/flann/sampling.h \ + /usr/include/opencv4/opencv2/highgui.hpp \ + /usr/include/opencv4/opencv2/imgcodecs.hpp \ + /usr/include/opencv4/opencv2/videoio.hpp \ + /usr/include/opencv4/opencv2/imgproc.hpp \ + /usr/include/opencv4/opencv2/ml.hpp \ + /usr/include/opencv4/opencv2/ml/ml.inl.hpp \ + /usr/include/opencv4/opencv2/objdetect.hpp \ + /usr/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp \ + /usr/include/opencv4/opencv2/photo.hpp \ + /usr/include/opencv4/opencv2/stitching.hpp \ + /usr/include/opencv4/opencv2/stitching/warpers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \ + /usr/include/opencv4/opencv2/core/cuda.hpp \ + /usr/include/opencv4/opencv2/core/cuda_types.hpp \ + /usr/include/opencv4/opencv2/core/cuda.inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/util_inl.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/camera.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/seam_finders.hpp \ + /usr/include/opencv4/opencv2/stitching/detail/blenders.hpp \ + /usr/include/opencv4/opencv2/video.hpp \ + /usr/include/opencv4/opencv2/video/tracking.hpp \ + /usr/include/opencv4/opencv2/video/background_segm.hpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o correct.o correct.cpp + +modifypasswdialog.o: modifypasswdialog.cpp modifypasswdialog.h \ + ui_modifypasswdialog.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o modifypasswdialog.o modifypasswdialog.cpp + +moc_widget.o: moc_widget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_widget.o moc_widget.cpp + +moc_initwidget.o: moc_initwidget.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_initwidget.o moc_initwidget.cpp + +moc_passwddialog.o: moc_passwddialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_passwddialog.o moc_passwddialog.cpp + +moc_thread.o: moc_thread.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_thread.o moc_thread.cpp + +moc_modifypasswdialog.o: moc_modifypasswdialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_modifypasswdialog.o moc_modifypasswdialog.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/camera.cpp b/camera.cpp new file mode 100644 index 0000000..a099824 --- /dev/null +++ b/camera.cpp @@ -0,0 +1,467 @@ +#include "camera.h" +#include +#include "thread.h" + +void __stdcall onImageDataCallBackFunc(unsigned char * pData, MV_FRAME_OUT_INFO_EX* pFrameInfo, void* pUser); +void __stdcall onOfflineCallBackFunc(unsigned int nMsgType, void* pUser); + +Camera::Camera() +{ + camera_handle = NULL; + + memset(&camera_param, 0, sizeof(camera_param)); + camera_param.exposure_time = 10000.00; + camera_param.white_balance_ratio = 1000; + camera_param.gain = 1.0; + memset(&device_list, 0, sizeof(device_list)); +} + +uint32_t Camera::enum_device() +{ + int ret = MV_CC_EnumDevices(MV_GIGE_DEVICE | MV_USB_DEVICE, &device_list); + if(ret != MV_OK) + { + return -1; + } + + return device_list.nDeviceNum; +} + + +bool Camera::print_device_info() +{ + for(int i =0; i < device_list.nDeviceNum; i++) + { + MV_CC_DEVICE_INFO* device_info = device_list.pDeviceInfo[i]; + if(device_info == NULL) + { + qDebug()<<"device info:"<nTLayerType == MV_GIGE_DEVICE) + { + int nIp1 = ((device_info->SpecialInfo.stGigEInfo.nCurrentIp & 0xff000000) >> 24); + int nIp2 = ((device_info->SpecialInfo.stGigEInfo.nCurrentIp & 0x00ff0000) >> 16); + int nIp3 = ((device_info->SpecialInfo.stGigEInfo.nCurrentIp & 0x0000ff00) >> 8); + int nIp4 = (device_info->SpecialInfo.stGigEInfo.nCurrentIp & 0x000000ff); + + qDebug()<<"Device index" << i; + qDebug()<<"Device Model Name: " << device_info->SpecialInfo.stGigEInfo.chModelName; + qDebug()<<"CurrentIp: " << nIp1 << "." << nIp2 << "." << nIp3 << "." << nIp4; + qDebug()<<"UserDefinedName: " << device_info->SpecialInfo.stGigEInfo.chUserDefinedName; + + } + else if (device_info->nTLayerType == MV_USB_DEVICE) + { + qDebug()<<"Device Model Name:" << device_info->SpecialInfo.stUsb3VInfo.chModelName; + qDebug()<<"UserDefinedName: " << device_info->SpecialInfo.stUsb3VInfo.chUserDefinedName; + } + else + { + qDebug()<<"Not support"; + } + } + + return true; +} + +bool Camera::select_device(int device_index) +{ + int ret = MV_CC_CreateHandle(&camera_handle, device_list.pDeviceInfo[device_index]); + if(ret != MV_OK) + { + return false; + } + + return true; +} + + +bool Camera::open_camera() +{ + int ret = MV_CC_OpenDevice(camera_handle); + if(ret != MV_OK) + { + return false; + } + + return true; +} + + +bool Camera::register_image_callback(imageCallbackFunc onImageDataCallBackFunc) +{ + int ret = MV_CC_RegisterImageCallBackForBGR(camera_handle, onImageDataCallBackFunc, NULL); + if (MV_OK != ret) + { + return false; + } + return true; +} + +bool Camera::register_offline_callback(exceptionCallbackFunc onOfflineCallBackFunc) +{ + int nRet = MV_CC_RegisterExceptionCallBack(camera_handle, onOfflineCallBackFunc, NULL); + if (MV_OK != nRet) + { + return false; + } + return true; +} + +bool Camera::start_capture() +{ + int ret = MV_CC_StartGrabbing(camera_handle); + if (MV_OK != ret) + { + return false; + } + return true; +} + +bool Camera::stop_capture() +{ + int ret = MV_CC_StopGrabbing(camera_handle); + if (MV_OK != ret) + { + return false; + } + return true; +} + + +bool Camera::set_acquisition_mode() +{ + int ret = MV_CC_SetEnumValue(camera_handle, "TriggerMode", 1); + if(MV_OK != ret) + { + return false; + } + + ret = MV_CC_SetEnumValue(camera_handle, "TriggerSource", 2); + if(MV_OK != ret) + { + return false; + } + + ret = MV_CC_SetEnumValue(camera_handle, "TriggerActivation", 1); + if(MV_OK != ret) + { + return false; + } + + ret = MV_CC_SetEnumValue(camera_handle, "AcquisitionMode", 2); + if(MV_OK != ret) + { + return false; + } + + return true; +} + + +bool Camera::set_test_acquisition_mode() +{ + int ret = MV_CC_SetEnumValue(camera_handle, "TriggerMode", 0); + if(MV_OK != ret) + { + return false; + } + + ret = MV_CC_SetEnumValue(camera_handle, "AcquisitionMode", 2); + if(MV_OK != ret) + { + return false; + } + + return true; +} + + +bool Camera::set_ROI(int offset_x, int offset_y, int width, int height) +{ + roi_offset_x = offset_x; + roi_offset_y = offset_y; + roi_width = width; + roi_height = height; + + int ret = MV_CC_SetIntValue(camera_handle, "OffsetX", 0); + if(MV_OK != ret) + { + return false; + } + + ret = MV_CC_SetIntValue(camera_handle, "OffsetY", 0); + if(MV_OK != ret) + { + return false; + } + + + ret = MV_CC_SetIntValue(camera_handle, "Width", roi_width); + if(MV_OK != ret) + { + return false; + } + + ret = MV_CC_SetIntValue(camera_handle, "Height", roi_height); + if(MV_OK != ret) + { + return false; + } + + ret = MV_CC_SetIntValue(camera_handle, "OffsetX", roi_offset_x); + if(MV_OK != ret) + { + return false; + } + + ret = MV_CC_SetIntValue(camera_handle, "OffsetY", roi_offset_y); + if(MV_OK != ret) + { + return false; + } + + return true; +} + + + + + +bool Camera::close_camera() +{ + int ret = MV_CC_CloseDevice(camera_handle); + if (MV_OK != ret) + { + return false; + } + + return true; +} + +bool Camera::destroy_handle() +{ + int ret = MV_CC_DestroyHandle(camera_handle); + if (MV_OK != ret) + { + return false; + } + + return true; +} + + +bool Camera::import_config_file() +{ + int ret = MV_CC_FeatureLoad(camera_handle, CAMERA_CONFIG_PATH); + if(ret != MV_OK) + { + return false; + } + return true; +} + + +bool Camera::save_config_file() +{ + int ret = MV_CC_FeatureSave(camera_handle, CAMERA_CONFIG_PATH); + if(ret != MV_OK) + { + return false; + } + return true; +} + + +bool Camera::set_param(Camera_param param_struct) +{ + camera_param = param_struct; + int ret = MV_CC_SetIntValue(camera_handle, "BalanceRatio", camera_param.white_balance_ratio); + if (ret != MV_OK) + { + qDebug()<<"white balance ration set failed"; + return false; + } + + ret = MV_CC_SetFloatValue(camera_handle, "ExposureTime", camera_param.exposure_time); + if(ret != MV_OK) + { + qDebug()<<"exposure time set failed"; + return false; + } + + ret = MV_CC_SetFloatValue(camera_handle, "Gain", camera_param.gain); + if(ret != MV_OK) + { + qDebug()<<"gain set failed"; + return false; + } + + return true; +} + + +Camera_param Camera::get_param() +{ + MVCC_INTVALUE BalanceRatio = {0}; + int ret = MV_CC_GetIntValue(camera_handle, "BalanceRatio", &BalanceRatio); + if (ret == MV_OK) + { + camera_param.white_balance_ratio = BalanceRatio.nCurValue; + } + else + { + qDebug()<<"get white balance ratio failed"; + } + + + MVCC_FLOATVALUE ExposureTime = {0}; + ret = MV_CC_GetFloatValue(camera_handle, "ExposureTime", &ExposureTime); + if(ret == MV_OK) + { + camera_param.exposure_time = ExposureTime.fCurValue; + } + else + { + qDebug()<<"get exposure time failed"; + } + + MVCC_FLOATVALUE Gain = {0}; + ret = MV_CC_GetFloatValue(camera_handle, "Gain", &Gain); + if(ret == MV_OK) + { + camera_param.gain = Gain.fCurValue; + } + else + { + qDebug()<<"get gain failed"; + } + +#if 1 + qDebug()<< camera_param.white_balance_ratio; + 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 literal 0 HcmV?d00001 diff --git a/candy.pro b/candy.pro new file mode 100644 index 0000000..34c6949 --- /dev/null +++ b/candy.pro @@ -0,0 +1,69 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2021-04-27T04:47:05 +# +#------------------------------------------------- + +QT += core gui network + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +TARGET = candy +TEMPLATE = app + +# The following define makes your compiler emit warnings if you use +# any feature of Qt which has been marked as deprecated (the exact warnings +# depend on your compiler). Please consult the documentation of the +# deprecated API in order to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if you use deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + + +SOURCES += \ + main.cpp \ + widget.cpp \ + initwidget.cpp \ + passwddialog.cpp \ + camera.cpp \ + thread.cpp \ + correct.cpp \ + modifypasswdialog.cpp + +HEADERS += \ + widget.h \ + initwidget.h \ + passwddialog.h \ + camera.h \ + thread.h \ + correct.h \ + modifypasswdialog.h + +FORMS += \ + widget.ui \ + initwidget.ui \ + passwddialog.ui \ + modifypasswdialog.ui + + +# camera SDK +LIBS +=-L/opt/MVS/lib/aarch64/ -lMvCameraControl + +INCLUDEPATH += /opt/MVS/include +DEPENDPATH += /opt/MVS/include + +LIBS += -L/usr/lib/aarch64-linux-gnu/ -lopencv_core +LIBS += -L/usr/lib/aarch64-linux-gnu/ -lopencv_highgui +LIBS += -L/usr/lib/aarch64-linux-gnu/ -lopencv_imgcodecs +LIBS += -L/usr/lib/aarch64-linux-gnu/ -lopencv_imgproc +LIBS += -L/usr/lib/aarch64-linux-gnu/ -lopencv_videoio +LIBS += -L/usr/lib/aarch64-linux-gnu/ -lopencv_video + +INCLUDEPATH += $$/usr/include/opencv4 +DEPENDPATH += $$/usr/include/opencv4 + + + diff --git a/candy.pro.user b/candy.pro.user new file mode 100644 index 0000000..f0ea7a8 --- /dev/null +++ b/candy.pro.user @@ -0,0 +1,216 @@ + + + + + + EnvironmentId + {f40858e6-f94a-4d17-9db8-96ef47726f77} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop + Desktop + {8fde18c1-a446-458e-9f45-046b48cb1bad} + 0 + 0 + 0 + + /home/nvidia/CandyProject/candy + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + 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 + + 1 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy locally + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + false + false + 1000 + + true + + 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 + + candy + + Qt4ProjectManager.Qt4RunConfiguration:/home/nvidia/CandyProject/candy/candy.pro + true + + candy.pro + false + + /home/nvidia/CandyProject/candy + 3768 + false + true + false + false + true + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 18 + + + Version + 18 + + diff --git a/ccc.mfs b/ccc.mfs new file mode 100644 index 0000000..3f68df2 --- /dev/null +++ b/ccc.mfs @@ -0,0 +1,253 @@ +# {05D8C294-F295-4dfb-9D01-096BD04049F4} +# GenApi persistence file (version 3.0.0) +# Device = HIKROBOT::HIKCamera -- HIKROBOT GigE Vision Camera Interface -- Device version = 1.2.0 -- Product GUID = EE4B7E09-DA29-4956-A1EC-212263331CFC -- Product version GUID = 79ace398-62e3-44a6-8845-f81aaf104382 +DeviceLinkSelector 0 +DeviceLinkHeartbeatMode On +DeviceLinkSelector 0 +DeviceStreamChannelSelector 0 +DeviceStreamChannelPacketSize 1500 +DeviceStreamChannelSelector 0 +RegionSelector Region0 +RegionDestination Stream0 +RegionSelector Region0 +RegionSelector Region0 +Width 2376 +RegionSelector Region0 +RegionSelector Region0 +Height 584 +RegionSelector Region0 +RegionSelector Region0 +OffsetX 72 +RegionSelector Region0 +RegionSelector Region0 +OffsetY 700 +RegionSelector Region0 +ReverseX 0 +ReverseY 0 +PixelFormat BayerRG8 +TestPatternGeneratorSelector Region0 +TestPatternGeneratorSelector Region0 +TestPattern Off +TestPatternGeneratorSelector Region0 +BinningSelector Region0 +BinningSelector Region0 +BinningHorizontal BinningHorizontal1 +BinningSelector Region0 +BinningSelector Region0 +BinningVertical BinningVertical1 +BinningSelector Region0 +DecimationHorizontal DecimationHorizontal1 +DecimationVertical DecimationVertical1 +FrameSpecInfoSelector Timestamp +FrameSpecInfoSelector Timestamp +FrameSpecInfo 0 +FrameSpecInfoSelector Gain +FrameSpecInfo 0 +FrameSpecInfoSelector Exposure +FrameSpecInfo 0 +FrameSpecInfoSelector BrightnessInfo +FrameSpecInfo 0 +FrameSpecInfoSelector WhiteBalance +FrameSpecInfo 0 +FrameSpecInfoSelector Framecounter +FrameSpecInfo 0 +FrameSpecInfoSelector ExtTriggerCount +FrameSpecInfo 0 +FrameSpecInfoSelector LineInputOutput +FrameSpecInfo 0 +FrameSpecInfoSelector ROIPosition +FrameSpecInfo 0 +FrameSpecInfoSelector Timestamp +AcquisitionMode Continuous +AcquisitionBurstFrameCount 1 +AcquisitionFrameRate 11.57 +AcquisitionFrameRateEnable 1 +TriggerSelector FrameBurstStart +TriggerSelector FrameBurstStart +TriggerMode On +TriggerSelector FrameBurstStart +TriggerSelector FrameBurstStart +TriggerSource Line2 +TriggerSelector FrameBurstStart +TriggerSelector FrameBurstStart +TriggerActivation FallingEdge +TriggerSelector FrameBurstStart +TriggerSelector FrameBurstStart +TriggerDelay 0 +TriggerSelector FrameBurstStart +TriggerCacheEnable 0 +ExposureMode Timed +ExposureTimeMode Standard +ExposureTime 1800 +ExposureAuto Off +AutoExposureTimeLowerLimit 15 +AutoExposureTimeUpperLimit 85930 +HDREnable 0 +HDRSelector 0 +HDRSelector 0 +HDRShutter 15 +HDRSelector 1 +HDRShutter 15 +HDRSelector 2 +HDRShutter 15 +HDRSelector 3 +HDRShutter 15 +HDRSelector 0 +HDRSelector 0 +HDRGain 0 +HDRSelector 1 +HDRGain 0 +HDRSelector 2 +HDRGain 0 +HDRSelector 3 +HDRGain 0 +HDRSelector 0 +LineSelector Line0 +LineSelector Line1 +LineMode Strobe +LineSelector Line0 +LineSelector Line1 +LineInverter 0 +LineSelector Line0 +LineSelector Line1 +LineSource ExposureStartActive +LineSelector Line0 +LineSelector Line1 +StrobeEnable 0 +LineSelector Line0 +LineSelector Line0 +LineDebouncerTime 100 +LineSelector Line2 +LineDebouncerTime 50 +LineSelector Line0 +LineSelector Line1 +StrobeLineDuration 0 +LineSelector Line0 +LineSelector Line1 +StrobeLineDelay 0 +LineSelector Line0 +LineSelector Line1 +StrobeLinePreDelay 0 +LineSelector Line0 +ActionDeviceKey 0 +ActionSelector 0 +ActionSelector 0 +ActionGroupMask 0 +ActionSelector 0 +ActionSelector 0 +ActionGroupKey 0 +ActionSelector 0 +CounterSelector Counter0 +CounterSelector Counter0 +CounterEventSource Off +CounterSelector Counter0 +CounterSelector Counter0 +CounterResetSource Off +CounterSelector Counter0 +CounterSelector Counter0 +CounterValue 1 +CounterSelector Counter0 +FileSelector UserSet1 +FileSelector UserSet1 +FileOperationSelector Open +FileSelector UserSet2 +FileOperationSelector Open +FileSelector UserSet3 +FileOperationSelector Open +FileSelector DPC +FileOperationSelector Open +FileSelector UserSet1 +FileSelector UserSet1 +FileOpenMode Read +FileSelector UserSet2 +FileOpenMode Read +FileSelector UserSet3 +FileOpenMode Read +FileSelector DPC +FileOpenMode Read +FileSelector UserSet1 +EventSelector AcquisitionStart +EventSelector AcquisitionStart +EventNotification Off +EventSelector AcquisitionEnd +EventNotification Off +EventSelector FrameStart +EventNotification Off +EventSelector FrameEnd +EventNotification Off +EventSelector FrameBurstStart +EventNotification Off +EventSelector FrameBurstEnd +EventNotification Off +EventSelector ExposureStart +EventNotification Off +EventSelector ExposureEnd +EventNotification Off +EventSelector Line0RisingEdge +EventNotification Off +EventSelector Line0FallingEdge +EventNotification Off +EventSelector FrameStartOverTrigger +EventNotification Off +EventSelector AcquisitionStart +ChunkModeActive 0 +ColorTransformationSelector RGBtoRGB +ColorTransformationEnable 1 +ColorTransformationValueSelector Gain00 +Gain 8.0057 +GainAuto Off +AutoGainLowerLimit 0 +AutoGainUpperLimit 16.9807 +DigitalShiftEnable 0 +BlackLevel 240 +BlackLevelEnable 1 +BalanceWhiteAuto Off +BalanceRatioSelector Red +BalanceRatioSelector Red +BalanceRatio 1458 +BalanceRatioSelector Green +BalanceRatio 1024 +BalanceRatioSelector Blue +BalanceRatio 1957 +BalanceRatioSelector Red +AutoFunctionAOISelector AOI1 +AutoFunctionAOISelector AOI1 +AutoFunctionAOIWidth 2448 +AutoFunctionAOISelector AOI2 +AutoFunctionAOIWidth 2448 +AutoFunctionAOISelector AOI1 +AutoFunctionAOISelector AOI1 +AutoFunctionAOIHeight 2048 +AutoFunctionAOISelector AOI2 +AutoFunctionAOIHeight 2048 +AutoFunctionAOISelector AOI1 +AutoFunctionAOISelector AOI1 +AutoFunctionAOIOffsetX 0 +AutoFunctionAOISelector AOI2 +AutoFunctionAOIOffsetX 0 +AutoFunctionAOISelector AOI1 +AutoFunctionAOISelector AOI1 +AutoFunctionAOIOffsetY 0 +AutoFunctionAOISelector AOI2 +AutoFunctionAOIOffsetY 0 +AutoFunctionAOISelector AOI1 +AutoFunctionAOISelector AOI1 +AutoFunctionAOIUsageIntensity 0 +AutoFunctionAOISelector AOI1 +AutoFunctionAOISelector AOI2 +AutoFunctionAOIUsageWhiteBalance 0 +AutoFunctionAOISelector AOI1 +UserSetSelector Default +UserSetDefault Default +GevHeartbeatTimeout 3000 +GevGVCPHeartbeatDisable 0 +GevMCTT 0 +GevMCRC 0 +GevStreamChannelSelector 0 +GevSCPSPacketSize 1500 +GevStreamChannelSelector 0 +GevStreamChannelSelector 0 +GevSCPD 400 +GevStreamChannelSelector 0 +GevIEEE1588 0 +GevGVSPExtendedIDMode Off diff --git a/correct.cpp b/correct.cpp new file mode 100644 index 0000000..233deed --- /dev/null +++ b/correct.cpp @@ -0,0 +1,50 @@ +#include "correct.h" + +Correct::Correct() +{ + is_corrected = false; + correction_ratio_r = 1; + correction_ratio_g = 1; + correction_ratio_b = 1; +} + +void Correct::get_rgb(cv::Mat img) +{ + int b_temp = 0; + int g_temp = 0; + int r_temp = 0; + for(int i=0; i<=img.rows; i++) + { + for(int j=0; j<=img.cols; j++) + { + b_temp += (int)img.at(i, j)[0]; + g_temp += (int)img.at(i, j)[1]; + r_temp += (int)img.at(i, j)[2]; + } + } + b = b_temp / (img.cols * img.rows); + g = g_temp / (img.cols * img.rows); + r = r_temp / (img.cols * img.rows); +} + +void Correct::cal_correction_ratio() +{ + correction_ratio_b = b / b_base; + correction_ratio_g = g / g_base; + correction_ratio_r = r / r_base; + qDebug()<<"correction ratio"<(j, i)[0] * correction_ratio_b) > 255) ? img.at(j, i)[0] = 255 :img.at(j, i)[0] *= correction_ratio_b; + ((img.at(j, i)[1] * correction_ratio_g) > 255) ? img.at(j, i)[1] = 255 :img.at(j, i)[1] *= correction_ratio_g; + ((img.at(j, i)[2] * correction_ratio_r) > 255) ? img.at(j, i)[2] = 255 :img.at(j, i)[2] *= correction_ratio_r; + } + } +} diff --git a/correct.h b/correct.h new file mode 100644 index 0000000..43b5cca --- /dev/null +++ b/correct.h @@ -0,0 +1,27 @@ +#ifndef CORRECT_H +#define CORRECT_H + +#include "opencv2/opencv.hpp" +#include + +class Correct +{ +private: + float correction_ratio; + float r; + float g; + float b; + float correction_ratio_r; + float correction_ratio_g; + float correction_ratio_b; + int b_base = 125.0f; + int g_base = 125.0f; + int r_base = 125.0f; +public: + Correct(); + bool is_corrected; + void get_rgb(cv::Mat img); + void cal_correction_ratio(); + void correct_img(cv::Mat img); +}; +#endif // CORRECT_H diff --git a/correct.o b/correct.o new file mode 100644 index 0000000000000000000000000000000000000000..081ed4571e759a67251db38b4f0470a7bc27546d GIT binary patch literal 97552 zcmeI53wTu3)%Q;_0V1HHqT&q$qDDoUAV_Fw9c~&FF&L~^v6B!2iH0O50fTsn6)p8v zsGwMH;1#S^tf-)%QK{mcDq3p2#7isQTB_(9ES7Jrz1Kdo=Ip&P=S=ALeBblD=Mncg zzxl7rUVEQ2XC^ayE*(4m#O$oBm`7Wd_n4Pu4p`f3_au!g9`{?LwEw349ngMH`~QJ< zC+*`z!AT7NdD-y4813gk+lBVKLfeh@bD`ah_78^k5Zdnx?V+@v2W>yv?+@)^v_Ama z!)gBrXpf}*d}xoN{iC5hhV}^j#P&*dd6KVe>YKx&ANBbvJdkVGVsXdk23DllOZ3(p#sXd+A zQfMd9{u$8zl=jbrb~5ds1?|sh|7>Wd(Ed5l{+#v`(3a7DIkZ!0zXIB6v|mZ>bZBSL zeigOV(4I^C=TTb&?M&LQrM3>*dfGpq+6HJFX}^iuSbW?+DmD_h1$!Y{RQn`PVGEsub}-asr@Ci^J)KA)LsSc)wF*Nwbw#>9qs>`+6B-q zr2XGedp)#^Xn!%aH$ZzM?JuGBCTM?4`!`d23$(Y={%zFW4((FfUk2?Rw0|eGchUac z(B4D)_d>gz_E$iAAMO7R+WTq$0cd|u`wv39lJ*~h_7AlG2(*vV{$tRthJUzyKX>hl z6W|gvCO7`w_c3qbwmrS=y*+QixBGkBzl~+xcUg9P`(a*u`<;h++hbnK>ks$vwm-6u zx4mB%Z&InZ-%Af4+Ws;AhzFqAIA2%4>|hZvUBJDU+>tt>N{wW!M_FYZz1ky zZ@u^RWqY=~{?S3Z{o#&1TfbTc|6;jWE3$fd+Yepp4aYc#=EdIZKV;-l6E52Qp#ELj zhkX&-{pe8_#jigl$6MGP;$PFH=haYy)4RaG9QcR&nc3~bju;T%-aj|K{W<9SNj<%V zCtlq3<`=x4SC8_#UVT(nx2sWC?8S$Vg2zs3OB9{BHBmIr%k6Qu*R971S=pagcwKvB z?c6!(4jMSj^YU@%GG) z=k?8kf5`ALzaKs0YZ9J!{wrO*Nhjxc6OYP`uR;GG)-6B1EA(ZgcVyp_yL7)g*K64u z^Mh;R`MblI9uED0zP)}V^a=S#(5LJ^@pYH?iQRlhRYg%8a`1Bd_s#Z(_x1An^&Pcw z{(*N?9ai)q>Uzi5{i09y&3Aa&SC7t#5665_8zXH6Xh-LG!-BEDt}-Rvc;=+gHswJ-=WM!(7bTk(l2v2X5tdWY522 z=gy)1zy=?`?2_0~TR?x=FTCM!yzsIsz2R9<^Hp#@q3;jiv9?%mapPyA@ly^@ zXUI`|2b?c$vF!Usw#0|Sxiz%xz&PHXrSOqC!1uE`+}RE-+gtOc;3o@wWMzZzkM#NR z7Sv+dk@4-V?0o#XbmWR}&K|Ym`?-Hq=V4Zk>eC{${{YT0bNo-XkB|L5aQqIPk2pT* z`e^cLqw^YV{*C@%EOFn|$~>;l11Q3-YNvYMsyr{gChmD_&?oF~hyCrwfAAQubNHBP zTVVc>7Op)|Pdraqe&l~R_*B=Npuga;@oU<=aQ@eUe|0Sg`U@T#zoreD|9`tae$9jV z29HhNruDKqu0Pu2m?T@S_ZFJ*NK7hwYd9ka( ze$h8@KYM*P%qey5J!_svU&nh1GX~~4ZRgIco(Jc6-iVw@UKO;seLpuDU&qb5Pv@cQ zAA|Upb&s!rH?C9;{o&pV%oaUNF){x4bHl|Qk~7{bqqtaysW3OQ;2s8Qf%njA98BG@ z=98d)|BafPew+Ec59H98t?O@U2ATzs(1OLlagKYCi@7g@aae%!qOGTQyxA}7k=$?F zExBKoo7`{fn%pnzlH6~LCHKp+llx0O?|5~O#AQB6W`o z*S-^Syz`gAwK5xCQ)QLGYZtf%x8mD9@LH@5Y@l;m3y-(O_CMM`)~_Y}*8t11ydl`n zN8cZ{qV(T8SK)YKUr=xI<+=X}9>*N;@vmSX^Td6;M&WCEm0uu6IeVRfKJm3RkH;ePgSos5$2)I6Agkx{telouY*SY6_1RtE?Zb<`i$MbKEAGtdhu4zkoGmeL zZB`DPLmRSk?vHsb*-NwF;GNh2rJGRNG%S&*Xl^bnEF3(wys^3>(b&{bT{~l3MQKxE zVMSGWL!zmnyt=7zT*cVZa`@lavC1&;zX`)CW>2pvudOW{rkX@~&5XK+>ZYohi6)nU zuOD2X^%a%1O_dFeiR#+wCbvl-V&@M1_`}L;=Ty(EuPGb~y{}BbQKG)Crn+K|D{IfQ z>;@M$&8e@PmIzpnn^2k%y5=q*b;t5wIAm(|43<`gjxE0(54wHu5E&r~(GjMGA zmGh21kvr&=71z<9T^djtf4RQ}iQ$zq>zn4_?POhex|h@3H|wCDhkD5R5T}>>iVbwIxPwh{ zuqp?;$id)EakcTdcRAQ<2gA>W;Kps+6oJptuyz~m_hc+LOCNA{FtJ>wD{wIUOaN|N zH`(D2|6Yz8&##3T&kx=+Q5(+%|Hg|OXKRV^xEmepV+U(@`0EL8hTz8Y%Ol3~8$yid zQtV(;i1GaD9c-S1Ephm}pBT@tl^D-&lf!n4gY6*3^Xmm~l;OtN00%1~#%nO17|*Ya z7|*ZCVLRW!ZXw2VS?OTw9c;71-xtJqerB+FjNT;REZ@OK5aTr{apO5ZMu-)Kb?>N|2Vm#-ZF4{Sd(T5nX!9WL#JJ=**CdL48Uq!44Lyg=c@7A2# zVxx9HWaRbPi?YVO_wE~;;JS;t1*99|&=oV?>X826eJQo2^OxII>+-F*V<9Re2OH*B z5K=dpbOp@c$lVVab$#|pDgIhQ>XwJl;W@UEbbQ=CcCdB_>)8#HO+EMX9Bhb#6+74z z2dfV-tm!;r#TcCC2GmN;jR|bb?&7Hct?82Vwg7@4jX=x-6(4nSMjkS!;+UJ=dK68o4K#@$FP2cO%h zziKW)?xPoH&tSQq(A;K$8rhz@gRqwA9ONman~EVWS@bq-ZHhvaIOtq!Q0F` zU5~}QdtKOzc`F2tZ>if`OnovtmG7<&f0qjBD5gHSo%)d0-=7M7{R0-)dYhv#=HVy5 zQ#Y-*IjUmbgQ;RT(t4X~{YpV^bFF_!(A!+={~+jXuJsQKdYfzgDnV~^t$#$&+g$4( z74$aO`o{#l&9#2Dptrf!uMzY%*ZRi=z0I}$2|;gjt;dg*rEYq@*&J0d55FCdx@o=5 zQ5Ex^N)^MA*4td`TLrz%wf<>AZ*#4GM$p?_>z@_$HrM*~g5Ks@|D2$=xz;}~=xwg` z8w9=0wf+S`Z*#4GQPA65>t7P|HrM)>1-;F+{uM!QbFF_((A!+=Hwt>2YyF=Dz0I}$ zbwO`)t$#z%+g$5633{7r{hNZ`=31{l0-0i?&v%<^{pJ)c9%#MIwf--H-sW2WwxGAU z*8f$|+g$7Mn?$Lb&fn&!ih1v*is4A>ZLan233{7r{riI6=34)Optrf!e<(#566dOHWHrM)3Q?z)X^)}b~&jh{Awf+l1Z*#5x zQqbF6>+xG@shiH<=BSE!|4bFbk=EN>>$eJen``}7g5Ks@|FxjExz=wJ^fuS}Zv?%~ zwf4YyBRA-sW20OVHa~ z>-QG)HrM*zg5Ks@zn`GDxz_g)^fuRe{1$ZTrt4{Qtv7!OO4?|>&9%O-;NRw2pC{;T zuJ!!|z0I|LfS|Xz)*m70ZLanCg5Ks@f3%>txz-O9^b)@p%~G~raFos7FXGR{F>jFI z-{$BvroLUA;$9uZyh6c`&9xu+1ioX7c|$C&=bO#7pW_9+&9%Nr(A)e{Fv#|jT)nSI zImf&oT7GU*kJ((u9bxHpzih7cKe6=Mzsskx=2|~W(A!+=#|V0xYdwB@ zJayCg*j(%J8|JB-*4td`iv_*Swf&FXvn`=FOOFnhe{k6H)PZ0Dr z*LwWced?zD+g$6-JL5?kt+%<>PZa#yT#r2_HrIMw#Uypp^|ZOx|4Pu?T!AJEbho4KU3h71%8&me50~^8|i{z^@eeF9kkd;J*_1RRX_S;MWNJT7h3D z@Lvmjfxs6E{5Jx>Uf_!azF6Ql2>eEYFA?}n0{^YRZx;A10>4$@w+Z}qfiD&KGJ)SA z@H+*5m%#59_&pYXGTZa|v+vjBkm7#?UJyh5{k|WgPYC=v#UHTrPY4`Vn*#s8xAgl$ zAQvB{_=A?dPT;pFzS7daEAYNuFz!Q^eyYIlQTz{<{tbb9UD5x;mj34gU#s{kOOM}| z?5}<)LO;}t6vMkAf7I9aq`mVMf6U^`6<_W1T-tkI@ii9T9|Zlq$1Pr>_!B-iajyVw za`PXA9azX3{H*g442RmDSNutz8{6F7Q2&(AjsLjftrovP@uz(bZq@dC#h z;)iy}xa)mx;!Xl?a`PXAou4WFb3QWtxheQs?3toR0>8~=Ouz_>41{6xiH^ttKR z#fraV@kbPY+2a3D{1u;@xQD@x$<2Qdc8&tx-+RqRreBqcZ}hpby+`ps`5X?__MYOe zTYTT$(f=DhH~ku~_$G_bQ~XVfuT%UjpPRT}0XMn%55i8n(r@;W>DTdlU_O8Gxv`z2 z_}e}={vTHSuNMD8@ppV~`gQo8=>J`dClr6r;=fh=eV?1Se*$iD^B;trzbO3&J~I6} z7{vX(4}EU(Nhto2#qU)7V~c;L_}_eP@;P=d_ze*+`FC58sci!A{@y3P-o$-W@huiV zbZ^vuYVoTT|IFtm?$^NkdCAX%nYaV@K|f#k`rfp6f#P5K+~o6&;{UMt9$?s?eNNu! z&ry7b4rVt8PyzeP3Tc zhV(}s?AFf&-rvjf^=7`^CFs{FeScqXa_Di0+yB16`+EZ{eVO7%_}s+3QSp3>zbg3u zMCp(A^(LRbeckyC1K!^o=)z3;I|3<3E=(N=dNq0 zUjy>sx{;myJE=J@;=oOq&ne@y%Hpd`$d0;I4k%Bk(7Y!)vGD_L89A41Ae)dX~|f zdhXjF`9zDKsCbFRXDNP~#qUx)`8iwT{|&`Ywe)=s!?@!uUZ(gd7XP*4CtLhqikDh^ zA`H+n?+lAyqWGB>U$6LC7VmaA`Z?R;LljSb?$q?RT=9gZzfSRTi?36>!s6|~`+FmN zzKHg^9pRoQ2MfGN;HL|GmcSPZ{1$=VFYqS?{wnZ(*~!mQn0o#lxT_A|0LSyLHJfHM zwFeyOuFqKlZxr}-0>5A2PYe7l;QhRj{x}Y$bob16=Q$L3KW~h$hs(9v&J^?)Dg8;l zz8~qADSo%ltBC(c@#N=i3_toPjJwRz&s045c_*WPK=I_~d<_4K;>pho8Q$e+^q>6P zk>Q1kCqKVrctY{y=b#L~QSnMYPdIJW_LSn&eQvI$pD3RE{PT&VFFXeGsrL17+ora; zz>O^-)!e1@=lS{*=)q4EukpF@bM!#;pZwhNXwsjrc%7wRt@!yqA3^$d#r3Cd5E=hP z$D;oxUtdQ0TNIz=bEEeLq5cA&pGEp}6mRyq(Lb(u@^imGBK>y7=UV!rAE5u_=XlNi zcD>@s&+8ih%N1|&{lM*z+Fnrna-YMY+IA>D&*#R^4+=1D^7FAU+-f^V@n2f{s}=v1 z&!JpuTdVk0J~#fqRQwvB=ac?`LX3N@&y9Yp;=lH}@jqMf+&utq0LC0a- zZ}>&F#2r3iRGFN zc3A?`s8BGpYoVr*6i1MU_YSizyl)VP_Y6}syk`)H_YCtnyk`(gp6x*rCchLdw1Ws4 zh-XiPBt#!l9`-bXGf)cX6ic4%5@m9_N~!D`?^5orjusx**aT~LS0tuY)>JlCjx8y1 zUjUr8Lo4d)=Om^#)Xhx5y5O_G`jpvG91N|fsjEe+lG!Dt$0eLs9#`NYGwWt&U^aY4 zWs^xXLN~b?Wa`RN`T>k{#};AC#_9_z-PcFia0vc1jxw4w?p#+)$B%bR9h>=Zf^Fx9 zbL!a4hI8uJjD~aSSUxW9VR4p-n?)SXshJKZ^pOqc)R4nDy%WO;ww)W!=@|~^^vs5H zdS=6!Y8G)gr)N5x&__0$(?bqtbti@sY&$oc)foP&|d`pAZ} zI^=NTeQf5JTV>t3Aw?G{m)xOYpFz=*UvwiG^6O{l%PvObh7pGr%`k1NM6BV2($o%RSkIsve(G3nKky$m3-_`zgS+XB%G${| zk!znpyo?7ZgIFn}n90vth8tb?>(Pu(Ew`(T=0bW`k%!yuGUE|-yGt1~^InhZ?XHj) zJn=_2GaDf3ReNS*6vkWhVUoONK2nlL=U@rq&W=~gU4eSCs=Z)lXPrj60kxmU+*8=j z)Orqa{CKF_S0@upeRj+&u~Z+OOh`N(-FKbSYD#8@9%R>5BJ|y?J-C5>hkQ>dou4rU z?l(;wFYECxFM=H2_zmwH-pdUyhPP)WvE5zwJdWZ(xPZt>xZX~S5HN#Vi~p{7`CJHj zz006S{ONGGdMOb7j%hgjRj|CVv3f@B*warb6<$!d25V?N{K9zC*wahv@NHALsDbA;tS7WA-!0<$(sj8vwf<#T-4EQ5PWkW+bF zNhCk#M$J8g^M@srep>u@{ik#{eKKKc9Kwt9)j))*q)f1M@lqylI&sR0kxm>q?b69R zIK?NJ57N*d>I(}ePO5BfDpk+0=JOY)44Vi5E*gb}O?BhzD#~k$MpZZImn?+^6GzQy zsvOzSP(EiEJeSqf)K#dPr@~?9Hzj6PHa3>es7%z&YO0^rG<;&ysf{xx!Jm80GZ*%-h(vUIbP33s)8G8PSz|?(TY144{)Ywe;HSMNKxDQkpxT%#hs%sM!;)5cWJuCAyo9DG`RW$meT(<<+XDX$vc%vTG|~2U9wDURRmf5i|9adaezI^RBTv&FSVB!!BaSGtbW2 z^{%6E8tS2pR6=?p!})xresNNxL; zdO%M_;qxa0JAxx0(YdU({YshB6K?p-$-s`_$VPN7Yi++$=5$*TK65g#BRH}Voy%I= zuar66zlG174D1MwY((dRR(<`(eD8S}e52@Y^Ib}KB#*wFQxxD$0>7X5L7=~f`B~5S zy^L>Wd^zLq5Z?#B98gI&HT@2{I85JXM7{$t&G3J_-27`6?jfg zvOaGyKe@z%^(t_gh&W#@D^Gt^x=QHPA-yrBY z=lW(r&pFp$BIr3c-$x9d@4Jed>uS)y#9?_7wV|HRx2W9AH(Zg0`}zN!o9~rkeHO9t z9U{~XzBcXGlk4Neu|792Ke>!AVZ0~fzYW2;AFk*8Ho?zQ#s^Sb?C%|n$5}piGCqy* zyBO#5hd-~4VE&ohD`T9`pDM=rbx-oo$A$Z!%=~cwJTCWd>ZYzUPz$q}aZ%S9#?5z& zaeR4w^2jh)Pg94WzKrz9c|A>B%*UKlC^d00AI^Dw9$|&ZBmek(@hIbF+|mDIjOUXc z{c~>a7x4L)`zazl_IEY&WBQB!*DxL@J+8pSc`ns{cI*4%=2U7nCFWu z?iS*hCx5>Cg6WTD`fbE9PwuCkajxG%JeZF@OW`-n;PKbY0kpkoKlpyd!NiL|&)=UZ zBaZ%GW_g?{VZpGUSWRB^9A~OmGO_6{x!yXgAO;;^Vi)6GtTqOXPoCb zgz-Ny|8d6o>-{Rmx!#=Dn9u9Xk2!ylzrpx?=4TV*eRQ|HF7Wu9j1yMl_&)Gn1ahgx z@qJIwe<0}FBI-XB^dB+*JkO5>{x^aDUErSxe2c(875HZY|6JfwoxcEmaKrj&ktOwav9&F34z&o;)xF4@qEVTFkZm;g^U+5K9})0;}RdKHoCV z>ocEmUZ2Yu&tv|7!8or^Bjdb2O^oyU%wjyw{Lf~b*XIJpd3|nXoY#lH9xP-2f6er~ zKHo9U>vKKhygt8YJdgRmk8xg~#fN$jIg{}`=6^Edygp|!&g=6t#(90tW<1XPPhp(b=N!g) zeQsf#*JlvpWz7FIjPv^R5bAR()ARaFU_6icKaFu-pAyD-eI_!_>vKBeapu32abBNE zjPv^3&N#160pn%N|Fw+s`s^vxXAINx`ix~fkNH25abBO380YmVW}Me&9OH53|76B_ zeNJJV*XLHod3^>mUdH@i$2hOgK0RAO8M%8S}r8=?Sa%J$keHaQ*<(oAdli-h*-Tei!oH8E>I| z;&1J=ha7(D#NT?tF>c7s8rXQ8$2j~%hQFEj$57wTr=I@{JID`Xd*cm+TYCkv8acoqy5di zkBZ!^osSRpqB(|qn6LJ{0gMl4+{|s%o3+gG;qgrWW2QIv5~w$8z2n2?-W&NyrZ@Ne z$VW47p39JrW!&5YAU}!m^(>!pjBjTA6vn?`{8Yxxdk*OTG{((2i+m#E`E)KLFJ;_( z&JFn)jF&L|nT$_k+^jK=4>vP@Hq&3j_&JO(Wjw+7D#pth-@teU#%D5aKIew|I>sk4{rQZW&$FSvk@1U|eiq{k7{7q=yBMFt z_-e-IGX65-7c<_*_@#_*WBfA4bLrxa`CrcX!Hi$Qcmd$u2em&zoyXph%*J8$pFn%NBQy9OA@p+8j%=rC`-^%zV#&2hQ3**Ze z-@*8ujQ8rM4>13`86Uv-y^I$zzJl@bjQ@`DGR7ZZyovD#8K2MiLyWIv{9(p7GyVwU zUoid{;~w3>VSm>!-kb3!7|&;X9pfVye~NMZy;0oI|I>O`{r?)q>5{DYYmEPnJ|(eVEJ)Koha2e|erY_}<)!83qx2zzFM4H=mTSEvIZIc^#MMTkxk*`I4c2~- zX3dviifkNMfG}EQZj1{siPrM>ZTRAXuzCz#2wdmA?87W4D28`@!N$Ejd_)h@n#IxF zbY}Fe1>>WI<^$N#_&E#6jWZhk)FtFI8~x;J@=<#3UQIrthg~uH_R8|nlIX;_pSoOp z#L-VR&S>;gSDepm^plIvM=6_o@%e}zcE#x13(-eQq7$Q^y1IPC(N8tbX!KJTsLyQl zlWWySDI4DHb@rKG`PdaR03D@V|6%$0sGZ@nAOmxL8IL#*FneyE(M&)moxck}FX`_C z?AzSbmkzv?unwg>66qZAs&rV?D2_5JZ*XO&&X+pqF_W@qaD(58l6Ep$hIP*%>aG}^ z48mqIg6@}@oj8Hq4m&aG=^bV`ux`h@V(i?WGa4T0<$GsFNb=d4K?>tD({Yk~?~aDHSvT0=jLoqZSSekKXi zXNNE8QWwUZU3_>y7=IQZa+fl=vH8CiXqTKU8FY|8o5Kp+X=>^ki@;LVX*@)j9G!OT zy!1!&YIoRLK|f80Z4cIB`jI_Y%jc)@U>7}unG&sVyC!5{efU8$Dqvaq=8DStCirpp zsWp|ZxA`46Mw#?B7&_{6Vg@ngr~ChV{g!ixT7cB2*=V!JK56g?SM~uvmC(>MtDY`j z)v%gEStp2^b%5Y6B(_0a$HzXFg+eUhu);|Bslg<(s^hqmcp6<>eZ z_bAR>1DHWq*gEo|qqF7YL))-bol`3GrxQ;X6Av<%*;ISd77Dr)LEOEkKlXXYz{lFw*DI2 z_Cn*r(}=lFcWBu`Bxc{ zaR+(2y4<-0BYEr~Gr6M~T)THcc{7aKK@T03$}k9i_{o0~H20O(1!0%GGQ&!C&?kA+ zQlG(h!GPEfJIKpXYui54GTNRx$b_$`9`aJ2YSMvksrvZ*)#-{GCmqCheAvrag{!Um z$Wy8(K`K0M|M3Tx(c)TBlY~T-(awBu2RP&^({>NDof#@A~>n_8R;LU z6kKO0{o-8U1V|OTen@ptMcvGqm9_9)ncBLh%0VYhIOACLOS5!osjNy&ZzzXfSRFK@ zp$^_s?d*2`ah|uA!%3W2FKXAp_lBC`AASAMZzcN@hy9!g_GJ$H3nSQ@%JBT>MzC*j z#K$!a!}foH!~Wt3_Ddc1mqf5%>9D^vf_qUgM-|C2u>q>;RH|rJf__+Q=SbGoZjT^Vebt=Nz=aPL- z?M96su4fU}-mFK;$!rBjX*yDOCVeQR25xoDn?n+qu z5svt{K1*2pF%ElN$0e-&c(Ui?kL$gJwV&*WkL&(~wJ&qnK%{d$KzuJ0Ar{$+>#lnC}_ zoftm;xL#P;_-&5(xNclnd$S%5A3t0ZCanEdM|@m|F06gK!yebG3v2IzHhBKxx^`jh za~<~6BG{Ytd3gPBoxHH|`%rv7{~XAdpb!P<9e)N?JuJE+#Y>~wV&s($Ms#q+F#?a$8})C+Akt|UO!wfHmv~|~ zhy8^S>{mMM=SHw!?Xbr&4V!-}+4K5c9Krr&hyA4y>^D2?FN~a0$ zu=U&Fu*Y*Eti4%NoY((~2=->3G;V)o1p7Q%cZ}Q5k6=I0VgIWL_U3m>d3;=VIc)vL zIO5}a%VF)!`fxlxt~(jl-uzxFx5st6!`fFl^1nHPeUrofmI(GO4*Odp*qe3nc>iyY zV86r>e^~_kyU4zmei~KpzuXtW-mKHd?SCJ^e!U}qTvs~m_-}OB<8wk-d$Vq!`CT4- z|L`*S7uMdaFUX(&@%LcD+P6FMZ-`)T)-mMq+alQaq(u4rYmQ)V)=T8^Ka60X=ZJqv z1beeCBai=d1p6TrpWEYedf4$B;jn)yg8dkW{gV;w$2;uTMX)#PRPz3>jbJ~;5&ww@ z_R}2pk4LbtaoDekVBbXceEvTZ!M?>||7-;NYaI6LBiJu-*#9wty;(<;_y4&F_A4Fn zpO0W~erKD<-w?rmgCqV65$rcP>|cyv-$wTQ{P`k+{T4_3FC*A*bHx8g1p6J1`2UPx zZ`On5{r^`4`(CsjDAFTG;qzJ!{^7{JplY_Fp*S9~Oj!Fovgh&fcjdy`=R4x#@5Y6-H|vx0`1pHtVeLma z;^Xhdgtaer^uJdG`w~Zd{GGb6@y$Byy#M(7cVX?PIpX8*!GyK1ci8_e!u9hahyC9p z*w1&^e-y!fk;DG;2=+@I_Mb(tH|yf_^Z(Nb_NyK7w?wdC@36<;y$w758y)ueo_bjO zcO3R_MzA-(6Ts_->(2+{=fV4X_@`zHNALD|UORzSV?d9X^T`Mgf*q8^4WM@8eR`)D z&KcbB{j+Upbs_`4}PsO8&0I6$A0eNb=W8y|(RgPN{T8@`$N zf$sbH8*M%8xa?ag|8(|u3-%jA+T-UGUGX=DwC@4NF8j?P?SCTJw}rI7La^Tw(*8BU zerrhkY#4V}|Jy^_PZ#XXAD+{VKmMK56+f3wT=V|9nQy`Qi?7LD_I=3Sod1&jv2fzJ z?DIp~pDWlGk$o`V;PJhJeLST7-vs;OkoHHx0J-{K60-jTz#hjq4&%VLKEKyT1qAW> zhrc^w`fsj(_&%pAei_9_-+VLnhTS9BSCM_X`SYb<-yE|4$H0BQEC2Z+?W+X)C1fA$ zZ}9kT!G38-`;P?sNE@mncA`sSOl zH|#FKegoO3n?Iim_M1cY|0wt!A6NahgtVV7*te5?u)o3MI|Y05V}e0_@c0A4K6iIr z;h;Wvd^iAC|9g==b;AsoKmG>ffxT<~G&|-G{@#y?Z{|;#5I>LNr<*@_2=@78pKku( z?;W}NUlg+cN5bz7x$KKW+D{YgCzHLYm#KH~c$r{d7SjHG!M-Y_{bBHXNUr|ZhwOh} zuy@U$<&OD-zt3d)Z|2X>h4?KLKkfVx?B|nxy7}|DV80|}|Br$DJXigehqOOeuwPB~ zre4zgSs~cBhP3}wu-_2U{s(Y@arJ*=$o?M<_OAJ}*)f0Kcg&v}A$}XhPd9%a5$v~w z?EilR`>i4Ei$UkAUwcUV-wO8L9(u+=dMR6QJ}m}&SN(J8NB0WI8t*^<2K&a|oWCCl z@q1Bxqc=$ek0*l8)&D*r?OO%=ypZ<8_H@V3C;N2u8w~cY`V~3q_nD)9cMI{0D8Bjp zkW{~K1^bea{XYpVkgobq4rzarU|$x}{%gU$itN+X{~uuQs(+QE{#zaO9|K<=cJ;rR z;-{;;$0o=kKWlr|bWN zLi~0|{2h+?Jz#>n=6@N*PuKshVDIXGua!D~UjP3%;-4qPUqbQowHyEc!SSCi#Lsuc z$Br6%lh@-y{ML~19}(im9r3dr@%P@>UH>fOa{LKgSWjUWnhP zmyVDw{&__OALb zb;R%Ph(A?`-x4zZIYRu^j`%$t@oy30&kq^@Mj`%2NBlh;@iz(a7le%enh<}BBR>B2 zuo*uy{yq11kN=X8@w3^o%ia@cCzNNBl8D{G}n|pCH8VBq;A&NRl}9DgmuU+#$C*Af4` z1Kjm5q4??UKc|DetNxoQzUe3SKhF{W0U>@F#iwB~-Sz8dz;Yq}R!98)j`&> zOGDQGuR{D1NBpB5@%zIEAOKs}pOqB9%1ktBgXiBNVDB3LDvDoBb~yhBI^r)D;`iBG z8`h+Wzd(q;lH!-K_=6nra}L)1$G@ZVZ63uBo_|;?zRe^1;O8%vko`0+hW%juE(Lp6 z{dzsD4a>+L>sRQ=e}|C&j*$6Zafo~Td%^2E+~DO!$`;JO1?*k<*Hiv{{BcbmV{fht zZwT@8DSo>8y(+|C?TCN8BmVwIDSQr z_(y|1zSM`00i6OsWZm^p(Fl}O#cJ@TuSj5feqhGT*Hnx z@dNggDgF|&$N0D=ld(5>ok8(~=id;xufh$ccglvf=39vnf9pD}GI20Ie%2=#f3}Iw zox*+z#Xmg2!9~h8-`EHG-%R#HQ`E`$2ER)7v4H(bvJYN=O#a6H1)=}BPih6f{~G1! zfA2%x*S}VZ5AIX8VEoZ!AI!fkWd1(^d)M`&$dUh8NB#{${#z-2zm)9l`rjqw--jkn zy87QPP-Jfbke@QllFIY z(*EsE+V|_P&)-bv&%t2tI{%i?{N>lr(yZk9WB3h1{DP44ccBn}r6c|sj`*8}_(dV( zzahlm;D~>wBmQxRx$7Sf8GjJiyXxQOh<}zN{?$VK;*jyL6ymo#;-Bq^|B4X5BxL*z zLi}D&!9@`^a-%+feU2mko&((VpByrNcd&QWKi?5Q;fOy`h+h^m{&*pN+!4Rr5r44| zzba(>1w#DEj`$Uh_-zzFc>h*U@!{c=E%^MkFWg{(TkH963E8K6{_O?!Iba|B{9!%i z&+mVxJMur7;s^6zPVrAn$v%1gGkBSh|5mc6#>oBqPXlfd@?T2%7n2b0U#lJYw+s2_ z!uvwFouC{4|H1kfAK|WlG1;ffe>B*;>c7R2e~lymB@{nc|1yd{+Rt3?1oQtw$RFPq z!!2F@p9uLEv?_Ct*T2q@fBZ;YzhM5Y6n}(vVXSAZ2gn0hWbL4-WkbgeKhw`Ls!T2u-`A-g+|9T<+ z$&UPg>Bv84pu7I{6#v+i?CtuGBKu(dmxj#$$6)WO|58W(S2^-;5%OP6@$=KI`PxZ|6{=3RsVu#b>aB@$2Gyt{55`S zDSq(!AE)@~>VL10e^to*?-25DcI1D(BmXubfBd@uZt!r*X8Lbn-$CyBuMC<00buW{ zf2$+^8yxvhq4>f2ZwOic#X|mDL*~Cg$Uk?zt`MI;H#zcuRmeZLueMKD|DNy!0dB4N zUqtq1o|^Frj$b#hch$edkw30!Z|sfVlPP|%{`kH=Zuz?L|8MLKxLnA;Ib{Bq2>CB@ zpe%|wT{JS0TKNaF{2pRulA%1*=9sgcO{NaV}`WNJd z>;Dk2ch$e_1v~xkXjy#6d8`{4C1c>FooyXx<~rURSj3B3M2;^_Y&$GOLUNyzwpz}^+V zk0btLj`-s!K3qmpwxtvwrgzE)F4Sh))5$(X1P6a2`ye-VhR-1TYy+spzl-2Dzq@YD z|AY0PYWi;k)D}?xtH>Vf{{;Lq_GVl#pI~fsQARf&?c=n=CqZ}=2!r;!!NV~vN%{Ze b3-n<7m literal 0 HcmV?d00001 diff --git a/initwidget.cpp b/initwidget.cpp new file mode 100644 index 0000000..8108e0c --- /dev/null +++ b/initwidget.cpp @@ -0,0 +1,42 @@ +#include "initwidget.h" +#include "ui_initwidget.h" + + +InitWidget::InitWidget(QWidget *parent) : + QWidget(parent), + ui(new Ui::InitWidget) +{ + ui->setupUi(this); + resize(1024, 768); + this->showFullScreen(); + this->setAutoFillBackground(true); + this->setPalette(QColor(211, 239, 251)); + + init_mainwindow = new QTimer(this); + change_window = new QTimer(this); + connect(init_mainwindow, SIGNAL(timeout()), this, SLOT(init_mainwindow_slot())); + connect(change_window, SIGNAL(timeout()), this, SLOT(change_window_slot())); + change_window->start(25000); + init_mainwindow->start(15000); +} + +InitWidget::~InitWidget() +{ + delete ui; +} + +void InitWidget::change_window_slot() +{ + change_window->stop(); + this->hide(); + w->show(); +} + + +void InitWidget::init_mainwindow_slot() +{ + init_mainwindow->stop(); + w = new Widget(); +} + + diff --git a/initwidget.h b/initwidget.h new file mode 100644 index 0000000..ddd05b2 --- /dev/null +++ b/initwidget.h @@ -0,0 +1,31 @@ +#ifndef INITWIDGET_H +#define INITWIDGET_H + +#include +#include "widget.h" +#include + +namespace Ui { +class InitWidget; +} + +class InitWidget : public QWidget +{ + Q_OBJECT + +public: + explicit InitWidget(QWidget *parent = 0); + ~InitWidget(); + +private slots: + void init_mainwindow_slot(); + void change_window_slot(); + +private: + Ui::InitWidget *ui; + Widget* w; + QTimer* init_mainwindow; + QTimer* change_window; +}; + +#endif // INITWIDGET_H diff --git a/initwidget.o b/initwidget.o new file mode 100644 index 0000000000000000000000000000000000000000..54653345e40b6af1860e437052ff6e0f21d245e5 GIT binary patch literal 100552 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 + + InitWidget + + + + 0 + 0 + 1024 + 768 + + + + Form + + + + + 130 + 80 + 741 + 220 + + + + + 36 + + + + 南通维尔斯机械科技有限公司 +Nantong Wealth Technical Co, Ltd + + + Qt::AlignCenter + + + + + + 342 + 656 + 340 + 71 + + + + + 21 + + + + 系统初始化中... +Initialization... + + + Qt::AlignCenter + + + + + + diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..eeb2edd --- /dev/null +++ b/main.cpp @@ -0,0 +1,11 @@ +#include "widget.h" +#include +#include "initwidget.h" + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + InitWidget w; + w.show(); + return a.exec(); +} diff --git a/main.o b/main.o new file mode 100644 index 0000000000000000000000000000000000000000..e39727dc32a1fdfe4051f1694d39646c758d55a3 GIT binary patch literal 93584 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 JwK-Qf`9EfA$Zr4u literal 0 HcmV?d00001 diff --git a/moc_initwidget.cpp b/moc_initwidget.cpp new file mode 100644 index 0000000..ae1faf8 --- /dev/null +++ b/moc_initwidget.cpp @@ -0,0 +1,96 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'initwidget.h' +** +** Created by: The Qt Meta Object Compiler version 63 (Qt 4.8.7) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "initwidget.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'initwidget.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 63 +#error "This file was generated using the moc from 4.8.7. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_InitWidget[] = { + + // content: + 6, // revision + 0, // classname + 0, 0, // classinfo + 2, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: signature, parameters, type, tag, flags + 11, 34, 34, 34, 0x08, + 35, 34, 34, 34, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_InitWidget[] = { + "InitWidget\0init_mainwindow_slot()\0\0" + "change_window_slot()\0" +}; + +void InitWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + Q_ASSERT(staticMetaObject.cast(_o)); + InitWidget *_t = static_cast(_o); + switch (_id) { + case 0: _t->init_mainwindow_slot(); break; + case 1: _t->change_window_slot(); break; + default: ; + } + } + Q_UNUSED(_a); +} + +const QMetaObjectExtraData InitWidget::staticMetaObjectExtraData = { + 0, qt_static_metacall +}; + +const QMetaObject InitWidget::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_InitWidget, + qt_meta_data_InitWidget, &staticMetaObjectExtraData } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &InitWidget::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *InitWidget::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *InitWidget::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_InitWidget)) + return static_cast(const_cast< InitWidget*>(this)); + return QWidget::qt_metacast(_clname); +} + +int InitWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 2) + qt_static_metacall(this, _c, _id, _a); + _id -= 2; + } + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/moc_initwidget.o b/moc_initwidget.o new file mode 100644 index 0000000000000000000000000000000000000000..a32c76e9e193d5e935950ad4f430b05f654075ed GIT binary patch literal 101648 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 literal 0 HcmV?d00001 diff --git a/moc_modifypasswdialog.cpp b/moc_modifypasswdialog.cpp new file mode 100644 index 0000000..0f8c427 --- /dev/null +++ b/moc_modifypasswdialog.cpp @@ -0,0 +1,144 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'modifypasswdialog.h' +** +** Created by: The Qt Meta Object Compiler version 63 (Qt 4.8.7) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "modifypasswdialog.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'modifypasswdialog.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 63 +#error "This file was generated using the moc from 4.8.7. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_ModifyPasswdialog[] = { + + // content: + 6, // revision + 0, // classname + 0, 0, // classinfo + 18, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 18, 46, 46, 46, 0x05, + + // slots: signature, parameters, type, tag, flags + 47, 46, 46, 46, 0x08, + 65, 46, 46, 46, 0x08, + 83, 46, 46, 46, 0x08, + 101, 46, 46, 46, 0x08, + 119, 46, 46, 46, 0x08, + 137, 46, 46, 46, 0x08, + 155, 46, 46, 46, 0x08, + 173, 46, 46, 46, 0x08, + 191, 46, 46, 46, 0x08, + 209, 46, 46, 46, 0x08, + 227, 46, 46, 46, 0x08, + 247, 46, 46, 46, 0x08, + 266, 46, 46, 46, 0x08, + 285, 46, 46, 46, 0x08, + 308, 46, 46, 46, 0x08, + 328, 46, 46, 46, 0x08, + 349, 46, 46, 46, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_ModifyPasswdialog[] = { + "ModifyPasswdialog\0send_modify_passwd(QString)\0" + "\0on_btn1_clicked()\0on_btn2_clicked()\0" + "on_btn3_clicked()\0on_btn4_clicked()\0" + "on_btn5_clicked()\0on_btn6_clicked()\0" + "on_btn7_clicked()\0on_btn8_clicked()\0" + "on_btn9_clicked()\0on_btn0_clicked()\0" + "on_btnDot_clicked()\0on_btnCL_clicked()\0" + "on_btnDE_clicked()\0on_btnCancel_clicked()\0" + "on_btnEnt_clicked()\0On_editingFinished()\0" + "On_editingFinished_2()\0" +}; + +void ModifyPasswdialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + Q_ASSERT(staticMetaObject.cast(_o)); + ModifyPasswdialog *_t = static_cast(_o); + switch (_id) { + case 0: _t->send_modify_passwd((*reinterpret_cast< QString(*)>(_a[1]))); break; + case 1: _t->on_btn1_clicked(); break; + case 2: _t->on_btn2_clicked(); break; + case 3: _t->on_btn3_clicked(); break; + case 4: _t->on_btn4_clicked(); break; + case 5: _t->on_btn5_clicked(); break; + case 6: _t->on_btn6_clicked(); break; + case 7: _t->on_btn7_clicked(); break; + case 8: _t->on_btn8_clicked(); break; + case 9: _t->on_btn9_clicked(); break; + case 10: _t->on_btn0_clicked(); break; + case 11: _t->on_btnDot_clicked(); break; + case 12: _t->on_btnCL_clicked(); break; + case 13: _t->on_btnDE_clicked(); break; + case 14: _t->on_btnCancel_clicked(); break; + case 15: _t->on_btnEnt_clicked(); break; + case 16: _t->On_editingFinished(); break; + case 17: _t->On_editingFinished_2(); break; + default: ; + } + } +} + +const QMetaObjectExtraData ModifyPasswdialog::staticMetaObjectExtraData = { + 0, qt_static_metacall +}; + +const QMetaObject ModifyPasswdialog::staticMetaObject = { + { &QDialog::staticMetaObject, qt_meta_stringdata_ModifyPasswdialog, + qt_meta_data_ModifyPasswdialog, &staticMetaObjectExtraData } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &ModifyPasswdialog::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *ModifyPasswdialog::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *ModifyPasswdialog::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_ModifyPasswdialog)) + return static_cast(const_cast< ModifyPasswdialog*>(this)); + return QDialog::qt_metacast(_clname); +} + +int ModifyPasswdialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 18) + qt_static_metacall(this, _c, _id, _a); + _id -= 18; + } + return _id; +} + +// SIGNAL 0 +void ModifyPasswdialog::send_modify_passwd(QString _t1) +{ + void *_a[] = { 0, const_cast(reinterpret_cast(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} +QT_END_MOC_NAMESPACE diff --git a/moc_modifypasswdialog.o b/moc_modifypasswdialog.o new file mode 100644 index 0000000000000000000000000000000000000000..79dbc45fa9c616c3af54860dda11eccaa5a6466f GIT binary patch literal 14704 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 L-yX;ih_e3y1`&{c literal 0 HcmV?d00001 diff --git a/moc_passwddialog.cpp b/moc_passwddialog.cpp new file mode 100644 index 0000000..5a75edb --- /dev/null +++ b/moc_passwddialog.cpp @@ -0,0 +1,141 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'passwddialog.h' +** +** Created by: The Qt Meta Object Compiler version 63 (Qt 4.8.7) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "passwddialog.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'passwddialog.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 63 +#error "This file was generated using the moc from 4.8.7. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_PasswdDialog[] = { + + // content: + 6, // revision + 0, // classname + 0, 0, // classinfo + 17, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 13, 36, 36, 36, 0x05, + + // slots: signature, parameters, type, tag, flags + 37, 36, 36, 36, 0x08, + 55, 36, 36, 36, 0x08, + 73, 36, 36, 36, 0x08, + 91, 36, 36, 36, 0x08, + 109, 36, 36, 36, 0x08, + 127, 36, 36, 36, 0x08, + 145, 36, 36, 36, 0x08, + 163, 36, 36, 36, 0x08, + 181, 36, 36, 36, 0x08, + 199, 36, 36, 36, 0x08, + 217, 36, 36, 36, 0x08, + 237, 36, 36, 36, 0x08, + 256, 36, 36, 36, 0x08, + 275, 36, 36, 36, 0x08, + 298, 36, 36, 36, 0x08, + 318, 36, 36, 36, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_PasswdDialog[] = { + "PasswdDialog\0send_password(QString)\0" + "\0on_btn1_clicked()\0on_btn2_clicked()\0" + "on_btn3_clicked()\0on_btn4_clicked()\0" + "on_btn5_clicked()\0on_btn6_clicked()\0" + "on_btn7_clicked()\0on_btn8_clicked()\0" + "on_btn9_clicked()\0on_btn0_clicked()\0" + "on_btnDot_clicked()\0on_btnCL_clicked()\0" + "on_btnDE_clicked()\0on_btnCancel_clicked()\0" + "on_btnEnt_clicked()\0deal_wrong_passwd()\0" +}; + +void PasswdDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + Q_ASSERT(staticMetaObject.cast(_o)); + PasswdDialog *_t = static_cast(_o); + switch (_id) { + case 0: _t->send_password((*reinterpret_cast< QString(*)>(_a[1]))); break; + case 1: _t->on_btn1_clicked(); break; + case 2: _t->on_btn2_clicked(); break; + case 3: _t->on_btn3_clicked(); break; + case 4: _t->on_btn4_clicked(); break; + case 5: _t->on_btn5_clicked(); break; + case 6: _t->on_btn6_clicked(); break; + case 7: _t->on_btn7_clicked(); break; + case 8: _t->on_btn8_clicked(); break; + case 9: _t->on_btn9_clicked(); break; + case 10: _t->on_btn0_clicked(); break; + case 11: _t->on_btnDot_clicked(); break; + case 12: _t->on_btnCL_clicked(); break; + case 13: _t->on_btnDE_clicked(); break; + case 14: _t->on_btnCancel_clicked(); break; + case 15: _t->on_btnEnt_clicked(); break; + case 16: _t->deal_wrong_passwd(); break; + default: ; + } + } +} + +const QMetaObjectExtraData PasswdDialog::staticMetaObjectExtraData = { + 0, qt_static_metacall +}; + +const QMetaObject PasswdDialog::staticMetaObject = { + { &QDialog::staticMetaObject, qt_meta_stringdata_PasswdDialog, + qt_meta_data_PasswdDialog, &staticMetaObjectExtraData } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &PasswdDialog::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *PasswdDialog::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *PasswdDialog::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_PasswdDialog)) + return static_cast(const_cast< PasswdDialog*>(this)); + return QDialog::qt_metacast(_clname); +} + +int PasswdDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 17) + qt_static_metacall(this, _c, _id, _a); + _id -= 17; + } + return _id; +} + +// SIGNAL 0 +void PasswdDialog::send_password(QString _t1) +{ + void *_a[] = { 0, const_cast(reinterpret_cast(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} +QT_END_MOC_NAMESPACE diff --git a/moc_passwddialog.o b/moc_passwddialog.o new file mode 100644 index 0000000000000000000000000000000000000000..eaf55d2ad75f8415fa91cb2679b8510802ec408b GIT binary patch literal 14352 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 literal 0 HcmV?d00001 diff --git a/moc_thread.cpp b/moc_thread.cpp new file mode 100644 index 0000000..62cae1b --- /dev/null +++ b/moc_thread.cpp @@ -0,0 +1,265 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'thread.h' +** +** Created by: The Qt Meta Object Compiler version 63 (Qt 4.8.7) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "thread.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'thread.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 63 +#error "This file was generated using the moc from 4.8.7. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_Process_img[] = { + + // content: + 6, // revision + 0, // classname + 0, 0, // classinfo + 3, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 3, // signalCount + + // signals: signature, parameters, type, tag, flags + 12, 32, 32, 32, 0x05, + 33, 32, 32, 32, 0x05, + 66, 32, 32, 32, 0x05, + + 0 // eod +}; + +static const char qt_meta_stringdata_Process_img[] = { + "Process_img\0send_image(cv::Mat)\0\0" + "send_res(QVector)\0" + "send_tab(uint8_t*)\0" +}; + +void Process_img::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + Q_ASSERT(staticMetaObject.cast(_o)); + Process_img *_t = static_cast(_o); + switch (_id) { + case 0: _t->send_image((*reinterpret_cast< cv::Mat(*)>(_a[1]))); break; + case 1: _t->send_res((*reinterpret_cast< QVector(*)>(_a[1]))); break; + case 2: _t->send_tab((*reinterpret_cast< uint8_t*(*)>(_a[1]))); break; + default: ; + } + } +} + +const QMetaObjectExtraData Process_img::staticMetaObjectExtraData = { + 0, qt_static_metacall +}; + +const QMetaObject Process_img::staticMetaObject = { + { &QThread::staticMetaObject, qt_meta_stringdata_Process_img, + qt_meta_data_Process_img, &staticMetaObjectExtraData } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &Process_img::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *Process_img::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *Process_img::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_Process_img)) + return static_cast(const_cast< Process_img*>(this)); + return QThread::qt_metacast(_clname); +} + +int Process_img::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QThread::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 3) + qt_static_metacall(this, _c, _id, _a); + _id -= 3; + } + return _id; +} + +// SIGNAL 0 +void Process_img::send_image(cv::Mat _t1) +{ + void *_a[] = { 0, const_cast(reinterpret_cast(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} + +// SIGNAL 1 +void Process_img::send_res(QVector _t1) +{ + void *_a[] = { 0, const_cast(reinterpret_cast(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 1, _a); +} + +// SIGNAL 2 +void Process_img::send_tab(uint8_t * _t1) +{ + void *_a[] = { 0, const_cast(reinterpret_cast(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 2, _a); +} +static const uint qt_meta_data_Adjust_para[] = { + + // content: + 6, // revision + 0, // classname + 0, 0, // classinfo + 2, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 1, // signalCount + + // signals: signature, parameters, type, tag, flags + 12, 38, 38, 38, 0x05, + + // slots: signature, parameters, type, tag, flags + 39, 38, 38, 38, 0x0a, + + 0 // eod +}; + +static const char qt_meta_stringdata_Adjust_para[] = { + "Adjust_para\0send_image_debug(cv::Mat)\0" + "\0get_correct_siganl()\0" +}; + +void Adjust_para::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + Q_ASSERT(staticMetaObject.cast(_o)); + Adjust_para *_t = static_cast(_o); + switch (_id) { + case 0: _t->send_image_debug((*reinterpret_cast< cv::Mat(*)>(_a[1]))); break; + case 1: _t->get_correct_siganl(); break; + default: ; + } + } +} + +const QMetaObjectExtraData Adjust_para::staticMetaObjectExtraData = { + 0, qt_static_metacall +}; + +const QMetaObject Adjust_para::staticMetaObject = { + { &QThread::staticMetaObject, qt_meta_stringdata_Adjust_para, + qt_meta_data_Adjust_para, &staticMetaObjectExtraData } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &Adjust_para::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *Adjust_para::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *Adjust_para::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_Adjust_para)) + return static_cast(const_cast< Adjust_para*>(this)); + return QThread::qt_metacast(_clname); +} + +int Adjust_para::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QThread::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 2) + qt_static_metacall(this, _c, _id, _a); + _id -= 2; + } + return _id; +} + +// SIGNAL 0 +void Adjust_para::send_image_debug(cv::Mat _t1) +{ + void *_a[] = { 0, const_cast(reinterpret_cast(&_t1)) }; + QMetaObject::activate(this, &staticMetaObject, 0, _a); +} +static const uint qt_meta_data_Grab_img[] = { + + // content: + 6, // revision + 0, // classname + 0, 0, // classinfo + 0, 0, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + 0 // eod +}; + +static const char qt_meta_stringdata_Grab_img[] = { + "Grab_img\0" +}; + +void Grab_img::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + Q_UNUSED(_o); + Q_UNUSED(_id); + Q_UNUSED(_c); + Q_UNUSED(_a); +} + +const QMetaObjectExtraData Grab_img::staticMetaObjectExtraData = { + 0, qt_static_metacall +}; + +const QMetaObject Grab_img::staticMetaObject = { + { &QThread::staticMetaObject, qt_meta_stringdata_Grab_img, + qt_meta_data_Grab_img, &staticMetaObjectExtraData } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &Grab_img::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *Grab_img::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *Grab_img::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_Grab_img)) + return static_cast(const_cast< Grab_img*>(this)); + return QThread::qt_metacast(_clname); +} + +int Grab_img::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QThread::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + return _id; +} +QT_END_MOC_NAMESPACE diff --git a/moc_thread.o b/moc_thread.o new file mode 100644 index 0000000000000000000000000000000000000000..89f51e11ad6ab070b87abd1fa450a1f81d8a5ade GIT binary patch literal 112568 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 X@a>nR(tfVEy={X^Q+WNAYdd literal 0 HcmV?d00001 diff --git a/moc_widget.cpp b/moc_widget.cpp new file mode 100644 index 0000000..41568b0 --- /dev/null +++ b/moc_widget.cpp @@ -0,0 +1,228 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'widget.h' +** +** Created by: The Qt Meta Object Compiler version 63 (Qt 4.8.7) +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "widget.h" +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'widget.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 63 +#error "This file was generated using the moc from 4.8.7. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +static const uint qt_meta_data_Widget[] = { + + // content: + 6, // revision + 0, // classname + 0, 0, // classinfo + 48, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 2, // signalCount + + // signals: signature, parameters, type, tag, flags + 7, 24, 24, 24, 0x05, + 25, 24, 24, 24, 0x05, + + // slots: signature, parameters, type, tag, flags + 40, 24, 24, 24, 0x08, + 62, 24, 24, 24, 0x08, + 84, 24, 24, 24, 0x08, + 104, 24, 24, 24, 0x08, + 123, 24, 24, 24, 0x08, + 145, 24, 24, 24, 0x08, + 167, 24, 24, 24, 0x08, + 191, 24, 24, 24, 0x08, + 213, 24, 24, 24, 0x08, + 235, 24, 24, 24, 0x08, + 257, 24, 24, 24, 0x08, + 281, 24, 24, 24, 0x08, + 303, 24, 24, 24, 0x08, + 329, 24, 24, 24, 0x08, + 356, 24, 24, 24, 0x08, + 379, 24, 24, 24, 0x08, + 405, 24, 24, 24, 0x08, + 434, 24, 24, 24, 0x08, + 456, 24, 24, 24, 0x08, + 478, 24, 24, 24, 0x08, + 508, 24, 24, 24, 0x08, + 530, 24, 24, 24, 0x08, + 551, 24, 24, 24, 0x08, + 589, 24, 24, 24, 0x08, + 613, 24, 24, 24, 0x08, + 635, 24, 24, 24, 0x08, + 659, 24, 24, 24, 0x08, + 685, 24, 24, 24, 0x08, + 715, 24, 24, 24, 0x08, + 739, 24, 24, 24, 0x08, + 764, 24, 24, 24, 0x08, + 783, 24, 24, 24, 0x08, + 815, 24, 24, 24, 0x08, + 839, 24, 24, 24, 0x08, + 861, 24, 24, 24, 0x08, + 879, 24, 24, 24, 0x08, + 897, 24, 24, 24, 0x08, + 915, 24, 24, 24, 0x08, + 933, 24, 24, 24, 0x08, + 951, 24, 24, 24, 0x08, + 969, 24, 24, 24, 0x08, + 987, 24, 24, 24, 0x08, + 1005, 24, 24, 24, 0x08, + 1023, 24, 24, 24, 0x08, + 1041, 24, 24, 24, 0x08, + 1059, 24, 24, 24, 0x08, + + 0 // eod +}; + +static const char qt_meta_stringdata_Widget[] = { + "Widget\0correct_signal()\0\0wrong_passwd()\0" + "On_btn_Tab1_2_click()\0On_btn_Tab1_3_click()\0" + "On_btnStart_click()\0On_bthStop_click()\0" + "On_btn_Tab2_1_click()\0On_btn_Tab2_5_click()\0" + "On_btnValveTest_click()\0On_btn_Tab3_1_click()\0" + "On_btn_Tab3_4_click()\0On_btn_Tab3_6_click()\0" + "On_btnImportImg_click()\0On_btnSaveImg_click()\0" + "On_btnImportModel_click()\0" + "On_btnModifyPasswd_click()\0" + "On_btn_correct_click()\0On_btn_getcorrect_click()\0" + "On_btn_setcamerapara_click()\0" + "On_btn_Tab4_3_click()\0On_btn_Tab5_3_click()\0" + "On_btn_set_thereshold_click()\0" + "On_btn_Tab6_3_click()\0On_btn_close_click()\0" + "On_candy_select_box_index_change(int)\0" + "On_btnManualValveTest()\0On_btn_Tab7_3_click()\0" + "On_btnchannelup_click()\0" + "On_btnchanneldown_click()\0" + "On_btn_channel_send_clicked()\0" + "judge_password(QString)\0" + "modify_password(QString)\0showimage(cv::Mat)\0" + "drawbox(QVector)\0" + "showimage_test(cv::Mat)\0ServerNewConnection()\0" + "get_tab(uint8_t*)\0On_btn1_clicked()\0" + "On_btn2_clicked()\0On_btn3_clicked()\0" + "On_btn4_clicked()\0On_btn5_clicked()\0" + "On_btn6_clicked()\0On_btn7_clicked()\0" + "On_btn8_clicked()\0On_btn9_clicked()\0" + "On_btn0_clicked()\0On_btn_DEL_clicked()\0" +}; + +void Widget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + Q_ASSERT(staticMetaObject.cast(_o)); + Widget *_t = static_cast(_o); + switch (_id) { + case 0: _t->correct_signal(); break; + case 1: _t->wrong_passwd(); break; + case 2: _t->On_btn_Tab1_2_click(); break; + case 3: _t->On_btn_Tab1_3_click(); break; + case 4: _t->On_btnStart_click(); break; + case 5: _t->On_bthStop_click(); break; + case 6: _t->On_btn_Tab2_1_click(); break; + case 7: _t->On_btn_Tab2_5_click(); break; + case 8: _t->On_btnValveTest_click(); break; + case 9: _t->On_btn_Tab3_1_click(); break; + case 10: _t->On_btn_Tab3_4_click(); break; + case 11: _t->On_btn_Tab3_6_click(); break; + case 12: _t->On_btnImportImg_click(); break; + case 13: _t->On_btnSaveImg_click(); break; + case 14: _t->On_btnImportModel_click(); break; + case 15: _t->On_btnModifyPasswd_click(); break; + case 16: _t->On_btn_correct_click(); break; + case 17: _t->On_btn_getcorrect_click(); break; + case 18: _t->On_btn_setcamerapara_click(); break; + case 19: _t->On_btn_Tab4_3_click(); break; + case 20: _t->On_btn_Tab5_3_click(); break; + case 21: _t->On_btn_set_thereshold_click(); break; + case 22: _t->On_btn_Tab6_3_click(); break; + case 23: _t->On_btn_close_click(); break; + case 24: _t->On_candy_select_box_index_change((*reinterpret_cast< int(*)>(_a[1]))); break; + case 25: _t->On_btnManualValveTest(); break; + case 26: _t->On_btn_Tab7_3_click(); break; + case 27: _t->On_btnchannelup_click(); break; + case 28: _t->On_btnchanneldown_click(); break; + case 29: _t->On_btn_channel_send_clicked(); break; + case 30: _t->judge_password((*reinterpret_cast< QString(*)>(_a[1]))); break; + case 31: _t->modify_password((*reinterpret_cast< QString(*)>(_a[1]))); break; + case 32: _t->showimage((*reinterpret_cast< cv::Mat(*)>(_a[1]))); break; + case 33: _t->drawbox((*reinterpret_cast< QVector(*)>(_a[1]))); break; + case 34: _t->showimage_test((*reinterpret_cast< cv::Mat(*)>(_a[1]))); break; + case 35: _t->ServerNewConnection(); break; + case 36: _t->get_tab((*reinterpret_cast< uint8_t*(*)>(_a[1]))); break; + case 37: _t->On_btn1_clicked(); break; + case 38: _t->On_btn2_clicked(); break; + case 39: _t->On_btn3_clicked(); break; + case 40: _t->On_btn4_clicked(); break; + case 41: _t->On_btn5_clicked(); break; + case 42: _t->On_btn6_clicked(); break; + case 43: _t->On_btn7_clicked(); break; + case 44: _t->On_btn8_clicked(); break; + case 45: _t->On_btn9_clicked(); break; + case 46: _t->On_btn0_clicked(); break; + case 47: _t->On_btn_DEL_clicked(); break; + default: ; + } + } +} + +const QMetaObjectExtraData Widget::staticMetaObjectExtraData = { + 0, qt_static_metacall +}; + +const QMetaObject Widget::staticMetaObject = { + { &QWidget::staticMetaObject, qt_meta_stringdata_Widget, + qt_meta_data_Widget, &staticMetaObjectExtraData } +}; + +#ifdef Q_NO_DATA_RELOCATION +const QMetaObject &Widget::getStaticMetaObject() { return staticMetaObject; } +#endif //Q_NO_DATA_RELOCATION + +const QMetaObject *Widget::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject; +} + +void *Widget::qt_metacast(const char *_clname) +{ + if (!_clname) return 0; + if (!strcmp(_clname, qt_meta_stringdata_Widget)) + return static_cast(const_cast< Widget*>(this)); + return QWidget::qt_metacast(_clname); +} + +int Widget::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QWidget::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 48) + qt_static_metacall(this, _c, _id, _a); + _id -= 48; + } + return _id; +} + +// SIGNAL 0 +void Widget::correct_signal() +{ + QMetaObject::activate(this, &staticMetaObject, 0, 0); +} + +// SIGNAL 1 +void Widget::wrong_passwd() +{ + QMetaObject::activate(this, &staticMetaObject, 1, 0); +} +QT_END_MOC_NAMESPACE diff --git a/moc_widget.o b/moc_widget.o new file mode 100644 index 0000000000000000000000000000000000000000..a06707e441b1f81b3597372032eb0f6f36dc5f43 GIT binary patch literal 112848 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 W`4X(y>{sHK?O`c__VGp06#0Kxtq$)1 literal 0 HcmV?d00001 diff --git a/modifypasswdialog.cpp b/modifypasswdialog.cpp new file mode 100644 index 0000000..a9ad25c --- /dev/null +++ b/modifypasswdialog.cpp @@ -0,0 +1,250 @@ +#include "modifypasswdialog.h" +#include "ui_modifypasswdialog.h" +#include +#include + +ModifyPasswdialog::ModifyPasswdialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::ModifyPasswdialog) +{ + ui->setupUi(this); + setWindowFlags(Qt::FramelessWindowHint); //隐藏窗体 + setModal(true); //设置为模态对话框 + + // ui->lineEdit->setFocus(); //lineEdit为焦点 + ui->lineEdit->setEchoMode(QLineEdit::Password); //显示模式为密码 + ui->lineEdit_2->setEchoMode(QLineEdit::Password); + QList button = findChildren(); //设置所有按键不为焦点 + for(int i=0; isetFocusPolicy(Qt::NoFocus); + } + + connect(ui->lineEdit, SIGNAL(editingFinished()), this, SLOT(On_editingFinished())); + connect(ui->lineEdit_2, SIGNAL(editingFinished()), this, SLOT(On_editingFinished_2())); +} + +ModifyPasswdialog::~ModifyPasswdialog() +{ + delete ui; +} + +void ModifyPasswdialog::on_btn1_clicked() +{ + if(which_edit == 1) + { + QString password = ui->lineEdit->text(); + password.append("1"); + ui->lineEdit->setText(password); + } + if(which_edit == 2) + { + QString password = ui->lineEdit_2->text(); + password.append("1"); + ui->lineEdit_2->setText(password); + } +} + +void ModifyPasswdialog::on_btn2_clicked() +{ + if(which_edit == 1) + { + QString password = ui->lineEdit->text(); + password.append("2"); + ui->lineEdit->setText(password); + } + if(which_edit == 2) + { + QString password = ui->lineEdit_2->text(); + password.append("2"); + ui->lineEdit_2->setText(password); + } +} + +void ModifyPasswdialog::on_btn3_clicked() +{ + if(which_edit == 1) + { + QString password = ui->lineEdit->text(); + password.append("3"); + ui->lineEdit->setText(password); + } + if(which_edit == 2) + { + QString password = ui->lineEdit_2->text(); + password.append("3"); + ui->lineEdit_2->setText(password); + } +} + +void ModifyPasswdialog::on_btn4_clicked() +{ + if(which_edit == 1) + { + QString password = ui->lineEdit->text(); + password.append("4"); + ui->lineEdit->setText(password); + } + if(which_edit == 2) + { + QString password = ui->lineEdit_2->text(); + password.append("4"); + ui->lineEdit_2->setText(password); + } +} + +void ModifyPasswdialog::on_btn5_clicked() +{ + if(which_edit == 1) + { + QString password = ui->lineEdit->text(); + password.append("5"); + ui->lineEdit->setText(password); + } + if(which_edit == 2) + { + QString password = ui->lineEdit_2->text(); + password.append("5"); + ui->lineEdit_2->setText(password); + } +} + +void ModifyPasswdialog::on_btn6_clicked() +{ + if(which_edit == 1) + { + QString password = ui->lineEdit->text(); + password.append("6"); + ui->lineEdit->setText(password); + } + if(which_edit == 2) + { + QString password = ui->lineEdit_2->text(); + password.append("6"); + ui->lineEdit_2->setText(password); + } +} + +void ModifyPasswdialog::on_btn7_clicked() +{ + if(which_edit == 1) + { + QString password = ui->lineEdit->text(); + password.append("7"); + ui->lineEdit->setText(password); + } + if(which_edit == 2) + { + QString password = ui->lineEdit_2->text(); + password.append("8"); + ui->lineEdit_2->setText(password); + } +} + +void ModifyPasswdialog::on_btn8_clicked() +{ + if(which_edit == 1) + { + QString password = ui->lineEdit->text(); + password.append("8"); + ui->lineEdit->setText(password); + } + if(which_edit == 2) + { + QString password = ui->lineEdit_2->text(); + password.append("8"); + ui->lineEdit_2->setText(password); + } +} + +void ModifyPasswdialog::on_btn9_clicked() +{ + if(which_edit == 1) + { + QString password = ui->lineEdit->text(); + password.append("9"); + ui->lineEdit->setText(password); + } + if(which_edit == 2) + { + QString password = ui->lineEdit_2->text(); + password.append("9"); + ui->lineEdit_2->setText(password); + } +} + +void ModifyPasswdialog::on_btn0_clicked() +{ + if(which_edit == 1) + { + QString password = ui->lineEdit->text(); + password.append("0"); + ui->lineEdit->setText(password); + } + if(which_edit == 2) + { + QString password = ui->lineEdit_2->text(); + password.append("0"); + ui->lineEdit_2->setText(password); + } +} + +void ModifyPasswdialog::on_btnDot_clicked() +{ + +} + +void ModifyPasswdialog::on_btnCL_clicked() +{ + if(which_edit == 1) + { + ui->lineEdit->clear(); + } + if(which_edit == 2) + { + ui->lineEdit_2->clear(); + } +} + +void ModifyPasswdialog::on_btnDE_clicked() +{ + if(which_edit == 1) + { + ui->lineEdit->backspace(); + } + if(which_edit == 2) + { + ui->lineEdit_2->backspace(); + } +} + +void ModifyPasswdialog::on_btnCancel_clicked() +{ + this->close(); +} + +void ModifyPasswdialog::on_btnEnt_clicked() +{ + QString password = ui->lineEdit->text(); + QString password2 = ui->lineEdit_2->text(); + if(password == password2) + { + emit send_modify_passwd(password); + } + else + { + QMessageBox::warning(this, "", QString::fromUtf8("密码不一致")); + ui->lineEdit->clear(); + ui->lineEdit_2->clear(); + } +} + +void ModifyPasswdialog::On_editingFinished() +{ + which_edit = 2; +} + +void ModifyPasswdialog::On_editingFinished_2() +{ + which_edit = 1; +} diff --git a/modifypasswdialog.h b/modifypasswdialog.h new file mode 100644 index 0000000..240b6a2 --- /dev/null +++ b/modifypasswdialog.h @@ -0,0 +1,46 @@ +#ifndef MODIFYPASSWDIALOG_H +#define MODIFYPASSWDIALOG_H + +#include + +namespace Ui { +class ModifyPasswdialog; +} + +class ModifyPasswdialog : public QDialog +{ + Q_OBJECT + +public: + explicit ModifyPasswdialog(QWidget *parent = 0); + ~ModifyPasswdialog(); + +private slots: + void on_btn1_clicked(); + void on_btn2_clicked(); + void on_btn3_clicked(); + void on_btn4_clicked(); + void on_btn5_clicked(); + void on_btn6_clicked(); + void on_btn7_clicked(); + void on_btn8_clicked(); + void on_btn9_clicked(); + void on_btn0_clicked(); + void on_btnDot_clicked(); + void on_btnCL_clicked(); + void on_btnDE_clicked(); + void on_btnCancel_clicked(); + void on_btnEnt_clicked(); + + void On_editingFinished(); + void On_editingFinished_2(); + +private: + Ui::ModifyPasswdialog *ui; + int which_edit = 1; + +signals: + void send_modify_passwd(QString); +}; + +#endif // MODIFYPASSWDIALOG_H diff --git a/modifypasswdialog.o b/modifypasswdialog.o new file mode 100644 index 0000000000000000000000000000000000000000..c89caf944a8d76c7a8eaff53087e29dbc4df38d2 GIT binary patch literal 39368 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

i2V^ybr)e&qCi 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 literal 0 HcmV?d00001 diff --git a/modifypasswdialog.ui b/modifypasswdialog.ui new file mode 100644 index 0000000..33a40c9 --- /dev/null +++ b/modifypasswdialog.ui @@ -0,0 +1,300 @@ + + + ModifyPasswdialog + + + + 0 + 0 + 348 + 432 + + + + Dialog + + + + + 10 + 60 + 221 + 31 + + + + 6 + + + Qt::AlignCenter + + + + + + 60 + 10 + 191 + 41 + + + + + 20 + + + + Input Password + + + + + + 160 + 290 + 51 + 51 + + + + 9 + + + + + + 20 + 220 + 51 + 51 + + + + 4 + + + + + + 90 + 360 + 51 + 51 + + + + . + + + + + + 160 + 150 + 51 + 51 + + + + 3 + + + + + + 160 + 220 + 51 + 51 + + + + 6 + + + + + + 230 + 290 + 61 + 51 + + + + CLEAR + + + + + + 20 + 360 + 51 + 51 + + + + 0 + + + + + + 90 + 290 + 51 + 51 + + + + 8 + + + + + + 230 + 360 + 61 + 51 + + + + ENTER + + + + + + 90 + 150 + 51 + 51 + + + + 2 + + + + + + 20 + 290 + 51 + 51 + + + + 7 + + + + + + 20 + 150 + 51 + 51 + + + + 1 + + + + + + 90 + 220 + 51 + 51 + + + + 5 + + + + + + 230 + 150 + 61 + 51 + + + + DELETE + + + + + + 230 + 220 + 61 + 51 + + + + CANCEL + + + + + + 10 + 100 + 221 + 31 + + + + 6 + + + Qt::AlignCenter + + + + + + 240 + 60 + 81 + 31 + + + + + 17 + + + + NEW + + + + + + 240 + 100 + 101 + 31 + + + + + 17 + + + + CONFIRM + + + + + + diff --git a/para.ini b/para.ini new file mode 100644 index 0000000000000000000000000000000000000000..24f88632da2f555a0c34418f20fb975e223def19 GIT binary patch literal 28 dcmXpsGBz + +PasswdDialog::PasswdDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::PasswdDialog) +{ + ui->setupUi(this); + setWindowFlags(Qt::FramelessWindowHint); //隐藏窗体 + setModal(true); //设置为模态对话框 + + ui->lineEdit->setFocus(); //lineEdit为焦点 + ui->lineEdit->setEchoMode(QLineEdit::Password); //显示模式为密码 + QList button = findChildren(); //设置所有按键不为焦点 + for(int i=0; isetFocusPolicy(Qt::NoFocus); + } + +} + +PasswdDialog::~PasswdDialog() +{ + delete ui; +} + +void PasswdDialog::on_btn1_clicked() +{ + + QString password = ui->lineEdit->text(); + password.append("1"); + ui->lineEdit->setText(password); +} + +void PasswdDialog::on_btn2_clicked() +{ + QString password = ui->lineEdit->text(); + password.append("2"); + ui->lineEdit->setText(password); +} + +void PasswdDialog::on_btn3_clicked() +{ + QString password = ui->lineEdit->text(); + password.append("3"); + ui->lineEdit->setText(password); +} + +void PasswdDialog::on_btn4_clicked() +{ + QString password = ui->lineEdit->text(); + password.append("4"); + ui->lineEdit->setText(password); +} + +void PasswdDialog::on_btn5_clicked() +{ + QString password = ui->lineEdit->text(); + password.append("5"); + ui->lineEdit->setText(password); +} + +void PasswdDialog::on_btn6_clicked() +{ + QString password = ui->lineEdit->text(); + password.append("6"); + ui->lineEdit->setText(password); +} + +void PasswdDialog::on_btn7_clicked() +{ + QString password = ui->lineEdit->text(); + password.append("7"); + ui->lineEdit->setText(password); +} + +void PasswdDialog::on_btn8_clicked() +{ + QString password = ui->lineEdit->text(); + password.append("8"); + ui->lineEdit->setText(password); +} + +void PasswdDialog::on_btn9_clicked() +{ + QString password = ui->lineEdit->text(); + password.append("9"); + ui->lineEdit->setText(password); +} + +void PasswdDialog::on_btn0_clicked() +{ + QString password = ui->lineEdit->text(); + password.append("0"); + ui->lineEdit->setText(password); +} + +void PasswdDialog::on_btnDot_clicked() +{ + +} + +void PasswdDialog::on_btnCL_clicked() +{ + ui->lineEdit->clear(); +} + +void PasswdDialog::on_btnDE_clicked() +{ + ui->lineEdit->backspace(); +} + + +void PasswdDialog::on_btnCancel_clicked() +{ + this->close(); +} + +void PasswdDialog::on_btnEnt_clicked() +{ + QString password = ui->lineEdit->text(); + emit send_password(password); +} + +void PasswdDialog::deal_wrong_passwd() +{ + ui->lineEdit->clear(); +} diff --git a/passwddialog.h b/passwddialog.h new file mode 100644 index 0000000..88b0793 --- /dev/null +++ b/passwddialog.h @@ -0,0 +1,44 @@ +#ifndef PASSWDDIALOG_H +#define PASSWDDIALOG_H + +#include + +namespace Ui { +class PasswdDialog; +} + +class PasswdDialog : public QDialog +{ + Q_OBJECT + +public: + explicit PasswdDialog(QWidget *parent = 0); + ~PasswdDialog(); + +private slots: + void on_btn1_clicked(); + void on_btn2_clicked(); + void on_btn3_clicked(); + void on_btn4_clicked(); + void on_btn5_clicked(); + void on_btn6_clicked(); + void on_btn7_clicked(); + void on_btn8_clicked(); + void on_btn9_clicked(); + void on_btn0_clicked(); + void on_btnDot_clicked(); + void on_btnCL_clicked(); + void on_btnDE_clicked(); + void on_btnCancel_clicked(); + void on_btnEnt_clicked(); + + void deal_wrong_passwd(); + +signals: + void send_password(QString); + +private: + Ui::PasswdDialog *ui; +}; + +#endif // PASSWDDIALOG_H diff --git a/passwddialog.o b/passwddialog.o new file mode 100644 index 0000000000000000000000000000000000000000..89016a417c82600fdbc7619ef2a48a705fb7dfea GIT binary patch literal 29768 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 W_VcqRQ~B-(-4gUaK=CBsq4{5zmM|6o literal 0 HcmV?d00001 diff --git a/passwddialog.ui b/passwddialog.ui new file mode 100644 index 0000000..e6ace18 --- /dev/null +++ b/passwddialog.ui @@ -0,0 +1,248 @@ + + + PasswdDialog + + + + 0 + 0 + 300 + 433 + + + + Dialog + + + + + 20 + 120 + 51 + 51 + + + + 1 + + + + + + 90 + 120 + 51 + 51 + + + + 2 + + + + + + 20 + 330 + 51 + 51 + + + + 0 + + + + + + 90 + 330 + 51 + 51 + + + + . + + + + + + 90 + 190 + 51 + 51 + + + + 5 + + + + + + 90 + 260 + 51 + 51 + + + + 8 + + + + + + 160 + 190 + 51 + 51 + + + + 6 + + + + + + 20 + 190 + 51 + 51 + + + + 4 + + + + + + 20 + 260 + 51 + 51 + + + + 7 + + + + + + 10 + 60 + 281 + 31 + + + + 6 + + + Qt::AlignCenter + + + + + + 230 + 260 + 61 + 51 + + + + CLEAR + + + + + + 160 + 120 + 51 + 51 + + + + 3 + + + + + + 160 + 260 + 51 + 51 + + + + 9 + + + + + + 230 + 120 + 61 + 51 + + + + DELETE + + + + + + 230 + 190 + 61 + 51 + + + + CANCEL + + + + + + 230 + 330 + 61 + 51 + + + + ENTER + + + + + + 60 + 10 + 191 + 41 + + + + + 20 + + + + Input password + + + + + + diff --git a/thread.cpp b/thread.cpp new file mode 100644 index 0000000..db3d8fb --- /dev/null +++ b/thread.cpp @@ -0,0 +1,435 @@ +#include "camera.h" +#include "thread.h" +#include +#include +#include +#include +#include +#include "unistd.h" +#include +#include +#include + +QSemaphore emptybuff(2); //空缓冲区信号量 +QSemaphore fullbuff(0); //正在处理的缓冲区信号量 +QMutex judge_connect_mutex; + + +cv::Mat img_buf1, img_buf2; //抓取图像缓冲区 +bool is_first_buf = true; //当前存入图像的缓冲区序号,初始化第1个缓冲区 +extern int save_flag; +extern bool is_connected; +extern int area_threshold; +extern int delay_time; +extern bool empty_flag; +extern int blow_time; +extern int fd_img; +int fd_result; +bool loss_flag = false; + +uint8_t temp_buf[(PULSE_NUMBER - TRIGGER_PULSE_NUMBER)*(VALVE_NUMBER/8)]; //每次处理结果的最后100个脉冲数据暂存 + + +extern void __stdcall onImageDataCallBackFunc(unsigned char * pData, MV_FRAME_OUT_INFO_EX* pFrameInfo, void* pUser) +{ + if (pFrameInfo) //帧信息有效 + { + cv::Mat img(pFrameInfo->nHeight, pFrameInfo->nWidth, CV_8UC3, pData); //构造图像 + + if(!emptybuff.tryAcquire()) //申请空缓冲区 + { + loss_flag = true; + qDebug()<<"loss loss loss loss loss loss loss loss"; + return; + } + + if(is_first_buf) + { + img_buf1 = img; + is_first_buf = false; //切换缓冲区 + fullbuff.release(); //释放正在处理的缓冲区 + + //qDebug()<<"_____buffer 1 get data_____"; + } + else + { + img_buf2 = img; + is_first_buf = true; + fullbuff.release(); + + //qDebug()<<"_____buffer 2 get data_____"; + } + } + return ; +} + +extern void __stdcall onOfflineCallBackFunc(unsigned int nMsgType, void* pUser) +{ + qDebug()<<"camera offline"; + judge_connect_mutex.lock(); + is_connected = false; + judge_connect_mutex.unlock(); + return; +} + + +Process_img::Process_img(QObject *parent) : QThread(parent), m_stop(false) +{ + +} + + +void Process_img::run() +{ + qDebug()<<"deal thread:"< 0) //确保为0 + { + fullbuff.acquire(n); + } + memset(temp_buf, 0, sizeof(temp_buf)); + while(1) + { + + stop_mutex.lock(); //是否停止 + if(m_stop) + { + stop_mutex.unlock(); + qDebug()<<"process thread quit_______________________"; + return; + } + stop_mutex.unlock(); + if(!fullbuff.tryAcquire()) + { + continue; + } + + if(is_first_buf) + { + emit send_image(img_buf2); //向主线程发送图片 + data_process(img_buf2); +// cv::cvtColor(img_buf2, img_buf2, CV_BGRA2RGB); +// save_img(img_buf2); + emptybuff.release(); + } + else + { + emit send_image(img_buf1); + data_process(img_buf1); +// cv::cvtColor(img_buf1, img_buf1, CV_BGRA2RGB); +// save_img(img_buf1); + emptybuff.release(); + } + } +} + + +void Process_img::exitThread() +{ + stop_mutex.lock(); + m_stop = true; + stop_mutex.unlock(); +} + +void Process_img::data_process(cv::Mat img) +{ + int ret = write(fd_img, img.data, img.rows*img.cols*3*sizeof(unsigned char)); + if(ret<0) + { + qDebug()<<"write error"; + } + uint8_t buf[1024]; + + fd_result = open(RESULT_PIPE, O_RDONLY); + if(fd_result != -1) + { + ret = read(fd_result, buf, 1024); + } + close(fd_result); + //qDebug()< bounding_box_set; + + for(int i=0; i1) +// { +// valve_index1++; +// valve_index2 = valve_index1; +// } + // 延长过小的糖果缺陷所需脉冲个数 + int defect_size = end - start; + //qDebug()< (PULSE_NUMBER-1)) +// { +// end = PULSE_NUMBER-1; +// } +// else +// { +// end = end + compensation; +// } + if((start - compensation > 0) && ((end + compensation) < PULSE_NUMBER - 1)) + { + start = start - compensation; + end = end + compensation; + } + if((start - compensation) < 0) + { + start = 0; + end = end + compensation + (compensation - start); + } + if((end + compensation) > (PULSE_NUMBER - 1)) + { + end = PULSE_NUMBER - 1; + start = start - compensation -(compensation - (PULSE_NUMBER - 1 - end)); + } + } + + //qDebug() << "valve_index1" << valve_index1 << " valve_index2" <=0; j--) + { + for(int k = 0; k < 8 ; k++) + temp = (temp << 1) | (plc_data[i][j*8 + k]); + send_buf[i * (VALVE_NUMBER/8) + j] = temp; + } + } + + for(int i=0; i < (PULSE_NUMBER - TRIGGER_PULSE_NUMBER)*(VALVE_NUMBER/8); i++) //这次图像的前100个脉冲与上次图像的后100脉冲取或运算,合并重合部分的两次处理结果 + { + send_buf[i] &= temp_buf[i]; + } + + memcpy(temp_buf, &send_buf[TRIGGER_PULSE_NUMBER*(VALVE_NUMBER/8)], (PULSE_NUMBER - TRIGGER_PULSE_NUMBER)*(VALVE_NUMBER/8)); //保存这次成像的后100脉冲处理结果 + + emit send_tab(send_buf); //通知主线程向下位机发送结果 +} + + +void Process_img::save_img(cv::Mat img) +{ + QDateTime time = QDateTime::currentDateTime(); + QString str = time.toString("yyyyMMddhhmmss"); + QString filepath = SAVE_IMAGE_PATH + str + ".bmp"; + cv::imwrite(filepath.toLatin1().data(), img); +} + + + +Adjust_para::Adjust_para(QObject *parent) : QThread(parent), m_stop(false), correct_flag(false) +{ + +} + + +void Adjust_para::run() +{ + int n = fullbuff.available(); + if(n > 0) + { + fullbuff.acquire(n); + } + + while(1) + { + stop_mutex.lock(); + if(m_stop) + { + stop_mutex.unlock(); + return; + } + stop_mutex.unlock(); + if(!fullbuff.tryAcquire()) + { + continue; + } + + if(is_first_buf) + { + emit send_image_debug(img_buf2); + correct_mutex.lock(); + if(correct_flag) + { + cv::imwrite("./correct.bmp", img_buf2); + + correct_flag = false; + } + correct_mutex.unlock(); + emptybuff.release(); + } + else + { + emit send_image_debug(img_buf1); + correct_mutex.lock(); + if(correct_flag) + { + cv::imwrite("./correct.bmp", img_buf1); + + correct_flag = false; + } + correct_mutex.unlock(); + emptybuff.release(); + } + } +} + + +void Adjust_para::exitThread() +{ + stop_mutex.lock(); + m_stop = true; + stop_mutex.unlock(); +} + + +void Adjust_para::get_correct_siganl() +{ + correct_mutex.lock(); + correct_flag = true; + correct_mutex.unlock(); +} + + +//test_thread +Grab_img::Grab_img(QObject *parent) : QThread(parent) +{ + is_stop = false; +} + +void Grab_img::run() +{ + int n = emptybuff.available(); + if(n < 2) + { + emptybuff.release(2 - n); + } + + while (1) + { + stop_mutex.lock(); + if(is_stop) + { + stop_mutex.unlock(); + qDebug()<<"grab thread will exit"; + return; + } + stop_mutex.unlock(); + + if(!emptybuff.tryAcquire()) + { + continue; + } + + if(is_first_buf) + { + char file_name[128] = "20220524085547.bmp"; + char test_img_path[128] = TEST_IMAGE_PATH; + strcat(test_img_path, file_name); + img_buf1 = cv::imread(test_img_path, 1); + is_first_buf = false; + fullbuff.release(); + } + else + { + char file_name[128] = "20220524091200.bmp"; + char test_img_path[128] = TEST_IMAGE_PATH; + strcat(test_img_path, file_name); + img_buf2 = cv::imread(test_img_path, 1); + is_first_buf = true; + fullbuff.release(); + } + msleep(200); + } +} + + +void Grab_img::thread_quit() +{ + stop_mutex.lock(); + is_stop = true; + stop_mutex.unlock(); +} + diff --git a/thread.h b/thread.h new file mode 100644 index 0000000..2064127 --- /dev/null +++ b/thread.h @@ -0,0 +1,108 @@ +#ifndef THREAD_H +#define THREAD_H + +#include +#include "opencv2/opencv.hpp" +#include +#include +#include +#include + +#define SAVE_IMAGE_PATH "/home/nvidia/candyPic/" +#define TEST_IMAGE_PATH "/home/nvidia/testImg/" +#define CONFIG_PATH "/home/nvidia/CandyProject/candy/para.ini" +#define CAMERA_CONFIG_PATH "/home/nvidia/CandyProject/candy/ccc.mfs" +#define RESULT_PATH "/home/nvidia/result/" +#define MODEL_INFO_PATH "/home/nvidia/CandyProject/yolov5/weights/model_info.txt" +#define CUR_MODEL_PATH "/home/nvidia/CandyProject/yolov5/weights/current_model.txt" +#define MODEL_PATH "/home/nvidia/CandyProject/yolov5/weights/" + + +#define VALVE_INTERVAL 49.5f // 2376(像素) / 48(喷阀个数) +#define TIME_INTERVAL 0.932f // 每个脉冲对应的像素个数 计算方法:图片像素数/对应脉冲数 +#define IMG_SAVE_PATH "./images5/%d.bmp" //路径自己指定,必须存在 +#define PULSE_NUMBER 626 // 一张图片占据648个编码器脉冲 +#define TRIGGER_PULSE_NUMBER 500 // 相机每隔500个脉冲触发一次(若修改,则需要联系下位机) +#define VALVE_NUMBER 48 // 喷阀个数(必须是8的倍数) + +// 识别相关 +#define SMALL_DEFECT_SIZE 170 // 当缺陷长度小于该值时自动补齐到EXPAND_SIZE +#define EXPAND_SIZE 170 // 将缺陷区域的大小以原位置为中心向上下延长到EXPAND_SIZE +#define RESULT_PIPE "/tmp/result_fifo.pipe" + +typedef struct +{ + int pointA_x; + int pointA_y; + int pointB_x; + int pointB_y; +}bad_candy_box; + + +class Process_img: public QThread +{ Q_OBJECT + +private: + QMutex stop_mutex; + bool m_stop; + +protected: + void run(); + +public: + explicit Process_img(QObject *parent = NULL); + void exitThread(); + void data_process(cv::Mat img); + void save_img(cv::Mat img); + + +signals: + void send_image(cv::Mat); + void send_res(QVector); + void send_tab(uint8_t*); +}; + + + + +class Adjust_para: public QThread +{ Q_OBJECT +private: + QMutex stop_mutex; + bool m_stop; + bool correct_flag; + QMutex correct_mutex; + +protected: + void run(); + +public: + explicit Adjust_para(QObject *parent = NULL); + void exitThread(); + +public slots: + void get_correct_siganl(); + +signals: + void send_image_debug(cv::Mat); +}; + + +//test_thread +class Grab_img: public QThread +{ Q_OBJECT +private: + QMutex stop_mutex; + bool is_stop; + +public: + explicit Grab_img(QObject *parent = NULL); + void judge_stop(); + void thread_quit(); + +protected: + void run(); +}; + +#endif // THREAD_H + diff --git a/thread.o b/thread.o new file mode 100644 index 0000000000000000000000000000000000000000..afdc2e2224ab9c8f87667b9a65a0812aa032081a GIT binary patch literal 125688 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 literal 0 HcmV?d00001 diff --git a/ui_initwidget.h b/ui_initwidget.h new file mode 100644 index 0000000..53ccfd5 --- /dev/null +++ b/ui_initwidget.h @@ -0,0 +1,70 @@ +/******************************************************************************** +** Form generated from reading UI file 'initwidget.ui' +** +** Created by: Qt User Interface Compiler version 4.8.7 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_INITWIDGET_H +#define UI_INITWIDGET_H + +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_InitWidget +{ +public: + QLabel *label; + QLabel *label_2; + + void setupUi(QWidget *InitWidget) + { + if (InitWidget->objectName().isEmpty()) + InitWidget->setObjectName(QString::fromUtf8("InitWidget")); + InitWidget->resize(1024, 768); + label = new QLabel(InitWidget); + label->setObjectName(QString::fromUtf8("label")); + label->setGeometry(QRect(130, 80, 741, 220)); + QFont font; + font.setPointSize(36); + label->setFont(font); + label->setAlignment(Qt::AlignCenter); + label_2 = new QLabel(InitWidget); + label_2->setObjectName(QString::fromUtf8("label_2")); + label_2->setGeometry(QRect(342, 656, 340, 71)); + QFont font1; + font1.setPointSize(21); + label_2->setFont(font1); + label_2->setAlignment(Qt::AlignCenter); + + retranslateUi(InitWidget); + + QMetaObject::connectSlotsByName(InitWidget); + } // setupUi + + void retranslateUi(QWidget *InitWidget) + { + InitWidget->setWindowTitle(QApplication::translate("InitWidget", "Form", 0, QApplication::UnicodeUTF8)); + label->setText(QApplication::translate("InitWidget", "\345\215\227\351\200\232\347\273\264\345\260\224\346\226\257\346\234\272\346\242\260\347\247\221\346\212\200\346\234\211\351\231\220\345\205\254\345\217\270\n" +"Nantong Wealth Technical Co, Ltd", 0, QApplication::UnicodeUTF8)); + label_2->setText(QApplication::translate("InitWidget", "\347\263\273\347\273\237\345\210\235\345\247\213\345\214\226\344\270\255...\n" +"Initialization...", 0, QApplication::UnicodeUTF8)); + } // retranslateUi + +}; + +namespace Ui { + class InitWidget: public Ui_InitWidget {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_INITWIDGET_H diff --git a/ui_modifypasswdialog.h b/ui_modifypasswdialog.h new file mode 100644 index 0000000..c13e88a --- /dev/null +++ b/ui_modifypasswdialog.h @@ -0,0 +1,161 @@ +/******************************************************************************** +** Form generated from reading UI file 'modifypasswdialog.ui' +** +** Created by: Qt User Interface Compiler version 4.8.7 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_MODIFYPASSWDIALOG_H +#define UI_MODIFYPASSWDIALOG_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_ModifyPasswdialog +{ +public: + QLineEdit *lineEdit; + QLabel *label; + QPushButton *btn9; + QPushButton *btn4; + QPushButton *btnDot; + QPushButton *btn3; + QPushButton *btn6; + QPushButton *btnCL; + QPushButton *btn0; + QPushButton *btn8; + QPushButton *btnEnt; + QPushButton *btn2; + QPushButton *btn7; + QPushButton *btn1; + QPushButton *btn5; + QPushButton *btnDE; + QPushButton *btnCancel; + QLineEdit *lineEdit_2; + QLabel *label_2; + QLabel *label_3; + + void setupUi(QDialog *ModifyPasswdialog) + { + if (ModifyPasswdialog->objectName().isEmpty()) + ModifyPasswdialog->setObjectName(QString::fromUtf8("ModifyPasswdialog")); + ModifyPasswdialog->resize(348, 432); + lineEdit = new QLineEdit(ModifyPasswdialog); + lineEdit->setObjectName(QString::fromUtf8("lineEdit")); + lineEdit->setGeometry(QRect(10, 60, 221, 31)); + lineEdit->setMaxLength(6); + lineEdit->setAlignment(Qt::AlignCenter); + label = new QLabel(ModifyPasswdialog); + label->setObjectName(QString::fromUtf8("label")); + label->setGeometry(QRect(60, 10, 191, 41)); + QFont font; + font.setPointSize(20); + label->setFont(font); + btn9 = new QPushButton(ModifyPasswdialog); + btn9->setObjectName(QString::fromUtf8("btn9")); + btn9->setGeometry(QRect(160, 290, 51, 51)); + btn4 = new QPushButton(ModifyPasswdialog); + btn4->setObjectName(QString::fromUtf8("btn4")); + btn4->setGeometry(QRect(20, 220, 51, 51)); + btnDot = new QPushButton(ModifyPasswdialog); + btnDot->setObjectName(QString::fromUtf8("btnDot")); + btnDot->setGeometry(QRect(90, 360, 51, 51)); + btn3 = new QPushButton(ModifyPasswdialog); + btn3->setObjectName(QString::fromUtf8("btn3")); + btn3->setGeometry(QRect(160, 150, 51, 51)); + btn6 = new QPushButton(ModifyPasswdialog); + btn6->setObjectName(QString::fromUtf8("btn6")); + btn6->setGeometry(QRect(160, 220, 51, 51)); + btnCL = new QPushButton(ModifyPasswdialog); + btnCL->setObjectName(QString::fromUtf8("btnCL")); + btnCL->setGeometry(QRect(230, 290, 61, 51)); + btn0 = new QPushButton(ModifyPasswdialog); + btn0->setObjectName(QString::fromUtf8("btn0")); + btn0->setGeometry(QRect(20, 360, 51, 51)); + btn8 = new QPushButton(ModifyPasswdialog); + btn8->setObjectName(QString::fromUtf8("btn8")); + btn8->setGeometry(QRect(90, 290, 51, 51)); + btnEnt = new QPushButton(ModifyPasswdialog); + btnEnt->setObjectName(QString::fromUtf8("btnEnt")); + btnEnt->setGeometry(QRect(230, 360, 61, 51)); + btn2 = new QPushButton(ModifyPasswdialog); + btn2->setObjectName(QString::fromUtf8("btn2")); + btn2->setGeometry(QRect(90, 150, 51, 51)); + btn7 = new QPushButton(ModifyPasswdialog); + btn7->setObjectName(QString::fromUtf8("btn7")); + btn7->setGeometry(QRect(20, 290, 51, 51)); + btn1 = new QPushButton(ModifyPasswdialog); + btn1->setObjectName(QString::fromUtf8("btn1")); + btn1->setGeometry(QRect(20, 150, 51, 51)); + btn5 = new QPushButton(ModifyPasswdialog); + btn5->setObjectName(QString::fromUtf8("btn5")); + btn5->setGeometry(QRect(90, 220, 51, 51)); + btnDE = new QPushButton(ModifyPasswdialog); + btnDE->setObjectName(QString::fromUtf8("btnDE")); + btnDE->setGeometry(QRect(230, 150, 61, 51)); + btnCancel = new QPushButton(ModifyPasswdialog); + btnCancel->setObjectName(QString::fromUtf8("btnCancel")); + btnCancel->setGeometry(QRect(230, 220, 61, 51)); + lineEdit_2 = new QLineEdit(ModifyPasswdialog); + lineEdit_2->setObjectName(QString::fromUtf8("lineEdit_2")); + lineEdit_2->setGeometry(QRect(10, 100, 221, 31)); + lineEdit_2->setMaxLength(6); + lineEdit_2->setAlignment(Qt::AlignCenter); + label_2 = new QLabel(ModifyPasswdialog); + label_2->setObjectName(QString::fromUtf8("label_2")); + label_2->setGeometry(QRect(240, 60, 81, 31)); + QFont font1; + font1.setPointSize(17); + label_2->setFont(font1); + label_3 = new QLabel(ModifyPasswdialog); + label_3->setObjectName(QString::fromUtf8("label_3")); + label_3->setGeometry(QRect(240, 100, 101, 31)); + label_3->setFont(font1); + + retranslateUi(ModifyPasswdialog); + + QMetaObject::connectSlotsByName(ModifyPasswdialog); + } // setupUi + + void retranslateUi(QDialog *ModifyPasswdialog) + { + ModifyPasswdialog->setWindowTitle(QApplication::translate("ModifyPasswdialog", "Dialog", 0, QApplication::UnicodeUTF8)); + label->setText(QApplication::translate("ModifyPasswdialog", "Input Password", 0, QApplication::UnicodeUTF8)); + btn9->setText(QApplication::translate("ModifyPasswdialog", "9", 0, QApplication::UnicodeUTF8)); + btn4->setText(QApplication::translate("ModifyPasswdialog", "4", 0, QApplication::UnicodeUTF8)); + btnDot->setText(QApplication::translate("ModifyPasswdialog", ".", 0, QApplication::UnicodeUTF8)); + btn3->setText(QApplication::translate("ModifyPasswdialog", "3", 0, QApplication::UnicodeUTF8)); + btn6->setText(QApplication::translate("ModifyPasswdialog", "6", 0, QApplication::UnicodeUTF8)); + btnCL->setText(QApplication::translate("ModifyPasswdialog", "CLEAR", 0, QApplication::UnicodeUTF8)); + btn0->setText(QApplication::translate("ModifyPasswdialog", "0", 0, QApplication::UnicodeUTF8)); + btn8->setText(QApplication::translate("ModifyPasswdialog", "8", 0, QApplication::UnicodeUTF8)); + btnEnt->setText(QApplication::translate("ModifyPasswdialog", "ENTER", 0, QApplication::UnicodeUTF8)); + btn2->setText(QApplication::translate("ModifyPasswdialog", "2", 0, QApplication::UnicodeUTF8)); + btn7->setText(QApplication::translate("ModifyPasswdialog", "7", 0, QApplication::UnicodeUTF8)); + btn1->setText(QApplication::translate("ModifyPasswdialog", "1", 0, QApplication::UnicodeUTF8)); + btn5->setText(QApplication::translate("ModifyPasswdialog", "5", 0, QApplication::UnicodeUTF8)); + btnDE->setText(QApplication::translate("ModifyPasswdialog", "DELETE", 0, QApplication::UnicodeUTF8)); + btnCancel->setText(QApplication::translate("ModifyPasswdialog", "CANCEL", 0, QApplication::UnicodeUTF8)); + label_2->setText(QApplication::translate("ModifyPasswdialog", "NEW", 0, QApplication::UnicodeUTF8)); + label_3->setText(QApplication::translate("ModifyPasswdialog", "CONFIRM", 0, QApplication::UnicodeUTF8)); + } // retranslateUi + +}; + +namespace Ui { + class ModifyPasswdialog: public Ui_ModifyPasswdialog {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_MODIFYPASSWDIALOG_H diff --git a/ui_passwddialog.h b/ui_passwddialog.h new file mode 100644 index 0000000..60c8c93 --- /dev/null +++ b/ui_passwddialog.h @@ -0,0 +1,141 @@ +/******************************************************************************** +** Form generated from reading UI file 'passwddialog.ui' +** +** Created by: Qt User Interface Compiler version 4.8.7 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_PASSWDDIALOG_H +#define UI_PASSWDDIALOG_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_PasswdDialog +{ +public: + QPushButton *btn1; + QPushButton *btn2; + QPushButton *btn0; + QPushButton *btnDot; + QPushButton *btn5; + QPushButton *btn8; + QPushButton *btn6; + QPushButton *btn4; + QPushButton *btn7; + QLineEdit *lineEdit; + QPushButton *btnCL; + QPushButton *btn3; + QPushButton *btn9; + QPushButton *btnDE; + QPushButton *btnCancel; + QPushButton *btnEnt; + QLabel *label; + + void setupUi(QDialog *PasswdDialog) + { + if (PasswdDialog->objectName().isEmpty()) + PasswdDialog->setObjectName(QString::fromUtf8("PasswdDialog")); + PasswdDialog->resize(300, 433); + btn1 = new QPushButton(PasswdDialog); + btn1->setObjectName(QString::fromUtf8("btn1")); + btn1->setGeometry(QRect(20, 120, 51, 51)); + btn2 = new QPushButton(PasswdDialog); + btn2->setObjectName(QString::fromUtf8("btn2")); + btn2->setGeometry(QRect(90, 120, 51, 51)); + btn0 = new QPushButton(PasswdDialog); + btn0->setObjectName(QString::fromUtf8("btn0")); + btn0->setGeometry(QRect(20, 330, 51, 51)); + btnDot = new QPushButton(PasswdDialog); + btnDot->setObjectName(QString::fromUtf8("btnDot")); + btnDot->setGeometry(QRect(90, 330, 51, 51)); + btn5 = new QPushButton(PasswdDialog); + btn5->setObjectName(QString::fromUtf8("btn5")); + btn5->setGeometry(QRect(90, 190, 51, 51)); + btn8 = new QPushButton(PasswdDialog); + btn8->setObjectName(QString::fromUtf8("btn8")); + btn8->setGeometry(QRect(90, 260, 51, 51)); + btn6 = new QPushButton(PasswdDialog); + btn6->setObjectName(QString::fromUtf8("btn6")); + btn6->setGeometry(QRect(160, 190, 51, 51)); + btn4 = new QPushButton(PasswdDialog); + btn4->setObjectName(QString::fromUtf8("btn4")); + btn4->setGeometry(QRect(20, 190, 51, 51)); + btn7 = new QPushButton(PasswdDialog); + btn7->setObjectName(QString::fromUtf8("btn7")); + btn7->setGeometry(QRect(20, 260, 51, 51)); + lineEdit = new QLineEdit(PasswdDialog); + lineEdit->setObjectName(QString::fromUtf8("lineEdit")); + lineEdit->setGeometry(QRect(10, 60, 281, 31)); + lineEdit->setMaxLength(6); + lineEdit->setAlignment(Qt::AlignCenter); + btnCL = new QPushButton(PasswdDialog); + btnCL->setObjectName(QString::fromUtf8("btnCL")); + btnCL->setGeometry(QRect(230, 260, 61, 51)); + btn3 = new QPushButton(PasswdDialog); + btn3->setObjectName(QString::fromUtf8("btn3")); + btn3->setGeometry(QRect(160, 120, 51, 51)); + btn9 = new QPushButton(PasswdDialog); + btn9->setObjectName(QString::fromUtf8("btn9")); + btn9->setGeometry(QRect(160, 260, 51, 51)); + btnDE = new QPushButton(PasswdDialog); + btnDE->setObjectName(QString::fromUtf8("btnDE")); + btnDE->setGeometry(QRect(230, 120, 61, 51)); + btnCancel = new QPushButton(PasswdDialog); + btnCancel->setObjectName(QString::fromUtf8("btnCancel")); + btnCancel->setGeometry(QRect(230, 190, 61, 51)); + btnEnt = new QPushButton(PasswdDialog); + btnEnt->setObjectName(QString::fromUtf8("btnEnt")); + btnEnt->setGeometry(QRect(230, 330, 61, 51)); + label = new QLabel(PasswdDialog); + label->setObjectName(QString::fromUtf8("label")); + label->setGeometry(QRect(60, 10, 191, 41)); + QFont font; + font.setPointSize(20); + label->setFont(font); + + retranslateUi(PasswdDialog); + + QMetaObject::connectSlotsByName(PasswdDialog); + } // setupUi + + void retranslateUi(QDialog *PasswdDialog) + { + PasswdDialog->setWindowTitle(QApplication::translate("PasswdDialog", "Dialog", 0, QApplication::UnicodeUTF8)); + btn1->setText(QApplication::translate("PasswdDialog", "1", 0, QApplication::UnicodeUTF8)); + btn2->setText(QApplication::translate("PasswdDialog", "2", 0, QApplication::UnicodeUTF8)); + btn0->setText(QApplication::translate("PasswdDialog", "0", 0, QApplication::UnicodeUTF8)); + btnDot->setText(QApplication::translate("PasswdDialog", ".", 0, QApplication::UnicodeUTF8)); + btn5->setText(QApplication::translate("PasswdDialog", "5", 0, QApplication::UnicodeUTF8)); + btn8->setText(QApplication::translate("PasswdDialog", "8", 0, QApplication::UnicodeUTF8)); + btn6->setText(QApplication::translate("PasswdDialog", "6", 0, QApplication::UnicodeUTF8)); + btn4->setText(QApplication::translate("PasswdDialog", "4", 0, QApplication::UnicodeUTF8)); + btn7->setText(QApplication::translate("PasswdDialog", "7", 0, QApplication::UnicodeUTF8)); + btnCL->setText(QApplication::translate("PasswdDialog", "CLEAR", 0, QApplication::UnicodeUTF8)); + btn3->setText(QApplication::translate("PasswdDialog", "3", 0, QApplication::UnicodeUTF8)); + btn9->setText(QApplication::translate("PasswdDialog", "9", 0, QApplication::UnicodeUTF8)); + btnDE->setText(QApplication::translate("PasswdDialog", "DELETE", 0, QApplication::UnicodeUTF8)); + btnCancel->setText(QApplication::translate("PasswdDialog", "CANCEL", 0, QApplication::UnicodeUTF8)); + btnEnt->setText(QApplication::translate("PasswdDialog", "ENTER", 0, QApplication::UnicodeUTF8)); + label->setText(QApplication::translate("PasswdDialog", "Input password", 0, QApplication::UnicodeUTF8)); + } // retranslateUi + +}; + +namespace Ui { + class PasswdDialog: public Ui_PasswdDialog {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_PASSWDDIALOG_H diff --git a/ui_widget.h b/ui_widget.h new file mode 100644 index 0000000..582a4cf --- /dev/null +++ b/ui_widget.h @@ -0,0 +1,1478 @@ +/******************************************************************************** +** Form generated from reading UI file 'widget.ui' +** +** Created by: Qt User Interface Compiler version 4.8.7 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_WIDGET_H +#define UI_WIDGET_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_Widget +{ +public: + QTabWidget *tabWidget; + QWidget *tab_1; + QPushButton *btn_Tab1_2; + QPushButton *btn_Tab1_3; + QLabel *label_1_1; + QLabel *label_1_5; + QLabel *MCU_status; + QPushButton *btn_close; + QWidget *tab_2; + QLabel *showlabel; + QPushButton *btnStart; + QPushButton *btnStop; + QPushButton *btn_Tab2_1; + QPushButton *btn_Tab2_5; + QLabel *label_stop; + QWidget *tab_3; + QPushButton *btn_Tab3_4; + QPushButton *btn_Tab3_6; + QLabel *label_3_3; + QPushButton *btnValveTest; + QPushButton *btn_Tab3_1; + QPushButton *btnImportImg; + QPushButton *btnSaveImg; + QPushButton *btnImportModel; + QPushButton *btnModifyPasswd; + QPushButton *btnManualValveTest; + QWidget *tab_4; + QLabel *showlabel_set; + QLabel *label_4_1; + QLabel *label_4_2; + QLabel *label_4_3; + QPushButton *btn_setcamerapara; + QDoubleSpinBox *gain_spinBox; + QDoubleSpinBox *et_spinBox; + QSpinBox *white_spinBox; + QPushButton *btn_getcorrect; + QPushButton *btn_correct; + QPushButton *btn_Tab4_3; + QLabel *label_1; + QLabel *label_2; + QWidget *tab_5; + QLabel *label_5_2; + QLabel *label_5_3; + QSpinBox *area_spinBox; + QSpinBox *delay_spinBox; + QLabel *label_5_1; + QPushButton *btn_Tab5_3; + QPushButton *btn_set_thereshold; + QLabel *label_5_4; + QSpinBox *blow_time_spinbox; + QPushButton *btn2; + QPushButton *btn3; + QPushButton *btn4; + QPushButton *btn5; + QPushButton *btn6; + QPushButton *btn7; + QPushButton *btn8; + QPushButton *btn9; + QPushButton *btn_DEL; + QPushButton *btn1; + QPushButton *btn0; + QLabel *label_5_5; + QSpinBox *rigorous_spinbox; + QWidget *tab_123; + QLabel *label_6_1; + QPushButton *btn_Tab6_3; + QComboBox *candy_select_box; + QWidget *tab; + QLabel *label_7_1; + QLabel *label; + QLabel *label_channel; + QPushButton *btn_channel_up; + QPushButton *btn_channel_down; + QPushButton *btn_Tab7_3; + QPushButton *btn_channel_send; + + void setupUi(QWidget *Widget) + { + if (Widget->objectName().isEmpty()) + Widget->setObjectName(QString::fromUtf8("Widget")); + Widget->resize(1024, 768); + tabWidget = new QTabWidget(Widget); + tabWidget->setObjectName(QString::fromUtf8("tabWidget")); + tabWidget->setGeometry(QRect(0, 0, 1021, 761)); + tabWidget->setStyleSheet(QString::fromUtf8("background-color: rgb(218, 239, 252);")); + tab_1 = new QWidget(); + tab_1->setObjectName(QString::fromUtf8("tab_1")); + btn_Tab1_2 = new QPushButton(tab_1); + btn_Tab1_2->setObjectName(QString::fromUtf8("btn_Tab1_2")); + btn_Tab1_2->setGeometry(QRect(100, 210, 291, 121)); + QPalette palette; + QBrush brush(QColor(238, 238, 236, 255)); + brush.setStyle(Qt::SolidPattern); + palette.setBrush(QPalette::Active, QPalette::WindowText, brush); + QBrush brush1(QColor(136, 138, 133, 255)); + brush1.setStyle(Qt::SolidPattern); + palette.setBrush(QPalette::Active, QPalette::Button, brush1); + QBrush brush2(QColor(204, 207, 200, 255)); + brush2.setStyle(Qt::SolidPattern); + palette.setBrush(QPalette::Active, QPalette::Light, brush2); + QBrush brush3(QColor(170, 172, 166, 255)); + brush3.setStyle(Qt::SolidPattern); + palette.setBrush(QPalette::Active, QPalette::Midlight, brush3); + QBrush brush4(QColor(68, 69, 66, 255)); + brush4.setStyle(Qt::SolidPattern); + palette.setBrush(QPalette::Active, QPalette::Dark, brush4); + QBrush brush5(QColor(91, 92, 89, 255)); + brush5.setStyle(Qt::SolidPattern); + palette.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette.setBrush(QPalette::Active, QPalette::Text, brush); + QBrush brush6(QColor(255, 255, 255, 255)); + brush6.setStyle(Qt::SolidPattern); + palette.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette.setBrush(QPalette::Active, QPalette::Base, brush1); + palette.setBrush(QPalette::Active, QPalette::Window, brush1); + QBrush brush7(QColor(0, 0, 0, 255)); + brush7.setStyle(Qt::SolidPattern); + palette.setBrush(QPalette::Active, QPalette::Shadow, brush7); + QBrush brush8(QColor(195, 196, 194, 255)); + brush8.setStyle(Qt::SolidPattern); + palette.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + QBrush brush9(QColor(255, 255, 220, 255)); + brush9.setStyle(Qt::SolidPattern); + palette.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btn_Tab1_2->setPalette(palette); + QFont font; + font.setFamily(QString::fromUtf8("Ubuntu")); + font.setPointSize(24); + font.setBold(false); + font.setItalic(false); + font.setWeight(50); + btn_Tab1_2->setFont(font); + btn_Tab1_2->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + btn_Tab1_3 = new QPushButton(tab_1); + btn_Tab1_3->setObjectName(QString::fromUtf8("btn_Tab1_3")); + btn_Tab1_3->setGeometry(QRect(570, 210, 291, 121)); + QPalette palette1; + palette1.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette1.setBrush(QPalette::Active, QPalette::Button, brush1); + palette1.setBrush(QPalette::Active, QPalette::Light, brush2); + palette1.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette1.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette1.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette1.setBrush(QPalette::Active, QPalette::Text, brush); + palette1.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette1.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette1.setBrush(QPalette::Active, QPalette::Base, brush1); + palette1.setBrush(QPalette::Active, QPalette::Window, brush1); + palette1.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette1.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette1.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette1.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette1.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette1.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette1.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette1.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette1.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette1.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette1.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette1.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette1.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette1.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette1.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette1.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette1.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette1.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette1.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette1.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette1.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette1.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette1.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette1.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette1.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette1.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette1.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette1.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette1.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette1.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette1.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette1.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette1.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette1.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btn_Tab1_3->setPalette(palette1); + QFont font1; + font1.setPointSize(24); + btn_Tab1_3->setFont(font1); + btn_Tab1_3->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236); \n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-radius:10px;")); + label_1_1 = new QLabel(tab_1); + label_1_1->setObjectName(QString::fromUtf8("label_1_1")); + label_1_1->setGeometry(QRect(35, 10, 921, 61)); + QFont font2; + font2.setPointSize(40); + label_1_1->setFont(font2); + label_1_1->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-width:4px;\n" +"border-radius:25px;")); + label_1_1->setAlignment(Qt::AlignCenter); + label_1_5 = new QLabel(tab_1); + label_1_5->setObjectName(QString::fromUtf8("label_1_5")); + label_1_5->setGeometry(QRect(35, 640, 931, 61)); + label_1_5->setFont(font2); + label_1_5->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-width:4px;\n" +"border-radius:25px;")); + label_1_5->setAlignment(Qt::AlignCenter); + MCU_status = new QLabel(tab_1); + MCU_status->setObjectName(QString::fromUtf8("MCU_status")); + MCU_status->setGeometry(QRect(870, 560, 71, 41)); + btn_close = new QPushButton(tab_1); + btn_close->setObjectName(QString::fromUtf8("btn_close")); + btn_close->setGeometry(QRect(590, 530, 231, 101)); + QFont font3; + font3.setFamily(QString::fromUtf8("Samyak Devanagari")); + font3.setPointSize(20); + font3.setBold(true); + font3.setWeight(75); + btn_close->setFont(font3); + btn_close->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(204, 0, 0);\n" +"border-radius:10px;")); + tabWidget->addTab(tab_1, QString()); + tab_2 = new QWidget(); + tab_2->setObjectName(QString::fromUtf8("tab_2")); + showlabel = new QLabel(tab_2); + showlabel->setObjectName(QString::fromUtf8("showlabel")); + showlabel->setGeometry(QRect(0, 0, 981, 521)); + showlabel->setStyleSheet(QString::fromUtf8("background-color: rgb(0, 0, 0);")); + btnStart = new QPushButton(tab_2); + btnStart->setObjectName(QString::fromUtf8("btnStart")); + btnStart->setGeometry(QRect(20, 580, 221, 91)); + QPalette palette2; + palette2.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette2.setBrush(QPalette::Active, QPalette::Button, brush1); + palette2.setBrush(QPalette::Active, QPalette::Light, brush2); + palette2.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette2.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette2.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette2.setBrush(QPalette::Active, QPalette::Text, brush); + palette2.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette2.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette2.setBrush(QPalette::Active, QPalette::Base, brush1); + palette2.setBrush(QPalette::Active, QPalette::Window, brush1); + palette2.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette2.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette2.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette2.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette2.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette2.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette2.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette2.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette2.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette2.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette2.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette2.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette2.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette2.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette2.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette2.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette2.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette2.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette2.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette2.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette2.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette2.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette2.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette2.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette2.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette2.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette2.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette2.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette2.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette2.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette2.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette2.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette2.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette2.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btnStart->setPalette(palette2); + btnStart->setFont(font1); + btnStart->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:15px;\n" +"background-color: rgb(136, 138, 133);\n" +"border-width:4px; ")); + btnStop = new QPushButton(tab_2); + btnStop->setObjectName(QString::fromUtf8("btnStop")); + btnStop->setGeometry(QRect(260, 580, 221, 91)); + QPalette palette3; + palette3.setBrush(QPalette::Active, QPalette::WindowText, brush7); + QBrush brush10(QColor(46, 52, 54, 255)); + brush10.setStyle(Qt::SolidPattern); + palette3.setBrush(QPalette::Active, QPalette::Button, brush10); + palette3.setBrush(QPalette::Active, QPalette::Light, brush2); + palette3.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette3.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette3.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette3.setBrush(QPalette::Active, QPalette::Text, brush7); + palette3.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette3.setBrush(QPalette::Active, QPalette::ButtonText, brush7); + palette3.setBrush(QPalette::Active, QPalette::Base, brush10); + palette3.setBrush(QPalette::Active, QPalette::Window, brush10); + palette3.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette3.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette3.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette3.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette3.setBrush(QPalette::Inactive, QPalette::WindowText, brush7); + palette3.setBrush(QPalette::Inactive, QPalette::Button, brush10); + palette3.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette3.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette3.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette3.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette3.setBrush(QPalette::Inactive, QPalette::Text, brush7); + palette3.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette3.setBrush(QPalette::Inactive, QPalette::ButtonText, brush7); + palette3.setBrush(QPalette::Inactive, QPalette::Base, brush10); + palette3.setBrush(QPalette::Inactive, QPalette::Window, brush10); + palette3.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette3.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette3.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette3.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette3.setBrush(QPalette::Disabled, QPalette::WindowText, brush7); + palette3.setBrush(QPalette::Disabled, QPalette::Button, brush10); + palette3.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette3.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette3.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette3.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette3.setBrush(QPalette::Disabled, QPalette::Text, brush7); + palette3.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette3.setBrush(QPalette::Disabled, QPalette::ButtonText, brush7); + palette3.setBrush(QPalette::Disabled, QPalette::Base, brush10); + palette3.setBrush(QPalette::Disabled, QPalette::Window, brush10); + palette3.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette3.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette3.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette3.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btnStop->setPalette(palette3); + btnStop->setFont(font1); + btnStop->setStyleSheet(QString::fromUtf8("color: rgb(0, 0, 0);\n" +"background-color: rgb(46, 52, 54);\n" +"border-radius:10px;")); + btn_Tab2_1 = new QPushButton(tab_2); + btn_Tab2_1->setObjectName(QString::fromUtf8("btn_Tab2_1")); + btn_Tab2_1->setGeometry(QRect(510, 580, 221, 91)); + QPalette palette4; + palette4.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette4.setBrush(QPalette::Active, QPalette::Button, brush1); + palette4.setBrush(QPalette::Active, QPalette::Light, brush2); + palette4.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette4.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette4.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette4.setBrush(QPalette::Active, QPalette::Text, brush); + palette4.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette4.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette4.setBrush(QPalette::Active, QPalette::Base, brush1); + palette4.setBrush(QPalette::Active, QPalette::Window, brush1); + palette4.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette4.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette4.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette4.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette4.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette4.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette4.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette4.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette4.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette4.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette4.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette4.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette4.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette4.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette4.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette4.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette4.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette4.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette4.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette4.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette4.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette4.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette4.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette4.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette4.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette4.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette4.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette4.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette4.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette4.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette4.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette4.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette4.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette4.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btn_Tab2_1->setPalette(palette4); + btn_Tab2_1->setFont(font1); + btn_Tab2_1->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + btn_Tab2_5 = new QPushButton(tab_2); + btn_Tab2_5->setObjectName(QString::fromUtf8("btn_Tab2_5")); + btn_Tab2_5->setGeometry(QRect(760, 580, 221, 91)); + QPalette palette5; + palette5.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette5.setBrush(QPalette::Active, QPalette::Button, brush1); + palette5.setBrush(QPalette::Active, QPalette::Light, brush2); + palette5.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette5.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette5.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette5.setBrush(QPalette::Active, QPalette::Text, brush); + palette5.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette5.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette5.setBrush(QPalette::Active, QPalette::Base, brush1); + palette5.setBrush(QPalette::Active, QPalette::Window, brush1); + palette5.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette5.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette5.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette5.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette5.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette5.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette5.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette5.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette5.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette5.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette5.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette5.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette5.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette5.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette5.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette5.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette5.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette5.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette5.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette5.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette5.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette5.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette5.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette5.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette5.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette5.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette5.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette5.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette5.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette5.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette5.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette5.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette5.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette5.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btn_Tab2_5->setPalette(palette5); + btn_Tab2_5->setFont(font1); + btn_Tab2_5->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + label_stop = new QLabel(tab_2); + label_stop->setObjectName(QString::fromUtf8("label_stop")); + label_stop->setGeometry(QRect(290, 530, 161, 41)); + QFont font4; + font4.setPointSize(18); + label_stop->setFont(font4); + tabWidget->addTab(tab_2, QString()); + tab_3 = new QWidget(); + tab_3->setObjectName(QString::fromUtf8("tab_3")); + btn_Tab3_4 = new QPushButton(tab_3); + btn_Tab3_4->setObjectName(QString::fromUtf8("btn_Tab3_4")); + btn_Tab3_4->setGeometry(QRect(130, 140, 291, 81)); + QPalette palette6; + palette6.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette6.setBrush(QPalette::Active, QPalette::Button, brush1); + palette6.setBrush(QPalette::Active, QPalette::Light, brush2); + palette6.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette6.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette6.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette6.setBrush(QPalette::Active, QPalette::Text, brush); + palette6.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette6.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette6.setBrush(QPalette::Active, QPalette::Base, brush1); + palette6.setBrush(QPalette::Active, QPalette::Window, brush1); + palette6.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette6.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette6.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette6.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette6.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette6.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette6.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette6.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette6.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette6.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette6.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette6.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette6.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette6.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette6.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette6.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette6.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette6.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette6.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette6.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette6.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette6.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette6.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette6.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette6.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette6.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette6.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette6.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette6.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette6.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette6.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette6.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette6.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette6.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btn_Tab3_4->setPalette(palette6); + btn_Tab3_4->setFont(font); + btn_Tab3_4->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + btn_Tab3_6 = new QPushButton(tab_3); + btn_Tab3_6->setObjectName(QString::fromUtf8("btn_Tab3_6")); + btn_Tab3_6->setGeometry(QRect(130, 270, 291, 81)); + QPalette palette7; + palette7.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette7.setBrush(QPalette::Active, QPalette::Button, brush1); + palette7.setBrush(QPalette::Active, QPalette::Light, brush2); + palette7.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette7.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette7.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette7.setBrush(QPalette::Active, QPalette::Text, brush); + palette7.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette7.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette7.setBrush(QPalette::Active, QPalette::Base, brush1); + palette7.setBrush(QPalette::Active, QPalette::Window, brush1); + palette7.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette7.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette7.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette7.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette7.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette7.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette7.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette7.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette7.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette7.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette7.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette7.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette7.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette7.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette7.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette7.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette7.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette7.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette7.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette7.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette7.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette7.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette7.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette7.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette7.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette7.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette7.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette7.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette7.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette7.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette7.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette7.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette7.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette7.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btn_Tab3_6->setPalette(palette7); + btn_Tab3_6->setFont(font1); + btn_Tab3_6->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + label_3_3 = new QLabel(tab_3); + label_3_3->setObjectName(QString::fromUtf8("label_3_3")); + label_3_3->setGeometry(QRect(0, 20, 311, 101)); + QFont font5; + font5.setPointSize(30); + label_3_3->setFont(font5); + label_3_3->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(204, 0, 0);\n" +"border-radius:10px;")); + label_3_3->setAlignment(Qt::AlignCenter); + btnValveTest = new QPushButton(tab_3); + btnValveTest->setObjectName(QString::fromUtf8("btnValveTest")); + btnValveTest->setGeometry(QRect(540, 140, 301, 81)); + QPalette palette8; + palette8.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette8.setBrush(QPalette::Active, QPalette::Button, brush1); + palette8.setBrush(QPalette::Active, QPalette::Light, brush2); + palette8.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette8.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette8.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette8.setBrush(QPalette::Active, QPalette::Text, brush); + palette8.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette8.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette8.setBrush(QPalette::Active, QPalette::Base, brush1); + palette8.setBrush(QPalette::Active, QPalette::Window, brush1); + palette8.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette8.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette8.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette8.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette8.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette8.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette8.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette8.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette8.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette8.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette8.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette8.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette8.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette8.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette8.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette8.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette8.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette8.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette8.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette8.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette8.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette8.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette8.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette8.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette8.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette8.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette8.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette8.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette8.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette8.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette8.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette8.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette8.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette8.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btnValveTest->setPalette(palette8); + btnValveTest->setFont(font1); + btnValveTest->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + btn_Tab3_1 = new QPushButton(tab_3); + btn_Tab3_1->setObjectName(QString::fromUtf8("btn_Tab3_1")); + btn_Tab3_1->setGeometry(QRect(700, 610, 221, 91)); + QPalette palette9; + palette9.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette9.setBrush(QPalette::Active, QPalette::Button, brush1); + palette9.setBrush(QPalette::Active, QPalette::Light, brush2); + palette9.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette9.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette9.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette9.setBrush(QPalette::Active, QPalette::Text, brush); + palette9.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette9.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette9.setBrush(QPalette::Active, QPalette::Base, brush1); + palette9.setBrush(QPalette::Active, QPalette::Window, brush1); + palette9.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette9.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette9.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette9.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette9.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette9.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette9.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette9.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette9.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette9.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette9.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette9.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette9.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette9.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette9.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette9.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette9.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette9.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette9.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette9.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette9.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette9.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette9.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette9.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette9.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette9.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette9.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette9.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette9.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette9.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette9.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette9.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette9.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette9.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btn_Tab3_1->setPalette(palette9); + btn_Tab3_1->setFont(font1); + btn_Tab3_1->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + btnImportImg = new QPushButton(tab_3); + btnImportImg->setObjectName(QString::fromUtf8("btnImportImg")); + btnImportImg->setGeometry(QRect(130, 390, 291, 81)); + QPalette palette10; + palette10.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette10.setBrush(QPalette::Active, QPalette::Button, brush1); + palette10.setBrush(QPalette::Active, QPalette::Light, brush2); + palette10.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette10.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette10.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette10.setBrush(QPalette::Active, QPalette::Text, brush); + palette10.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette10.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette10.setBrush(QPalette::Active, QPalette::Base, brush1); + palette10.setBrush(QPalette::Active, QPalette::Window, brush1); + palette10.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette10.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette10.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette10.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette10.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette10.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette10.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette10.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette10.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette10.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette10.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette10.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette10.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette10.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette10.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette10.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette10.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette10.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette10.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette10.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette10.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette10.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette10.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette10.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette10.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette10.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette10.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette10.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette10.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette10.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette10.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette10.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette10.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette10.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btnImportImg->setPalette(palette10); + btnImportImg->setFont(font1); + btnImportImg->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + btnSaveImg = new QPushButton(tab_3); + btnSaveImg->setObjectName(QString::fromUtf8("btnSaveImg")); + btnSaveImg->setGeometry(QRect(540, 270, 301, 81)); + QPalette palette11; + palette11.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette11.setBrush(QPalette::Active, QPalette::Button, brush1); + palette11.setBrush(QPalette::Active, QPalette::Light, brush2); + palette11.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette11.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette11.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette11.setBrush(QPalette::Active, QPalette::Text, brush); + palette11.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette11.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette11.setBrush(QPalette::Active, QPalette::Base, brush1); + palette11.setBrush(QPalette::Active, QPalette::Window, brush1); + palette11.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette11.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette11.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette11.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette11.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette11.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette11.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette11.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette11.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette11.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette11.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette11.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette11.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette11.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette11.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette11.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette11.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette11.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette11.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette11.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette11.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette11.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette11.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette11.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette11.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette11.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette11.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette11.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette11.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette11.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette11.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette11.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette11.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette11.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btnSaveImg->setPalette(palette11); + btnSaveImg->setFont(font1); + btnSaveImg->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + btnImportModel = new QPushButton(tab_3); + btnImportModel->setObjectName(QString::fromUtf8("btnImportModel")); + btnImportModel->setGeometry(QRect(540, 390, 301, 81)); + QPalette palette12; + palette12.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette12.setBrush(QPalette::Active, QPalette::Button, brush1); + palette12.setBrush(QPalette::Active, QPalette::Light, brush2); + palette12.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette12.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette12.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette12.setBrush(QPalette::Active, QPalette::Text, brush); + palette12.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette12.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette12.setBrush(QPalette::Active, QPalette::Base, brush1); + palette12.setBrush(QPalette::Active, QPalette::Window, brush1); + palette12.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette12.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette12.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette12.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette12.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette12.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette12.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette12.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette12.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette12.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette12.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette12.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette12.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette12.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette12.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette12.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette12.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette12.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette12.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette12.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette12.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette12.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette12.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette12.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette12.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette12.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette12.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette12.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette12.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette12.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette12.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette12.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette12.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette12.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btnImportModel->setPalette(palette12); + btnImportModel->setFont(font1); + btnImportModel->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + btnModifyPasswd = new QPushButton(tab_3); + btnModifyPasswd->setObjectName(QString::fromUtf8("btnModifyPasswd")); + btnModifyPasswd->setGeometry(QRect(130, 510, 291, 81)); + QPalette palette13; + palette13.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette13.setBrush(QPalette::Active, QPalette::Button, brush1); + palette13.setBrush(QPalette::Active, QPalette::Light, brush2); + palette13.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette13.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette13.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette13.setBrush(QPalette::Active, QPalette::Text, brush); + palette13.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette13.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette13.setBrush(QPalette::Active, QPalette::Base, brush1); + palette13.setBrush(QPalette::Active, QPalette::Window, brush1); + palette13.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette13.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette13.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette13.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette13.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette13.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette13.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette13.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette13.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette13.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette13.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette13.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette13.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette13.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette13.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette13.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette13.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette13.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette13.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette13.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette13.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette13.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette13.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette13.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette13.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette13.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette13.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette13.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette13.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette13.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette13.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette13.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette13.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette13.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btnModifyPasswd->setPalette(palette13); + btnModifyPasswd->setFont(font1); + btnModifyPasswd->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + btnManualValveTest = new QPushButton(tab_3); + btnManualValveTest->setObjectName(QString::fromUtf8("btnManualValveTest")); + btnManualValveTest->setGeometry(QRect(540, 510, 301, 81)); + QPalette palette14; + palette14.setBrush(QPalette::Active, QPalette::WindowText, brush); + palette14.setBrush(QPalette::Active, QPalette::Button, brush1); + palette14.setBrush(QPalette::Active, QPalette::Light, brush2); + palette14.setBrush(QPalette::Active, QPalette::Midlight, brush3); + palette14.setBrush(QPalette::Active, QPalette::Dark, brush4); + palette14.setBrush(QPalette::Active, QPalette::Mid, brush5); + palette14.setBrush(QPalette::Active, QPalette::Text, brush); + palette14.setBrush(QPalette::Active, QPalette::BrightText, brush6); + palette14.setBrush(QPalette::Active, QPalette::ButtonText, brush); + palette14.setBrush(QPalette::Active, QPalette::Base, brush1); + palette14.setBrush(QPalette::Active, QPalette::Window, brush1); + palette14.setBrush(QPalette::Active, QPalette::Shadow, brush7); + palette14.setBrush(QPalette::Active, QPalette::AlternateBase, brush8); + palette14.setBrush(QPalette::Active, QPalette::ToolTipBase, brush9); + palette14.setBrush(QPalette::Active, QPalette::ToolTipText, brush7); + palette14.setBrush(QPalette::Inactive, QPalette::WindowText, brush); + palette14.setBrush(QPalette::Inactive, QPalette::Button, brush1); + palette14.setBrush(QPalette::Inactive, QPalette::Light, brush2); + palette14.setBrush(QPalette::Inactive, QPalette::Midlight, brush3); + palette14.setBrush(QPalette::Inactive, QPalette::Dark, brush4); + palette14.setBrush(QPalette::Inactive, QPalette::Mid, brush5); + palette14.setBrush(QPalette::Inactive, QPalette::Text, brush); + palette14.setBrush(QPalette::Inactive, QPalette::BrightText, brush6); + palette14.setBrush(QPalette::Inactive, QPalette::ButtonText, brush); + palette14.setBrush(QPalette::Inactive, QPalette::Base, brush1); + palette14.setBrush(QPalette::Inactive, QPalette::Window, brush1); + palette14.setBrush(QPalette::Inactive, QPalette::Shadow, brush7); + palette14.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush8); + palette14.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush9); + palette14.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush7); + palette14.setBrush(QPalette::Disabled, QPalette::WindowText, brush); + palette14.setBrush(QPalette::Disabled, QPalette::Button, brush1); + palette14.setBrush(QPalette::Disabled, QPalette::Light, brush2); + palette14.setBrush(QPalette::Disabled, QPalette::Midlight, brush3); + palette14.setBrush(QPalette::Disabled, QPalette::Dark, brush4); + palette14.setBrush(QPalette::Disabled, QPalette::Mid, brush5); + palette14.setBrush(QPalette::Disabled, QPalette::Text, brush); + palette14.setBrush(QPalette::Disabled, QPalette::BrightText, brush6); + palette14.setBrush(QPalette::Disabled, QPalette::ButtonText, brush); + palette14.setBrush(QPalette::Disabled, QPalette::Base, brush1); + palette14.setBrush(QPalette::Disabled, QPalette::Window, brush1); + palette14.setBrush(QPalette::Disabled, QPalette::Shadow, brush7); + palette14.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1); + palette14.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush9); + palette14.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush7); + btnManualValveTest->setPalette(palette14); + btnManualValveTest->setFont(font1); + btnManualValveTest->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"border-radius:10px;\n" +"background-color: rgb(136, 138, 133);\n" +"font: 24pt \"Ubuntu\";\n" +"border-width:4px; ")); + tabWidget->addTab(tab_3, QString()); + tab_4 = new QWidget(); + tab_4->setObjectName(QString::fromUtf8("tab_4")); + showlabel_set = new QLabel(tab_4); + showlabel_set->setObjectName(QString::fromUtf8("showlabel_set")); + showlabel_set->setGeometry(QRect(0, 0, 641, 431)); + showlabel_set->setStyleSheet(QString::fromUtf8("background-color: rgb(0, 0, 0);")); + label_4_1 = new QLabel(tab_4); + label_4_1->setObjectName(QString::fromUtf8("label_4_1")); + label_4_1->setGeometry(QRect(640, 60, 151, 71)); + QFont font6; + font6.setPointSize(16); + label_4_1->setFont(font6); + label_4_2 = new QLabel(tab_4); + label_4_2->setObjectName(QString::fromUtf8("label_4_2")); + label_4_2->setGeometry(QRect(640, 150, 181, 61)); + label_4_2->setFont(font6); + label_4_3 = new QLabel(tab_4); + label_4_3->setObjectName(QString::fromUtf8("label_4_3")); + label_4_3->setGeometry(QRect(640, 240, 161, 51)); + label_4_3->setFont(font6); + btn_setcamerapara = new QPushButton(tab_4); + btn_setcamerapara->setObjectName(QString::fromUtf8("btn_setcamerapara")); + btn_setcamerapara->setGeometry(QRect(690, 350, 241, 101)); + btn_setcamerapara->setFont(font1); + btn_setcamerapara->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-radius:10px;")); + gain_spinBox = new QDoubleSpinBox(tab_4); + gain_spinBox->setObjectName(QString::fromUtf8("gain_spinBox")); + gain_spinBox->setGeometry(QRect(780, 250, 231, 41)); + gain_spinBox->setFont(font4); + gain_spinBox->setStyleSheet(QString::fromUtf8("QDoubleSpinBox::up-button\n" +"{subcontrol-origin:border;\n" +"subcontrol-position:right;\n" +"width:50px;\n" +"height:100px;\n" +"}\n" +"QDoubleSpinBox::down-button\n" +"{subcontrol-origin:border;\n" +"subcontrol-position:left;\n" +"width:50px;\n" +"height:100px;\n" +"}")); + et_spinBox = new QDoubleSpinBox(tab_4); + et_spinBox->setObjectName(QString::fromUtf8("et_spinBox")); + et_spinBox->setGeometry(QRect(790, 60, 221, 61)); + et_spinBox->setFont(font4); + et_spinBox->setStyleSheet(QString::fromUtf8("QDoubleSpinBox::up-button\n" +"{subcontrol-origin:border;\n" +"subcontrol-position:right;\n" +"width:50px;\n" +"height:100px;\n" +"}\n" +"QDoubleSpinBox::down-button\n" +"{subcontrol-origin:border;\n" +"subcontrol-position:left;\n" +"width:50px;\n" +"height:100px;\n" +"}")); + white_spinBox = new QSpinBox(tab_4); + white_spinBox->setObjectName(QString::fromUtf8("white_spinBox")); + white_spinBox->setGeometry(QRect(780, 150, 231, 51)); + white_spinBox->setFont(font4); + white_spinBox->setStyleSheet(QString::fromUtf8("QSpinBox::up-button\n" +"{subcontrol-origin:border;\n" +"subcontrol-position:right;\n" +"width:50px;\n" +"height:100px;\n" +"}\n" +"QSpinBox::down-button\n" +"{subcontrol-origin:border;\n" +"subcontrol-position:left;\n" +"width:50px;\n" +"height:100px;\n" +"}")); + btn_getcorrect = new QPushButton(tab_4); + btn_getcorrect->setObjectName(QString::fromUtf8("btn_getcorrect")); + btn_getcorrect->setGeometry(QRect(10, 450, 341, 91)); + btn_getcorrect->setFont(font1); + btn_getcorrect->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-radius:10px;")); + btn_correct = new QPushButton(tab_4); + btn_correct->setObjectName(QString::fromUtf8("btn_correct")); + btn_correct->setGeometry(QRect(10, 570, 341, 81)); + btn_correct->setFont(font1); + btn_correct->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-radius:10px;")); + btn_Tab4_3 = new QPushButton(tab_4); + btn_Tab4_3->setObjectName(QString::fromUtf8("btn_Tab4_3")); + btn_Tab4_3->setGeometry(QRect(780, 610, 201, 81)); + btn_Tab4_3->setFont(font1); + btn_Tab4_3->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-radius:10px;")); + label_1 = new QLabel(tab_4); + label_1->setObjectName(QString::fromUtf8("label_1")); + label_1->setGeometry(QRect(400, 550, 261, 81)); + label_1->setFont(font6); + label_2 = new QLabel(tab_4); + label_2->setObjectName(QString::fromUtf8("label_2")); + label_2->setGeometry(QRect(590, 540, 121, 51)); + label_2->setFont(font6); + tabWidget->addTab(tab_4, QString()); + label_4_3->raise(); + label_4_2->raise(); + label_4_1->raise(); + showlabel_set->raise(); + btn_setcamerapara->raise(); + gain_spinBox->raise(); + et_spinBox->raise(); + white_spinBox->raise(); + btn_getcorrect->raise(); + btn_correct->raise(); + btn_Tab4_3->raise(); + label_1->raise(); + label_2->raise(); + tab_5 = new QWidget(); + tab_5->setObjectName(QString::fromUtf8("tab_5")); + label_5_2 = new QLabel(tab_5); + label_5_2->setObjectName(QString::fromUtf8("label_5_2")); + label_5_2->setGeometry(QRect(20, 150, 331, 61)); + QFont font7; + font7.setPointSize(20); + label_5_2->setFont(font7); + label_5_3 = new QLabel(tab_5); + label_5_3->setObjectName(QString::fromUtf8("label_5_3")); + label_5_3->setGeometry(QRect(20, 240, 331, 71)); + label_5_3->setFont(font7); + area_spinBox = new QSpinBox(tab_5); + area_spinBox->setObjectName(QString::fromUtf8("area_spinBox")); + area_spinBox->setGeometry(QRect(380, 149, 221, 51)); + area_spinBox->setFont(font4); + delay_spinBox = new QSpinBox(tab_5); + delay_spinBox->setObjectName(QString::fromUtf8("delay_spinBox")); + delay_spinBox->setGeometry(QRect(380, 249, 221, 51)); + delay_spinBox->setFont(font4); + label_5_1 = new QLabel(tab_5); + label_5_1->setObjectName(QString::fromUtf8("label_5_1")); + label_5_1->setGeometry(QRect(0, 30, 391, 91)); + label_5_1->setFont(font5); + label_5_1->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(204, 0, 0);\n" +"border-radius:10px;")); + label_5_1->setAlignment(Qt::AlignCenter); + btn_Tab5_3 = new QPushButton(tab_5); + btn_Tab5_3->setObjectName(QString::fromUtf8("btn_Tab5_3")); + btn_Tab5_3->setGeometry(QRect(790, 600, 201, 91)); + QFont font8; + font8.setPointSize(28); + btn_Tab5_3->setFont(font8); + btn_Tab5_3->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-radius:10px;")); + btn_set_thereshold = new QPushButton(tab_5); + btn_set_thereshold->setObjectName(QString::fromUtf8("btn_set_thereshold")); + btn_set_thereshold->setGeometry(QRect(410, 610, 181, 91)); + btn_set_thereshold->setFont(font8); + btn_set_thereshold->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-radius:10px;")); + label_5_4 = new QLabel(tab_5); + label_5_4->setObjectName(QString::fromUtf8("label_5_4")); + label_5_4->setGeometry(QRect(20, 350, 331, 61)); + label_5_4->setFont(font7); + blow_time_spinbox = new QSpinBox(tab_5); + blow_time_spinbox->setObjectName(QString::fromUtf8("blow_time_spinbox")); + blow_time_spinbox->setGeometry(QRect(380, 360, 221, 51)); + blow_time_spinbox->setFont(font4); + btn2 = new QPushButton(tab_5); + btn2->setObjectName(QString::fromUtf8("btn2")); + btn2->setGeometry(QRect(760, 150, 61, 51)); + QFont font9; + font9.setPointSize(15); + btn2->setFont(font9); + btn3 = new QPushButton(tab_5); + btn3->setObjectName(QString::fromUtf8("btn3")); + btn3->setGeometry(QRect(840, 150, 61, 51)); + btn3->setFont(font9); + btn4 = new QPushButton(tab_5); + btn4->setObjectName(QString::fromUtf8("btn4")); + btn4->setGeometry(QRect(680, 220, 61, 51)); + btn4->setFont(font9); + btn5 = new QPushButton(tab_5); + btn5->setObjectName(QString::fromUtf8("btn5")); + btn5->setGeometry(QRect(760, 220, 61, 51)); + btn5->setFont(font9); + btn6 = new QPushButton(tab_5); + btn6->setObjectName(QString::fromUtf8("btn6")); + btn6->setGeometry(QRect(840, 220, 61, 51)); + btn6->setFont(font9); + btn7 = new QPushButton(tab_5); + btn7->setObjectName(QString::fromUtf8("btn7")); + btn7->setGeometry(QRect(680, 290, 61, 51)); + btn7->setFont(font9); + btn8 = new QPushButton(tab_5); + btn8->setObjectName(QString::fromUtf8("btn8")); + btn8->setGeometry(QRect(760, 290, 61, 51)); + btn8->setFont(font9); + btn9 = new QPushButton(tab_5); + btn9->setObjectName(QString::fromUtf8("btn9")); + btn9->setGeometry(QRect(840, 290, 61, 51)); + btn9->setFont(font9); + btn_DEL = new QPushButton(tab_5); + btn_DEL->setObjectName(QString::fromUtf8("btn_DEL")); + btn_DEL->setGeometry(QRect(840, 360, 71, 51)); + btn_DEL->setFont(font9); + btn1 = new QPushButton(tab_5); + btn1->setObjectName(QString::fromUtf8("btn1")); + btn1->setGeometry(QRect(680, 150, 61, 51)); + btn1->setFont(font9); + btn0 = new QPushButton(tab_5); + btn0->setObjectName(QString::fromUtf8("btn0")); + btn0->setGeometry(QRect(760, 360, 61, 51)); + btn0->setFont(font9); + label_5_5 = new QLabel(tab_5); + label_5_5->setObjectName(QString::fromUtf8("label_5_5")); + label_5_5->setGeometry(QRect(20, 460, 331, 81)); + label_5_5->setFont(font7); + rigorous_spinbox = new QSpinBox(tab_5); + rigorous_spinbox->setObjectName(QString::fromUtf8("rigorous_spinbox")); + rigorous_spinbox->setGeometry(QRect(380, 480, 221, 51)); + rigorous_spinbox->setFont(font4); + tabWidget->addTab(tab_5, QString()); + tab_123 = new QWidget(); + tab_123->setObjectName(QString::fromUtf8("tab_123")); + label_6_1 = new QLabel(tab_123); + label_6_1->setObjectName(QString::fromUtf8("label_6_1")); + label_6_1->setGeometry(QRect(0, 40, 351, 101)); + label_6_1->setFont(font5); + label_6_1->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(204, 0, 0);\n" +"border-radius:10px;")); + label_6_1->setAlignment(Qt::AlignCenter); + btn_Tab6_3 = new QPushButton(tab_123); + btn_Tab6_3->setObjectName(QString::fromUtf8("btn_Tab6_3")); + btn_Tab6_3->setGeometry(QRect(710, 590, 211, 91)); + btn_Tab6_3->setFont(font8); + btn_Tab6_3->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-radius:10px;")); + candy_select_box = new QComboBox(tab_123); + candy_select_box->setObjectName(QString::fromUtf8("candy_select_box")); + candy_select_box->setGeometry(QRect(190, 210, 361, 91)); + candy_select_box->setStyleSheet(QString::fromUtf8("QComboBox\n" +"{\n" +" border: 1px solid gray; \n" +" border-radius: 3px; \n" +" padding: 1px 18px 1px 3px; \n" +" color: #000;\n" +" font: normal normal 25px \"Microsoft YaHei\";\n" +" background: transparent;\n" +"}\n" +"QCombox::drop-down\n" +"{\n" +"width:100px;\n" +"border:none;\n" +"}")); + tabWidget->addTab(tab_123, QString()); + tab = new QWidget(); + tab->setObjectName(QString::fromUtf8("tab")); + label_7_1 = new QLabel(tab); + label_7_1->setObjectName(QString::fromUtf8("label_7_1")); + label_7_1->setGeometry(QRect(0, 40, 351, 101)); + label_7_1->setFont(font5); + label_7_1->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(204, 0, 0);\n" +"border-radius:10px;")); + label_7_1->setAlignment(Qt::AlignCenter); + label = new QLabel(tab); + label->setObjectName(QString::fromUtf8("label")); + label->setGeometry(QRect(30, 260, 131, 101)); + label->setFont(font7); + label_channel = new QLabel(tab); + label_channel->setObjectName(QString::fromUtf8("label_channel")); + label_channel->setGeometry(QRect(200, 260, 131, 101)); + label_channel->setFont(font7); + btn_channel_up = new QPushButton(tab); + btn_channel_up->setObjectName(QString::fromUtf8("btn_channel_up")); + btn_channel_up->setGeometry(QRect(30, 410, 141, 91)); + btn_channel_up->setFont(font5); + btn_channel_up->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-radius:10px;")); + btn_channel_down = new QPushButton(tab); + btn_channel_down->setObjectName(QString::fromUtf8("btn_channel_down")); + btn_channel_down->setGeometry(QRect(230, 410, 141, 91)); + btn_channel_down->setFont(font5); + btn_channel_down->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-radius:10px;")); + btn_Tab7_3 = new QPushButton(tab); + btn_Tab7_3->setObjectName(QString::fromUtf8("btn_Tab7_3")); + btn_Tab7_3->setGeometry(QRect(750, 560, 201, 91)); + btn_Tab7_3->setFont(font8); + btn_Tab7_3->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-radius:10px;")); + btn_channel_send = new QPushButton(tab); + btn_channel_send->setObjectName(QString::fromUtf8("btn_channel_send")); + btn_channel_send->setGeometry(QRect(30, 550, 341, 91)); + btn_channel_send->setFont(font5); + btn_channel_send->setStyleSheet(QString::fromUtf8("color: rgb(238, 238, 236);\n" +"background-color: rgb(136, 138, 133);\n" +"border-radius:10px;")); + tabWidget->addTab(tab, QString()); + + retranslateUi(Widget); + + tabWidget->setCurrentIndex(4); + + + QMetaObject::connectSlotsByName(Widget); + } // setupUi + + void retranslateUi(QWidget *Widget) + { + Widget->setWindowTitle(QApplication::translate("Widget", "Widget", 0, QApplication::UnicodeUTF8)); + btn_Tab1_2->setText(QApplication::translate("Widget", "\345\210\206\351\200\211\351\241\265\351\235\242\n" +"Sorting Page", 0, QApplication::UnicodeUTF8)); + btn_Tab1_3->setText(QApplication::translate("Widget", "\350\257\246\347\273\206\350\256\276\347\275\256\n" +"Settings", 0, QApplication::UnicodeUTF8)); + label_1_1->setText(QApplication::translate("Widget", "Candy Grading System", 0, QApplication::UnicodeUTF8)); + label_1_5->setText(QString()); + MCU_status->setText(QString()); + btn_close->setText(QApplication::translate("Widget", "\345\205\263 \346\234\272\n" +"Power off", 0, QApplication::UnicodeUTF8)); + tabWidget->setTabText(tabWidget->indexOf(tab_1), QApplication::translate("Widget", "Tab 1", 0, QApplication::UnicodeUTF8)); + showlabel->setText(QString()); + btnStart->setText(QApplication::translate("Widget", "\345\274\200\345\247\213\345\210\206\351\200\211\n" +"Start", 0, QApplication::UnicodeUTF8)); + btnStop->setText(QApplication::translate("Widget", "\345\201\234\346\255\242\345\210\206\351\200\211\n" +"Stop", 0, QApplication::UnicodeUTF8)); + btn_Tab2_1->setText(QApplication::translate("Widget", "\344\270\273\350\217\234\345\215\225\n" +"Menu", 0, QApplication::UnicodeUTF8)); + btn_Tab2_5->setText(QApplication::translate("Widget", "\345\217\202\346\225\260\350\260\203\346\225\264\n" +"Parameters", 0, QApplication::UnicodeUTF8)); + label_stop->setText(QString()); + tabWidget->setTabText(tabWidget->indexOf(tab_2), QApplication::translate("Widget", "Tab 2", 0, QApplication::UnicodeUTF8)); + btn_Tab3_4->setText(QApplication::translate("Widget", "\347\233\270\346\234\272\345\217\202\346\225\260\350\256\276\347\275\256\n" +"Camera Parameters", 0, QApplication::UnicodeUTF8)); + btn_Tab3_6->setText(QApplication::translate("Widget", "\345\210\206\351\200\211\347\263\226\346\236\234\347\261\273\345\236\213\n" +"Candy Types", 0, QApplication::UnicodeUTF8)); + label_3_3->setText(QApplication::translate("Widget", "\350\257\246\347\273\206\350\256\276\347\275\256\n" +"Settings", 0, QApplication::UnicodeUTF8)); + btnValveTest->setText(QApplication::translate("Widget", "\345\226\267\351\230\200\346\265\213\350\257\225\n" +"Test Valves", 0, QApplication::UnicodeUTF8)); + btn_Tab3_1->setText(QApplication::translate("Widget", "\344\270\273\350\217\234\345\215\225\n" +"Menu", 0, QApplication::UnicodeUTF8)); + btnImportImg->setText(QApplication::translate("Widget", "\345\257\274\345\207\272\345\233\276\347\211\207\n" +"Export Images", 0, QApplication::UnicodeUTF8)); + btnSaveImg->setText(QApplication::translate("Widget", "Save", 0, QApplication::UnicodeUTF8)); + btnImportModel->setText(QApplication::translate("Widget", "\345\257\274\345\205\245\346\250\241\345\236\213\n" +"Import Models", 0, QApplication::UnicodeUTF8)); + btnModifyPasswd->setText(QApplication::translate("Widget", "\344\277\256\346\224\271\345\257\206\347\240\201\n" +"Change Password", 0, QApplication::UnicodeUTF8)); + btnManualValveTest->setText(QApplication::translate("Widget", "\345\226\267\351\230\200\346\211\213\345\212\250\346\265\213\350\257\225\n" +"Manual Test Valves", 0, QApplication::UnicodeUTF8)); + tabWidget->setTabText(tabWidget->indexOf(tab_3), QApplication::translate("Widget", "Tab3", 0, QApplication::UnicodeUTF8)); + showlabel_set->setText(QString()); + label_4_1->setText(QApplication::translate("Widget", "\346\233\235\345\205\211\346\227\266\351\227\264\n" +"Explosure", 0, QApplication::UnicodeUTF8)); + label_4_2->setText(QApplication::translate("Widget", "\347\231\275\345\271\263\350\241\241\n" +"White Balance", 0, QApplication::UnicodeUTF8)); + label_4_3->setText(QApplication::translate("Widget", "\345\242\236\347\233\212\n" +"Gain", 0, QApplication::UnicodeUTF8)); + btn_setcamerapara->setText(QApplication::translate("Widget", "\350\256\276\347\275\256\345\217\202\346\225\260\n" +"Set", 0, QApplication::UnicodeUTF8)); + btn_getcorrect->setText(QApplication::translate("Widget", "\351\207\207\351\233\206\346\240\241\346\255\243\345\233\276\345\203\217\n" +"Grap Correcting Image", 0, QApplication::UnicodeUTF8)); + btn_correct->setText(QApplication::translate("Widget", "\350\211\262\345\275\251\346\240\241\346\255\243\n" +"Color Correcting", 0, QApplication::UnicodeUTF8)); + btn_Tab4_3->setText(QApplication::translate("Widget", "\350\277\224\345\233\236\n" +"Back", 0, QApplication::UnicodeUTF8)); + label_1->setText(QApplication::translate("Widget", "\344\272\256\345\272\246\345\200\274(brightness):\n" +"\n" +"(need correcting board)", 0, QApplication::UnicodeUTF8)); + label_2->setText(QApplication::translate("Widget", "TextLabel", 0, QApplication::UnicodeUTF8)); + tabWidget->setTabText(tabWidget->indexOf(tab_4), QApplication::translate("Widget", "tab_4", 0, QApplication::UnicodeUTF8)); + label_5_2->setText(QApplication::translate("Widget", "\347\274\272\351\231\267\351\235\242\347\247\257\351\230\210\345\200\274\n" +"Defect Area", 0, QApplication::UnicodeUTF8)); + label_5_3->setText(QApplication::translate("Widget", "\345\273\266\346\227\266\346\227\266\351\227\264\n" +"Delay Time", 0, QApplication::UnicodeUTF8)); + label_5_1->setText(QApplication::translate("Widget", "\345\210\206\351\200\211\351\230\210\345\200\274\350\256\276\347\275\256\n" +"Parameters", 0, QApplication::UnicodeUTF8)); + btn_Tab5_3->setText(QApplication::translate("Widget", "\350\277\224\345\233\236\n" +"Back", 0, QApplication::UnicodeUTF8)); + btn_set_thereshold->setText(QApplication::translate("Widget", "\350\256\276\347\275\256\n" +"Set", 0, QApplication::UnicodeUTF8)); + label_5_4->setText(QApplication::translate("Widget", "\345\220\271\346\260\224\351\207\217\n" +"Blow Time", 0, QApplication::UnicodeUTF8)); + btn2->setText(QApplication::translate("Widget", "2", 0, QApplication::UnicodeUTF8)); + btn3->setText(QApplication::translate("Widget", "3", 0, QApplication::UnicodeUTF8)); + btn4->setText(QApplication::translate("Widget", "4", 0, QApplication::UnicodeUTF8)); + btn5->setText(QApplication::translate("Widget", "5", 0, QApplication::UnicodeUTF8)); + btn6->setText(QApplication::translate("Widget", "6", 0, QApplication::UnicodeUTF8)); + btn7->setText(QApplication::translate("Widget", "7", 0, QApplication::UnicodeUTF8)); + btn8->setText(QApplication::translate("Widget", "8", 0, QApplication::UnicodeUTF8)); + btn9->setText(QApplication::translate("Widget", "9", 0, QApplication::UnicodeUTF8)); + btn_DEL->setText(QApplication::translate("Widget", "DEL", 0, QApplication::UnicodeUTF8)); + btn1->setText(QApplication::translate("Widget", "1", 0, QApplication::UnicodeUTF8)); + btn0->setText(QApplication::translate("Widget", "0", 0, QApplication::UnicodeUTF8)); + label_5_5->setText(QApplication::translate("Widget", "\344\270\245\346\240\274\347\250\213\345\272\246\n" +"Rigorous Level", 0, QApplication::UnicodeUTF8)); + tabWidget->setTabText(tabWidget->indexOf(tab_5), QApplication::translate("Widget", "tab_5", 0, QApplication::UnicodeUTF8)); + label_6_1->setText(QApplication::translate("Widget", "\347\263\226\346\236\234\347\261\273\345\236\213\351\200\211\346\213\251\357\274\232\n" +"Candy Type", 0, QApplication::UnicodeUTF8)); + btn_Tab6_3->setText(QApplication::translate("Widget", "\350\277\224\345\233\236\n" +"Back", 0, QApplication::UnicodeUTF8)); + tabWidget->setTabText(tabWidget->indexOf(tab_123), QApplication::translate("Widget", "tab_6", 0, QApplication::UnicodeUTF8)); + label_7_1->setText(QApplication::translate("Widget", "\345\226\267\351\230\200\346\211\213\345\212\250\346\265\213\350\257\225\357\274\232\n" +"Manual Test Valves", 0, QApplication::UnicodeUTF8)); + label->setText(QApplication::translate("Widget", "\351\200\232\351\201\223:\n" +"Channel", 0, QApplication::UnicodeUTF8)); + label_channel->setText(QApplication::translate("Widget", "0", 0, QApplication::UnicodeUTF8)); + btn_channel_up->setText(QApplication::translate("Widget", "+", 0, QApplication::UnicodeUTF8)); + btn_channel_down->setText(QApplication::translate("Widget", "-", 0, QApplication::UnicodeUTF8)); + btn_Tab7_3->setText(QApplication::translate("Widget", "\350\277\224\345\233\236\n" +"Back", 0, QApplication::UnicodeUTF8)); + btn_channel_send->setText(QApplication::translate("Widget", "\345\217\221\351\200\201\351\200\232\351\201\223\n" +"Channel Send", 0, QApplication::UnicodeUTF8)); + tabWidget->setTabText(tabWidget->indexOf(tab), QApplication::translate("Widget", "Page", 0, QApplication::UnicodeUTF8)); + } // retranslateUi + +}; + +namespace Ui { + class Widget: public Ui_Widget {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_WIDGET_H diff --git a/widget.cpp b/widget.cpp new file mode 100644 index 0000000..ae74b0e --- /dev/null +++ b/widget.cpp @@ -0,0 +1,1466 @@ +#include "widget.h" +#include "ui_widget.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "opencv2/imgproc/types_c.h" +#include + +#define BTN_ENABLIE_STYTLE "QPushButton{color:rgb(255, 255, 255); background-color:rgb(34, 139, 34);border-radius:15px;}" +#define BTN_DISABLIE_STYTLE "QPushButton{color:rgb(255, 255, 255); background-color:rgb(136, 138, 133);border-radius:15px;}" + +#define IMG_PIPE "/tmp/img_fifo.pipe" +#define RESULT_PIPE "/tmp/result_fifo.pipe" + +bool is_connected = false; +int save_flag; //保存标志位 +int area_threshold; //面积最小阈值 +int delay_time; //延时时间 +int blow_time; //吹气量 +int rigorous; +bool empty_flag; // +extern QSemaphore emptybuff; +extern bool loss_flag; +int fd_img; //管道文件描述符 图片传递 +//int fd_result; //管道文件描述符 回传结果 + +Widget::Widget(QWidget *parent) : + QWidget(parent), + ui(new Ui::Widget) +{ + ui->setupUi(this); + this->setWindowFlags(Qt::Widget); + this->showFullScreen(); + init_window(); + connect_signals(); + +} + +Widget::~Widget() +{ + delete ui; +} + +void Widget::init_window() +{ + resize(1024, 768); + + ui->tabWidget->findChildren().at(0)->hide(); + ui->tabWidget->setCurrentIndex(0); + + QList button = findChildren(); //设置所有按键不为焦点,设置按钮样式和是否使能 + for(int i=0; isetFocusPolicy(Qt::NoFocus); + button[i]->setStyleSheet(BTN_ENABLIE_STYTLE); + } + ui->btnStop->setStyleSheet(BTN_DISABLIE_STYTLE); + ui->btnStop->setEnabled(false); + ui->btn_correct->setStyleSheet(BTN_DISABLIE_STYTLE); + ui->btn_correct->setEnabled(false); + ui->btn_close->setStyleSheet("QPushButton{color:rgb(255, 255, 255); background-color:rgb(255, 0, 0);border-radius:15px;}"); + + + ui->et_spinBox->setRange(0, 9999500.00); + //ui->et_spinBox->setDecimals(2); + ui->et_spinBox->setSingleStep(0.01); + ui->gain_spinBox->setRange(0, 16.98); + //ui->gain_spinBox->setDecimals(2); + ui->gain_spinBox->setSingleStep(0.01); + ui->white_spinBox->setRange(0, 4095); + + ui->delay_spinBox->setRange(0, 5000); + ui->area_spinBox->setRange(0, 10000); + ui->blow_time_spinbox->setRange(0, 148); + ui->rigorous_spinbox->setRange(1, 99); + + channel = 1; + ui->label_channel->setText(QString::number(channel)); + ui->label_stop->setText(" "); + + m_camera = new Camera; + m_camera->init_camera(); + + server = new QTcpServer(); + server->listen(QHostAddress::Any, 13452); + + set_candy_select_box(); + load_para_config(); + + if(access(IMG_PIPE, F_OK) == -1) + { + int res = mkfifo(IMG_PIPE, 0755); + if(res<0) + { + qDebug()<<"create img fifo failed"; + } + } + if(access(RESULT_PIPE, F_OK) == -1) + { + int res = mkfifo(RESULT_PIPE, 0755); + if(res<0) + { + qDebug()<<"create img fifo failed"; + } + } + + fd_img = open(IMG_PIPE, O_WRONLY); + if(fd_img<0) + { + qDebug()<<"open img fifo failed"; + } +// fd_result = open(RESULT_PIPE, O_RDONLY); +// if(fd_result<0) +// { +// qDebug()<<"open result fifo failed"; +// } + + + ui->MCU_status->setStyleSheet("QLabel{background-color:rgb(255,0,0);}"); + ui->MCU_status->setText(QString::fromLocal8Bit("未连接")); +} + +void Widget::connect_signals() +{ + //Tab_1 + connect(ui->btn_Tab1_2, SIGNAL(clicked()), this, SLOT(On_btn_Tab1_2_click())); + connect(ui->btn_Tab1_3, SIGNAL(clicked()), this, SLOT(On_btn_Tab1_3_click())); + + //Tab_2 + connect(ui->btnStart, SIGNAL(clicked()), this, SLOT(On_btnStart_click())); + connect(ui->btnStop, SIGNAL(clicked()), this, SLOT(On_bthStop_click())); + + connect(ui->btn_Tab2_1, SIGNAL(clicked()), this, SLOT(On_btn_Tab2_1_click())); + connect(ui->btn_Tab2_5, SIGNAL(clicked()), this, SLOT(On_btn_Tab2_5_click())); + + //Tab_3 + connect(ui->btnValveTest, SIGNAL(clicked()), this, SLOT(On_btnValveTest_click())); + connect(ui->btn_Tab3_1,SIGNAL(clicked()), this, SLOT(On_btn_Tab3_1_click())); + connect(ui->btn_Tab3_4,SIGNAL(clicked()), this, SLOT(On_btn_Tab3_4_click())); + connect(ui->btn_Tab3_6,SIGNAL(clicked()), this, SLOT(On_btn_Tab3_6_click())); + connect(ui->btnImportImg, SIGNAL(clicked()), this, SLOT(On_btnImportImg_click())); + connect(ui->btnSaveImg, SIGNAL(clicked()), this, SLOT(On_btnSaveImg_click())); + connect(ui->btnImportModel, SIGNAL(clicked()), this, SLOT(On_btnImportModel_click())); + connect(ui->btnModifyPasswd, SIGNAL(clicked()), this, SLOT(On_btnModifyPasswd_click())); + connect(ui->btnManualValveTest, SIGNAL(clicked()), this, SLOT(On_btnManualValveTest())); + //Tab_4 + connect(ui->btn_correct, SIGNAL(clicked()), this, SLOT(On_btn_correct_click())); + connect(ui->btn_getcorrect, SIGNAL(clicked()), this, SLOT(On_btn_getcorrect_click())); + connect(ui->btn_setcamerapara, SIGNAL(clicked()), this, SLOT(On_btn_setcamerapara_click())); + connect(ui->btn_Tab4_3, SIGNAL(clicked()), this, SLOT(On_btn_Tab4_3_click())); + + //Tab_5 + connect(ui->btn_Tab5_3, SIGNAL(clicked()), this, SLOT(On_btn_Tab5_3_click())); + connect(ui->btn_set_thereshold, SIGNAL(clicked()), this, SLOT(On_btn_set_thereshold_click())); + + //Tab_6 + connect(ui->btn_Tab6_3, SIGNAL(clicked()), this, SLOT(On_btn_Tab6_3_click())); + + connect(ui->candy_select_box, SIGNAL(currentIndexChanged(int)), this, SLOT(On_candy_select_box_index_change(int))); + connect(server, SIGNAL(newConnection()), this, SLOT(ServerNewConnection())); + connect(ui->btn_close, SIGNAL(clicked()), this, SLOT(On_btn_close_click())); + + connect(ui->btn1, SIGNAL(clicked()), this, SLOT(On_btn1_clicked())); + connect(ui->btn2, SIGNAL(clicked()), this, SLOT(On_btn2_clicked())); + connect(ui->btn3, SIGNAL(clicked()), this, SLOT(On_btn3_clicked())); + connect(ui->btn4, SIGNAL(clicked()), this, SLOT(On_btn4_clicked())); + connect(ui->btn5, SIGNAL(clicked()), this, SLOT(On_btn5_clicked())); + connect(ui->btn6, SIGNAL(clicked()), this, SLOT(On_btn6_clicked())); + connect(ui->btn7, SIGNAL(clicked()), this, SLOT(On_btn7_clicked())); + connect(ui->btn8, SIGNAL(clicked()), this, SLOT(On_btn8_clicked())); + connect(ui->btn9, SIGNAL(clicked()), this, SLOT(On_btn9_clicked())); + connect(ui->btn0, SIGNAL(clicked()), this, SLOT(On_btn0_clicked())); + connect(ui->btn_DEL, SIGNAL(clicked()), this, SLOT(On_btn_DEL_clicked())); + + //Tab 7 + connect(ui->btn_Tab7_3, SIGNAL(clicked()), this, SLOT(On_btn_Tab7_3_click())); + connect(ui->btn_channel_up, SIGNAL(clicked()), this, SLOT(On_btnchannelup_click())); + connect(ui->btn_channel_down, SIGNAL(clicked()), this, SLOT(On_btnchanneldown_click())); + connect(ui->btn_channel_send, SIGNAL(clicked()), this, SLOT(On_btn_channel_send_clicked())); +// connect(ui->btn_1, SIGNAL(clicked()), this, SLOT(On_btn_1_clicked())); +// connect(ui->btn_2, SIGNAL(clicked()), this, SLOT(On_btn_2_clicked())); +// connect(ui->btn_3, SIGNAL(clicked()), this, SLOT(On_btn_3_clicked())); +// connect(ui->btn_4, SIGNAL(clicked()), this, SLOT(On_btn_4_clicked())); +// connect(ui->btn_5, SIGNAL(clicked()), this, SLOT(On_btn_5_clicked())); +// connect(ui->btn_6, SIGNAL(clicked()), this, SLOT(On_btn_6_clicked())); +// connect(ui->btn_7, SIGNAL(clicked()), this, SLOT(On_btn_7_clicked())); +// connect(ui->btn_8, SIGNAL(clicked()), this, SLOT(On_btn_8_clicked())); +// connect(ui->btn_9, SIGNAL(clicked()), this, SLOT(On_btn_9_clicked())); +// connect(ui->btn_0, SIGNAL(clicked()), this, SLOT(On_btn_0_clicked())); +// connect(ui->btn_dot, SIGNAL(clicked()), this, SLOT(On_btn_dot_clicked())); +// connect(ui->btn_del, SIGNAL(clicked()), this, SLOT(On_btn_del_clicked())); +// connect(ui->btn_clr, SIGNAL(clicked()), this, SLOT(On_btn_clr_clicked())); +} + +void Widget::On_btn_Tab1_2_click() +{ + ui->tabWidget->setCurrentIndex(1); +} + +void Widget::On_btn_Tab1_3_click() +{ + passwd_dialog = new PasswdDialog(); + connect(passwd_dialog, SIGNAL(send_password(QString)), this, SLOT(judge_password(QString))); + connect(this, SIGNAL(wrong_passwd()), passwd_dialog, SLOT(deal_wrong_passwd())); + passwd_dialog->show(); +} + +void Widget::On_btnStart_click() +{ + process_img = new Process_img(this); + //grab_img = new Grab_img(this); //my_test_thread + connect(process_img, SIGNAL(send_image(cv::Mat)), this, SLOT(showimage(cv::Mat)),Qt::BlockingQueuedConnection); + connect(process_img, SIGNAL(send_res(QVector)), this, SLOT(drawbox(QVector)), Qt::BlockingQueuedConnection); + connect(process_img, SIGNAL(send_tab(uint8_t*)), this, SLOT(get_tab(uint8_t*)), Qt::BlockingQueuedConnection); + + int n = emptybuff.available(); + if(n < 2) + { + emptybuff.release(2 - n); + } + //grab_img->start(); + m_camera->set_acquisition_mode(); + m_camera->start_capture(); + process_img->start(); + + QString delay_time = ui->delay_spinBox->text(); + QByteArray ba = delay_time.toLatin1(); + char* dt = ba.data(); + char send_tab[12]; + qDebug() << dt[0] << dt[1] <write((const char*)send_tab, 12); + + send_tab[0] = 0xAA; + send_tab[1] = 0x00; + send_tab[2] = 0x05; + send_tab[3] = 's'; + send_tab[4] = 'c'; + send_tab[5] = '5'; + send_tab[6] = '0'; + send_tab[7] = '0'; + send_tab[8] = 0xFF; + send_tab[9] = 0xFF; + send_tab[10] = 0xBB; + socket->write((const char*)send_tab, 11); + + send_tab[0] = 0xAA; + send_tab[1] = 0x00; + send_tab[2] = 0x04; + send_tab[3] = 's'; + send_tab[4] = 'v'; + send_tab[5] = '1'; + send_tab[6] = '0'; + send_tab[7] = 0xFF; + send_tab[8] = 0xFF; + send_tab[9] = 0xBB; + socket->write((const char*)send_tab, 10); + + send_tab[0] = 0xAA; + send_tab[1] = 0x00; + send_tab[2] = 0x03; + send_tab[3] = 's'; + send_tab[4] = 't'; + send_tab[5] = 0xFF; + send_tab[6] = 0xFF; + send_tab[7] = 0xFF; + send_tab[8] = 0xBB; + socket->write((const char*)send_tab, 9); + + ui->btnStart->setStyleSheet(BTN_DISABLIE_STYTLE); + ui->btnStart->setEnabled(false); + ui->btnStop->setStyleSheet(BTN_ENABLIE_STYTLE); + ui->btnStop->setEnabled(true); + ui->btn_Tab1_3->setStyleSheet(BTN_DISABLIE_STYTLE); + ui->btn_Tab1_3->setEnabled(false); + ui->btn_Tab2_5->setStyleSheet(BTN_DISABLIE_STYTLE); + ui->btn_Tab2_5->setEnabled(false); + + +} + + +void Widget::On_bthStop_click() +{ + ui->label_stop->setText("stopping..."); + qApp->processEvents(); + disconnect(process_img, SIGNAL(send_image(cv::Mat)), this, SLOT(showimage(cv::Mat))); + disconnect(process_img, SIGNAL(send_res(QVector)), this, SLOT(drawbox(QVector))); + disconnect(process_img, SIGNAL(send_tab(uint8_t*)), this, SLOT(get_tab(uint8_t*))); +// +// grab_img->thread_quit(); +// + char send_tab[9]; + send_tab[0] = 0xAA; + send_tab[1] = 0x00; + send_tab[2] = 0x03; + send_tab[3] = 's'; + send_tab[4] = 'p'; + send_tab[5] = 0xFF; + send_tab[6] = 0xFF; + send_tab[7] = 0xFF; + send_tab[8] = 0xBB; + + socket->write((const char*)send_tab, 9); + + sleep(1); + m_camera->stop_capture(); + sleep(3); + + + QMessageBox box; + box.setText("Stopping..."); + + box.setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint);//去掉边框 + + box.setStandardButtons(0); //不要按键 + + box.setStyleSheet("QLabel{min-width: 250px;min-height: 120px;font-size:40px;}"); + QTimer::singleShot(3000, &box, SLOT(accept())); //3秒自动关闭 + box.exec(); + + process_img->exitThread(); + process_img->wait(); + +// + //my_test_thread +// grab_img->wait(); +// if(grab_img->isFinished()) +// { +// qDebug()<<"grab thread finish"; +// } +// + + if(process_img->isFinished()) + { + qDebug()<<"process thread finish"; + } + + +// +// delete grab_img; +// + + delete process_img; + + qDebug() << "Stop Success!"; + ui->btnStop->setStyleSheet(BTN_DISABLIE_STYTLE); + ui->btnStop->setEnabled(false); + + ui->btnStart->setStyleSheet(BTN_ENABLIE_STYTLE); + ui->btnStart->setEnabled(true); + ui->btn_Tab1_3->setStyleSheet(BTN_ENABLIE_STYTLE); + ui->btn_Tab1_3->setEnabled(true); + ui->btn_Tab2_5->setStyleSheet(BTN_ENABLIE_STYTLE); + ui->btn_Tab2_5->setEnabled(true); + + + ui->showlabel->clear(); + ui->label_stop->setText(" "); +} + +void Widget::On_btn_Tab2_1_click() +{ + ui->tabWidget->setCurrentIndex(0); +} + +void Widget::On_btn_Tab2_5_click() +{ + qDebug()<<"adjust"; + ui->tabWidget->setCurrentIndex(4); +} + +void Widget::On_btnValveTest_click() +{ + qDebug()<<"valvetest"; + char send_tab[9]; + send_tab[0] = 0xAA; + send_tab[1] = 0x00; + send_tab[2] = 0x03; + send_tab[3] = 't'; + send_tab[4] = 'e'; + send_tab[5] = 0xFF; + send_tab[6] = 0xFF; + send_tab[7] = 0xFF; + send_tab[8] = 0xBB; + socket->write((const char*)send_tab, 9); +} + +void Widget::On_btn_Tab3_1_click() +{ + ui->tabWidget->setCurrentIndex(0); +} + +void Widget::On_btn_Tab3_4_click() +{ + ui->tabWidget->setCurrentIndex(3); + adjust_para = new Adjust_para(this); + connect(adjust_para, SIGNAL(send_image_debug(cv::Mat)), this, SLOT(showimage_test(cv::Mat)),Qt::BlockingQueuedConnection); + connect(this, SIGNAL(correct_signal()), adjust_para, SLOT(get_correct_siganl())); + int n = emptybuff.available(); + if(n < 2) + { + emptybuff.release(2 - n); + } + Camera_param param = m_camera->get_param(); + ui->et_spinBox->setValue(param.exposure_time); + ui->white_spinBox->setValue(param.white_balance_ratio); + ui->gain_spinBox->setValue(param.gain); + m_camera->set_test_acquisition_mode(); + m_camera->start_capture(); +// grab_img = new Grab_img(this); //my_test_thread +// grab_img->start(); //my_test_thread + adjust_para->start(); +} + +void Widget::On_btn_Tab3_6_click() +{ + ui->tabWidget->setCurrentIndex(5); +} + +void Widget::On_btn_correct_click() +{ + qDebug()<<"correct"; +// cv::Mat correct_image = cv::imread("./correct.bmp", 1); +// m_correct->get_rgb(correct_image); +// m_correct->cal_correction_ratio(); +// m_correct->is_corrected=true; +} + +void Widget::On_btn_getcorrect_click() +{ + qDebug()<<"get correct"; + //emit correct_signal(); + ui->btn_correct->setStyleSheet(BTN_ENABLIE_STYTLE); + ui->btn_correct->setEnabled(true); +} + +void Widget::On_btn_setcamerapara_click() +{ + Camera_param sets; + sets.exposure_time = ui->et_spinBox->text().toFloat(); + sets.gain = ui->gain_spinBox->text().toFloat(); + sets.white_balance_ratio = ui->white_spinBox->text().toInt(); + + qDebug()<set_param(sets); + + m_camera->stop_capture(); + usleep(1000); + + m_camera->get_param(); + if(!m_camera->save_config_file()) + { + qDebug()<<"SAVE FAILED"; + } + m_camera->start_capture(); +} + +void Widget::On_btn_Tab4_3_click() +{ + disconnect(adjust_para, SIGNAL(send_image_debug(cv::Mat)), this, SLOT(showimage_test(cv::Mat))); + disconnect(this, SIGNAL(correct_signal()), adjust_para, SLOT(get_correct_siganl())); + m_camera->stop_capture(); + adjust_para->exitThread(); + //grab_img->thread_quit(); + adjust_para->wait(); +// grab_img->wait(); +// if(grab_img->isFinished()) +// { +// qDebug()<<"grab thread finish"; +// } + if(adjust_para->isFinished()) + { + qDebug()<<"process thread finish"; + } +// delete grab_img; + delete adjust_para; + + ui->tabWidget->setCurrentIndex(2); +} + +void Widget::On_btn_Tab5_3_click() +{ + ui->tabWidget->setCurrentIndex(1); +} + + +void Widget::On_btn_set_thereshold_click() +{ + area_threshold = ui->area_spinBox->text().toInt(); + delay_time = ui->delay_spinBox->text().toInt(); + blow_time = ui->blow_time_spinbox->text().toInt(); + rigorous = ui->rigorous_spinbox->text().toInt(); + Para para = {0}; + int fd = open(CONFIG_PATH,O_RDWR); + read(fd, ¶, sizeof(para)); + lseek(fd, 0, SEEK_SET); + + + char rigorous_buf[8]; + sprintf(rigorous_buf, "RL:%d", rigorous); + qDebug() << rigorous_buf; + write(fd_img, rigorous_buf, strlen(rigorous_buf)); + + if(para.delay == delay_time) + { + para.defect_area = area_threshold; + para.delay = delay_time; + para.blow_time = blow_time; + para.rigorous = rigorous; + write(fd, ¶, sizeof(para)); + ::close(fd); + } + else + { + para.defect_area = area_threshold; + para.delay = delay_time; + para.blow_time = blow_time; + para.rigorous = rigorous; + write(fd, ¶, sizeof(para)); + ::close(fd); +// uint16_t x = (uint16_t)delay_time; +// uint8_t high = (x>>8)&0xFF; +// uint8_t low = x&0xFF; +// uint8_t send_tab[5]={0xAA, 0xBB, high, low, 0xCC}; +// if(socket->isWritable()) +// { +// socket->write((const char*)send_tab, 5); +// } +// else +// { +// qDebug() << "Socket is not writable!!!!!!!!!!"; +// } + } + QMessageBox box; + box.setText("set success"); + box.setStyleSheet("QLabel{min-width: 250px;min-height: 120px;font-size:40px;} QPushButton{width:100px;font-size:50px;}"); + box.exec(); +} + +void Widget::On_btn_Tab6_3_click() +{ + ui->tabWidget->setCurrentIndex(2); +} + +void Widget::judge_password(QString password) +{ + QString s(passwd); + if(password == s) + { + passwd_dialog->close(); + ui->tabWidget->setCurrentIndex(2); + } + else + { + QMessageBox::warning(this, "", QString::fromLocal8Bit("密码错误")); + emit wrong_passwd(); + } +} + +void Widget::showimage(cv::Mat img) +{ + static int counter = 0; + if(save_flag && counter == 0) + { + QDateTime time = QDateTime::currentDateTime(); + QString str = time.toString("yyyyMMddhhmmss"); + QString filepath = SAVE_IMAGE_PATH + str + ".bmp"; + qDebug()<showlabel->width(),ui->showlabel->height(),Qt::KeepAspectRatio)); + ui->showlabel->setPixmap(pix); + ui->showlabel->show(); +} + +void Widget::drawbox(QVector bounding_box) +{ + QPainter painter(&pix); + QPen pen(QColor(255, 0, 0), 1); + painter.setPen(pen); + QVector rects; + int size = bounding_box.size(); + for(int i = 0; i < size; i++) + { + int width = (bounding_box[i].pointB_x - bounding_box[i].pointA_x) * (ui->showlabel->width() / 2376.0f); + int height = (bounding_box[i].pointB_y - bounding_box[i].pointA_y) * (ui->showlabel->width() / 2376.0f); + QRect rect(bounding_box[i].pointA_x* (pix.width() / 2376.0f), bounding_box[i].pointA_y* (pix.height() / 584.0f), width, height); + rects << rect; + } + + painter.drawRects(rects); + ui->showlabel->setPixmap(pix); + +// if(empty_flag == false) +// { +// QDateTime time = QDateTime::currentDateTime();648 +// QString str = time.toString("yyyyMMddhhmmss"); +// QString filepath = RESULT_PATH + str + ".bmp";. +//#ifdef DEBUG +// cv::imwrite(filepath.toLatin1().data(), defect_pic); +//#else +// pix.save(filepath); +//#endif +// empty_flag = true; +// } + + if(loss_flag) + { + uint8_t buf[2500] = {0}; + socket->write((const char*)buf, 2500); + loss_flag = false; + } +} + +void Widget::showimage_test(cv::Mat img) +{ + cv::cvtColor(img, img, CV_BGRA2RGB); + cv::Mat img_gray; + cv::cvtColor(img, img_gray, CV_RGB2GRAY); + int value = 0; + for(int i=300; i<400; i++) + { + for(int j=300; j<400; j++) + { + value = value + img_gray.ptr(i)[j]; + } + } + float brightness = value/10000.0; + ui->label_2->setText(QString("%1").arg(brightness)); + const unsigned char *pSrc = (const unsigned char*)img.data; + QImage image(pSrc, img.cols, img.rows, img.step, QImage::Format_RGB888); + + pix_test = QPixmap::fromImage(image.scaled(ui->showlabel_set->width(),ui->showlabel_set->height(),Qt::KeepAspectRatio)); + QPainter painter(&pix_test); + QPen pen(QColor(255,0,0), 1); + painter.setPen(pen); + + QVector m_lines; + QLine a((pix_test.width()/2+35), pix_test.height()/2, (pix_test.width()/2-35), pix_test.height()/2); + QLine b((pix_test.width()/2), pix_test.height()/2+35, (pix_test.width()/2), pix_test.height()/2-35); + QLine c((int)((907*pix_test.width())/2300), 0, (int)((907*pix_test.width())/2300), pix_test.height()); + QLine d((int)((1493*pix_test.width())/2300), 0, (int)((1493*pix_test.width())/2300), pix_test.height()); + m_lines << a << b << c << d; + painter.drawLines(m_lines); + ui->showlabel_set->setPixmap(pix_test); +} + +void Widget::ServerNewConnection() +{ + socket = server->nextPendingConnection(); + ui->MCU_status->setStyleSheet("QLabel{background-color:rgb(0,255,0);}"); + ui->MCU_status->setText(QString::fromLocal8Bit("已连接")); + qDebug()<<"new connection"; + + //char send_buf[13] = {0xAA, 0x00, 0x07, 'p', 'o', 'w', 'e', 'r', 'o', 'n', 0xFF, 0xFF, 0xBB}; + //socket->write((const char*)send_buf, 13); +} + +void Widget::get_tab(uint8_t* send_buff) +{ + char buf[TRIGGER_PULSE_NUMBER * (VALVE_NUMBER / 8) + 8]; + buf[0] = 0xAA; + buf[1] = 0x0B; + buf[2] = 0xBA; + buf[3] = 'd'; + buf[4] = 'a'; + buf[3005] = 0xFF; + buf[3006] = 0xFF; + buf[3007] = 0xBB; + memcpy(buf+5, send_buff, TRIGGER_PULSE_NUMBER * (VALVE_NUMBER / 8)); + socket->write((const char*)buf, TRIGGER_PULSE_NUMBER * (VALVE_NUMBER / 8) + 8); +} + + +void Widget::load_para_config() +{ + int fd = open(CONFIG_PATH, O_CREAT|O_RDWR, 0666); + Para para; + memset(¶, 0, sizeof(para)); + int ret = read(fd, ¶, sizeof(para)); + if(ret==0) //读不到东西,表示程序第一次运行,需要设置默认参数,写入文件的是定义在widget.h开始的Para结构体,直接写二进制 + { + //qDebug()<<"DEFAULT CONFIG"; + strcpy(para.passwd, "123456"); + para.delay = 3110; + para.defect_area = 10; + para.save_img = 1; + para.blow_time = 140; + para.rigorous = 50; + + write(fd, ¶, sizeof(para)); //写入默认配置参数 + + ui->delay_spinBox->setValue(para.delay); + ui->area_spinBox->setValue(para.defect_area); + ui->blow_time_spinbox->setValue(para.blow_time); + ui->rigorous_spinbox->setValue(para.rigorous); + strcpy(passwd, para.passwd); + save_flag = para.save_img; + area_threshold = para.defect_area; + delay_time = para.delay; + blow_time = para.blow_time; + rigorous = para.rigorous; + ui->btnSaveImg->setText(QString::fromLocal8Bit("不保存图片")); + //qDebug()<delay_spinBox->setValue(para.delay); + ui->area_spinBox->setValue(para.defect_area); + ui->blow_time_spinbox->setValue(para.blow_time); + ui->rigorous_spinbox->setValue(para.rigorous); + save_flag = para.save_img; + area_threshold = para.defect_area; + delay_time = para.delay; + blow_time = para.blow_time; + rigorous = para.rigorous; + strcpy(passwd, para.passwd); + if(save_flag == 1) + { + ui->btnSaveImg->setText(QString::fromLocal8Bit("不保存图片\nDon't save")); + } + else + { + ui->btnSaveImg->setText(QString::fromLocal8Bit("保存图片\nSave")); + } + //qDebug()<btnImportImg->setText(QString::fromLocal8Bit("导出中")); + system(command.toUtf8().data()); + ui->btnImportImg->setText(QString::fromLocal8Bit("导出图片\nExport Images")); + } +} + +void Widget::On_btnSaveImg_click() +{ + if(save_flag == 1) + { + save_flag = 0; + ui->btnSaveImg->setText(QString::fromLocal8Bit("保存图片\nSave")); + } + else + { + save_flag = 1; + ui->btnSaveImg->setText(QString::fromLocal8Bit("不保存图片\nDon't save")); + } + + Para para = {0}; + int fd = open(CONFIG_PATH,O_RDWR); + read(fd, ¶, sizeof(para)); + lseek(fd, 0, SEEK_SET); + + para.save_img = save_flag; + + write(fd, ¶, sizeof(para)); + ::close(fd); + +} + +void Widget::On_btnImportModel_click() +{ + QString file = QFileDialog::getExistingDirectory(this, "",SAVE_IMAGE_PATH,QFileDialog::DontUseCustomDirectoryIcons|QFileDialog::DontUseSheet|QFileDialog::ReadOnly|QFileDialog::ShowDirsOnly|QFileDialog::DontResolveSymlinks); + if(file=="") + { + return; + } + + //考虑路径带空格的情况 + QStringList list = file.split("\ "); + QString filepath = ""; + for(int i =0; icandy_select_box, SIGNAL(currentIndexChanged(int)), this, SLOT(On_candy_select_box_index_change(int))); + ui->candy_select_box->clear(); + models_vector.clear(); + set_candy_select_box(); + connect(ui->candy_select_box, SIGNAL(currentIndexChanged(int)), this, SLOT(On_candy_select_box_index_change(int))); +} + +void Widget::On_candy_select_box_index_change(int index) +{ + char* name = models_vector[index].name.toLatin1().data(); + char head[16] = "MN:"; + strncat(head, name, strlen(name)); + write(fd_img, head, strlen(head)); + qDebug() << "from c" << head; +} + +void Widget::On_btnModifyPasswd_click() +{ + modify_passwd_dialog = new ModifyPasswdialog; + connect(modify_passwd_dialog, SIGNAL(send_modify_passwd(QString)), this, SLOT(modify_password(QString))); + modify_passwd_dialog->show(); +} + +void Widget::modify_password(QString password) +{ + modify_passwd_dialog->close(); + memset(passwd, 0, sizeof(passwd)); + strcpy(passwd, password.toLatin1().data()); + + Para para = {0}; + int fd = open(CONFIG_PATH,O_RDWR); + read(fd, ¶, sizeof(para)); + lseek(fd, 0, SEEK_SET); + strcpy(para.passwd, password.toLatin1().data()); + + write(fd, ¶, sizeof(para)); + ::close(fd); +} + +void Widget::On_btn_close_click() +{ + //::raise(SIGKILL); + //abort(); + system("poweroff"); +} + + +void Widget::set_candy_select_box() +{ + FILE* fp = fopen(MODEL_INFO_PATH, "r"); + char buf[128]; + int index = 0; + Models models; + while(fgets(buf, sizeof(buf), fp)) + { + buf[strlen(buf)-1]='\0'; + QString str(buf); + QStringList list = str.split("\ "); + ui->candy_select_box->addItem(list[0]); + models.name = list[1]; + models.index = index; + index++; + memset(buf, 0, sizeof(buf)); + //qDebug()<candy_select_box->setCurrentIndex(models_vector[i].index); +// qDebug()<focusWidget(); + QSpinBox* spinbox = qobject_cast(m_widget); + int value = spinbox->value(); + QString str = QString::number(value); + str.append("1"); + spinbox->setValue(str.toInt()); +} + +void Widget::On_btn2_clicked() +{ + QWidget* m_widget = this->focusWidget(); + QSpinBox* spinbox = qobject_cast(m_widget); + int value = spinbox->value(); + QString str = QString::number(value); + str.append("2"); + spinbox->setValue(str.toInt()); +} + +void Widget::On_btn3_clicked() +{ + QWidget* m_widget = this->focusWidget(); + QSpinBox* spinbox = qobject_cast(m_widget); + int value = spinbox->value(); + QString str = QString::number(value); + str.append("3"); + spinbox->setValue(str.toInt()); +} + +void Widget::On_btn4_clicked() +{ + QWidget* m_widget = this->focusWidget(); + QSpinBox* spinbox = qobject_cast(m_widget); + int value = spinbox->value(); + QString str = QString::number(value); + str.append("4"); + spinbox->setValue(str.toInt()); +} + +void Widget::On_btn5_clicked() +{ + QWidget* m_widget = this->focusWidget(); + QSpinBox* spinbox = qobject_cast(m_widget); + int value = spinbox->value(); + QString str = QString::number(value); + str.append("5"); + spinbox->setValue(str.toInt()); +} + +void Widget::On_btn6_clicked() +{ + QWidget* m_widget = this->focusWidget(); + QSpinBox* spinbox = qobject_cast(m_widget); + int value = spinbox->value(); + QString str = QString::number(value); + str.append("6"); + spinbox->setValue(str.toInt()); +} + +void Widget::On_btn7_clicked() +{ + QWidget* m_widget = this->focusWidget(); + QSpinBox* spinbox = qobject_cast(m_widget); + int value = spinbox->value(); + QString str = QString::number(value); + str.append("7"); + spinbox->setValue(str.toInt()); +} + +void Widget::On_btn8_clicked() +{ + QWidget* m_widget = this->focusWidget(); + QSpinBox* spinbox = qobject_cast(m_widget); + int value = spinbox->value(); + QString str = QString::number(value); + str.append("8"); + spinbox->setValue(str.toInt()); +} + +void Widget::On_btn9_clicked() +{ + QWidget* m_widget = this->focusWidget(); + QSpinBox* spinbox = qobject_cast(m_widget); + int value = spinbox->value(); + QString str = QString::number(value); + str.append("9"); + spinbox->setValue(str.toInt()); +} + +void Widget::On_btn0_clicked() +{ + QWidget* m_widget = this->focusWidget(); + QSpinBox* spinbox = qobject_cast(m_widget); + int value = spinbox->value(); + QString str = QString::number(value); + str.append("0"); + spinbox->setValue(str.toInt()); +} + +void Widget::On_btn_DEL_clicked() +{ + QWidget* m_widget = this->focusWidget(); + QSpinBox* spinbox = qobject_cast(m_widget); + int value = spinbox->value(); + QString str = QString::number(value); + if(str.size()==0) return; + str = str.left(str.size()-1); + spinbox->setValue(str.toInt()); +} + +void Widget::On_btnManualValveTest() +{ + char send_tab[11]; + send_tab[0] = 0xAA; + send_tab[1] = 0x00; + send_tab[2] = 0x04; + send_tab[3] = 's'; + send_tab[4] = 'd'; + send_tab[5] = '5'; + send_tab[6] = '0'; + send_tab[7] = 0xFF; + send_tab[8] = 0xFF; + send_tab[9] = 0xBB; + socket->write((const char*)send_tab, 10); + + send_tab[0] = 0xAA; + send_tab[1] = 0x00; + send_tab[2] = 0x05; + send_tab[3] = 's'; + send_tab[4] = 'c'; + send_tab[5] = '5'; + send_tab[6] = '0'; + send_tab[7] = '0'; + send_tab[8] = 0xFF; + send_tab[9] = 0xFF; + send_tab[10] = 0xBB; + socket->write((const char*)send_tab, 11); + + send_tab[0] = 0xAA; + send_tab[1] = 0x00; + send_tab[2] = 0x04; + send_tab[3] = 's'; + send_tab[4] = 'v'; + send_tab[5] = '1'; + send_tab[6] = '0'; + send_tab[7] = 0xFF; + send_tab[8] = 0xFF; + send_tab[9] = 0xBB; + socket->write((const char*)send_tab, 10); + + send_tab[0] = 0xAA; + send_tab[1] = 0x00; + send_tab[2] = 0x03; + send_tab[3] = 's'; + send_tab[4] = 't'; + send_tab[5] = 0xFF; + send_tab[6] = 0xFF; + send_tab[7] = 0xFF; + send_tab[8] = 0xBB; + socket->write((const char*)send_tab, 9); + + ui->tabWidget->setCurrentIndex(6); +} + +void Widget::On_btn_Tab7_3_click() +{ + char send_tab[9]; + send_tab[0] = 0xAA; + send_tab[1] = 0x00; + send_tab[2] = 0x03; + send_tab[3] = 's'; + send_tab[4] = 'p'; + send_tab[5] = 0xFF; + send_tab[6] = 0xFF; + send_tab[7] = 0xFF; + send_tab[8] = 0xBB; + + socket->write((const char*)send_tab, 9); + ui->tabWidget->setCurrentIndex(2); +} + +void Widget::On_btnchannelup_click() +{ + channel++; + if(channel > 48) + { + channel = 1; + } + ui->label_channel->setText(QString::number(channel)); +} + +void Widget::On_btnchanneldown_click() +{ + channel--; + if(channel < 1) + { + channel = 48; + } + ui->label_channel->setText(QString::number(channel)); +} + + +void Widget::On_btn_channel_send_clicked() +{ + + uint32_t valve_data_l; + uint32_t valve_data_h; + if(channel < 33) + { + valve_data_l = 1 << (channel - 1); + valve_data_h = 0; + } + else + { + valve_data_l = 0; + valve_data_h = 1 << (channel -33); + } + + + uint8_t data[6]; + uint8_t send_data[3000]; + data[0] = (valve_data_h >> 8) & 0xFF; + data[1]= valve_data_h & 0xFF; + data[2]= (valve_data_l >> 24) & 0xFF; + data[3]= (valve_data_l >> 16) & 0xFF; + data[4]= (valve_data_l >> 8) & 0xFF; + data[5]= valve_data_l & 0xFF; + + for(int i = 0; i < 500; i++) + { + memcpy(send_data +i*6, data, 6); + } + + char buf[TRIGGER_PULSE_NUMBER * (VALVE_NUMBER / 8) + 8]; + buf[0] = 0xAA; + buf[1] = 0x0B; + buf[2] = 0xBA; + buf[3] = 'd'; + buf[4] = 'a'; + buf[3005] = 0xFF; + buf[3006] = 0xFF; + buf[3007] = 0xBB; + memcpy(buf+5, send_data, TRIGGER_PULSE_NUMBER * (VALVE_NUMBER / 8)); + socket->write((const char*)buf, TRIGGER_PULSE_NUMBER * (VALVE_NUMBER / 8) + 8); +} + +//void Widget::On_btn_1_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("1"); +// spinbox->setValue(str.toInt()); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("1"); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_2_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("2"); +// spinbox->setValue(str.toInt()); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("2"); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_3_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("3"); +// spinbox->setValue(str.toInt()); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("3"); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_4_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("4"); +// spinbox->setValue(str.toInt()); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("4"); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_5_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("5"); +// spinbox->setValue(str.toInt()); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("5"); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_6_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("6"); +// spinbox->setValue(str.toInt()); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("6"); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_7_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("7"); +// spinbox->setValue(str.toInt()); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("7"); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_8_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("8"); +// spinbox->setValue(str.toInt()); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("8"); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_9_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("9"); +// spinbox->setValue(str.toInt()); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("9"); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_0_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("0"); +// spinbox->setValue(str.toInt()); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("0"); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_dot_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QDoubleSpinbox")) +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// str.append("."); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_del_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// if(str.size()==0) return; +// str = str.left(str.size()-1); + +// spinbox->setValue(str.toInt()); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// int value = spinbox->value(); +// QString str = QString::number(value); +// if(str.size()==0) return; +// str = str.left(str.size()-1); +// spinbox->setValue(str.toDouble()); +// } +//} + +//void Widget::On_btn_clr_clicked() +//{ +// QWidget* m_widget = this->focusWidget(); +// if(m_widget->inherits("QSpinBox")) +// { +// QSpinBox* spinbox = qobject_cast(m_widget); +// spinbox->clear(); +// } +// else +// { +// QDoubleSpinBox* spinbox = qobject_cast(m_widget); +// spinbox->cleanText(); +// } +//} diff --git a/widget.h b/widget.h new file mode 100644 index 0000000..b22c3a2 --- /dev/null +++ b/widget.h @@ -0,0 +1,155 @@ +#ifndef WIDGET_H +#define WIDGET_H + +#include +#include "passwddialog.h" +#include "modifypasswdialog.h" +#include +#include +#include +#include +#include "thread.h" +#include "camera.h" +#include "correct.h" + +//#define DEBUG + +typedef struct +{ + char passwd[7]; //密码 + int delay; //延时时间 + int defect_area; //缺陷大小阈值 + int blow_time; //吹气量 + int save_img; //保是否存图片标志位 + int rigorous; +}Para; + +typedef struct +{ + QString name; + int index; +}Models; + + +namespace Ui { +class Widget; +} + +class Widget : public QWidget +{ + Q_OBJECT + +public: + explicit Widget(QWidget *parent = 0); + ~Widget(); + +private slots: + //button + //Tab_1 + void On_btn_Tab1_2_click(); + void On_btn_Tab1_3_click(); + //Tab_2 + void On_btnStart_click(); + void On_bthStop_click(); + void On_btn_Tab2_1_click(); + void On_btn_Tab2_5_click(); + //Tab_3 + void On_btnValveTest_click(); + void On_btn_Tab3_1_click(); + void On_btn_Tab3_4_click(); + void On_btn_Tab3_6_click(); + void On_btnImportImg_click(); + void On_btnSaveImg_click(); + void On_btnImportModel_click(); + void On_btnModifyPasswd_click(); + //Tab_4 + void On_btn_correct_click(); + void On_btn_getcorrect_click(); + void On_btn_setcamerapara_click(); + void On_btn_Tab4_3_click(); + //Tab_5 + void On_btn_Tab5_3_click(); + void On_btn_set_thereshold_click(); + //Tab_6 + void On_btn_Tab6_3_click(); + + void On_btn_close_click(); + + void On_candy_select_box_index_change(int); + + + void On_btnManualValveTest(); + void On_btn_Tab7_3_click(); + void On_btnchannelup_click(); + void On_btnchanneldown_click(); + void On_btn_channel_send_clicked(); + + void judge_password(QString); + void modify_password(QString); + void showimage(cv::Mat); + void drawbox(QVector); + void showimage_test(cv::Mat); + //void deal_camera_offline(); + void ServerNewConnection(); + void get_tab(uint8_t*); + + void On_btn1_clicked(); + void On_btn2_clicked(); + void On_btn3_clicked(); + void On_btn4_clicked(); + void On_btn5_clicked(); + void On_btn6_clicked(); + void On_btn7_clicked(); + void On_btn8_clicked(); + void On_btn9_clicked(); + void On_btn0_clicked(); + void On_btn_DEL_clicked(); + +// void On_btn_1_clicked(); +// void On_btn_2_clicked(); +// void On_btn_3_clicked(); +// void On_btn_4_clicked(); +// void On_btn_5_clicked(); +// void On_btn_6_clicked(); +// void On_btn_7_clicked(); +// void On_btn_8_clicked(); +// void On_btn_9_clicked(); +// void On_btn_0_clicked(); +// void On_btn_dot_clicked(); +// void On_btn_del_clicked(); +// void On_btn_clr_clicked(); + +private: + Ui::Widget *ui; + PasswdDialog* passwd_dialog; + ModifyPasswdialog* modify_passwd_dialog; + QPixmap pix; + QPixmap pix_test; + Process_img* process_img; + Adjust_para* adjust_para; + Camera* m_camera; + QVector models_vector; + //Correct* m_correct; + QTcpServer* server; + QTcpSocket* socket; + Correct* m_correct; + char passwd[7]; + int channel; +#ifdef DEBUG + cv::Mat defect_pic; +#endif + Grab_img* grab_img;//test_thread + + void connect_signals(); + void init_window(); + bool init_script(); + bool select_candy(); + void load_para_config(); + void set_candy_select_box(); + +signals: + void correct_signal(); + void wrong_passwd(); +}; + +#endif // WIDGET_H diff --git a/widget.o b/widget.o new file mode 100644 index 0000000000000000000000000000000000000000..be862d378848cefc01f29d4d90148ef9320fb0e7 GIT binary patch literal 309408 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

Qvr{IMmq;&VIInQ)dpG z{pF=`&J`dbtb4Ix8Oo`4p;i^;lBH~cz3OM_@22PzD z;Oyr%IM>fz;i_{>be3fb^G9_muMqCvw@?Mnex|^wvl*QI%z(3>ZNgQju9I2es#AFv z;;^52aQ3qooI3l#+0P+x_H#tI>P%c!=;N4h)v0^}aj0_|oc){yr_MES_Hz@Q{oE3+ zI<;@R!d0j8vO9|F33VpH+0QC)>P&&NpLO8uXM=Fnsh@+@BwTeWZ$=#I%z(3>?cmhe z3(kHHfU}>2!d0jCZA7^0R6d3{)Hw;xeoli^=NvfuxdhJRz!l-DGbQtLO}Oe*zJWN@ zxed;K?t)Wi>UG8W!+zF*v!9LNtg8i_b!CKWUHZ9b?ZUM#ar=B(No3Y>AF!+|icMP7mvp9~7UvBWE!K)0OGI*`Q z>kZy$@U+2O!8zYLzO z*X^QSw)bh_x?L!rMI7o}0H@9+aO&I!=XO!nR-8Y4U!Mf$`}!0(x1&06_Mr)!eP|Z0 zeMn0mT7_#Ll(!)c`;Y}^AG*NVhe2@mVFa9Yje)bSNpKzyPYc(&GE aIH)EJmRpf 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 literal 0 HcmV?d00001 diff --git a/widget.ui b/widget.ui new file mode 100644 index 0000000..0656cdf --- /dev/null +++ b/widget.ui @@ -0,0 +1,7795 @@ + + + Widget + + + + 0 + 0 + 1024 + 768 + + + + Widget + + + + + 0 + 0 + 1021 + 761 + + + + background-color: rgb(218, 239, 252); + + + 4 + + + + Tab 1 + + + + + 100 + 210 + 291 + 121 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + Ubuntu + 24 + 50 + false + false + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + 分选页面 +Sorting Page + + + + + + 570 + 210 + 291 + 121 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-radius:10px; + + + 详细设置 +Settings + + + + + + 35 + 10 + 921 + 61 + + + + + 40 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-width:4px; +border-radius:25px; + + + Candy Grading System + + + Qt::AlignCenter + + + + + + 35 + 640 + 931 + 61 + + + + + 40 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-width:4px; +border-radius:25px; + + + + + + Qt::AlignCenter + + + + + + 870 + 560 + 71 + 41 + + + + + + + + + + 590 + 530 + 231 + 101 + + + + + Samyak Devanagari + 20 + 75 + true + + + + color: rgb(238, 238, 236); +background-color: rgb(204, 0, 0); +border-radius:10px; + + + 关 机 +Power off + + + + + + Tab 2 + + + + + 0 + 0 + 981 + 521 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 20 + 580 + 221 + 91 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +border-radius:15px; +background-color: rgb(136, 138, 133); +border-width:4px; + + + 开始分选 +Start + + + + + + 260 + 580 + 221 + 91 + + + + + + + + + 0 + 0 + 0 + + + + + + + 46 + 52 + 54 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 46 + 52 + 54 + + + + + + + 46 + 52 + 54 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 46 + 52 + 54 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 46 + 52 + 54 + + + + + + + 46 + 52 + 54 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 0 + 0 + 0 + + + + + + + 46 + 52 + 54 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 46 + 52 + 54 + + + + + + + 46 + 52 + 54 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(0, 0, 0); +background-color: rgb(46, 52, 54); +border-radius:10px; + + + 停止分选 +Stop + + + + + + 510 + 580 + 221 + 91 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + 主菜单 +Menu + + + + + + 760 + 580 + 221 + 91 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + 参数调整 +Parameters + + + + + + 290 + 530 + 161 + 41 + + + + + 18 + + + + + + + + + + Tab3 + + + + + 130 + 140 + 291 + 81 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + Ubuntu + 24 + 50 + false + false + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + 相机参数设置 +Camera Parameters + + + + + + 130 + 270 + 291 + 81 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + 分选糖果类型 +Candy Types + + + + + + 0 + 20 + 311 + 101 + + + + + 30 + + + + color: rgb(238, 238, 236); +background-color: rgb(204, 0, 0); +border-radius:10px; + + + 详细设置 +Settings + + + Qt::AlignCenter + + + + + + 540 + 140 + 301 + 81 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + 喷阀测试 +Test Valves + + + + + + 700 + 610 + 221 + 91 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + 主菜单 +Menu + + + + + + 130 + 390 + 291 + 81 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + 导出图片 +Export Images + + + + + + 540 + 270 + 301 + 81 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + Save + + + + + + 540 + 390 + 301 + 81 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + 导入模型 +Import Models + + + + + + 130 + 510 + 291 + 81 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + 修改密码 +Change Password + + + + + + 540 + 510 + 301 + 81 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 195 + 196 + 194 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 204 + 207 + 200 + + + + + + + 170 + 172 + 166 + + + + + + + 68 + 69 + 66 + + + + + + + 91 + 92 + 89 + + + + + + + 238 + 238 + 236 + + + + + + + 255 + 255 + 255 + + + + + + + 238 + 238 + 236 + + + + + + + 136 + 138 + 133 + + + + + + + 136 + 138 + 133 + + + + + + + 0 + 0 + 0 + + + + + + + 136 + 138 + 133 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 24 + + + + color: rgb(238, 238, 236); +border-radius:10px; +background-color: rgb(136, 138, 133); +font: 24pt "Ubuntu"; +border-width:4px; + + + 喷阀手动测试 +Manual Test Valves + + + + + + tab_4 + + + + + 0 + 0 + 641 + 431 + + + + background-color: rgb(0, 0, 0); + + + + + + + + + 640 + 60 + 151 + 71 + + + + + 16 + + + + 曝光时间 +Explosure + + + + + + 640 + 150 + 181 + 61 + + + + + 16 + + + + 白平衡 +White Balance + + + + + + 640 + 240 + 161 + 51 + + + + + 16 + + + + 增益 +Gain + + + + + + 690 + 350 + 241 + 101 + + + + + 24 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-radius:10px; + + + 设置参数 +Set + + + + + + 780 + 250 + 231 + 41 + + + + + 18 + + + + QDoubleSpinBox::up-button +{subcontrol-origin:border; +subcontrol-position:right; +width:50px; +height:100px; +} +QDoubleSpinBox::down-button +{subcontrol-origin:border; +subcontrol-position:left; +width:50px; +height:100px; +} + + + + + + 790 + 60 + 221 + 61 + + + + + 18 + + + + QDoubleSpinBox::up-button +{subcontrol-origin:border; +subcontrol-position:right; +width:50px; +height:100px; +} +QDoubleSpinBox::down-button +{subcontrol-origin:border; +subcontrol-position:left; +width:50px; +height:100px; +} + + + + + + 780 + 150 + 231 + 51 + + + + + 18 + + + + QSpinBox::up-button +{subcontrol-origin:border; +subcontrol-position:right; +width:50px; +height:100px; +} +QSpinBox::down-button +{subcontrol-origin:border; +subcontrol-position:left; +width:50px; +height:100px; +} + + + + + + 10 + 450 + 341 + 91 + + + + + 24 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-radius:10px; + + + 采集校正图像 +Grap Correcting Image + + + + + + 10 + 570 + 341 + 81 + + + + + 24 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-radius:10px; + + + 色彩校正 +Color Correcting + + + + + + 780 + 610 + 201 + 81 + + + + + 24 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-radius:10px; + + + 返回 +Back + + + + + + 400 + 550 + 261 + 81 + + + + + 16 + + + + 亮度值(brightness): + +(need correcting board) + + + + + + 590 + 540 + 121 + 51 + + + + + 16 + + + + TextLabel + + + label_4_3 + label_4_2 + label_4_1 + showlabel_set + btn_setcamerapara + gain_spinBox + et_spinBox + white_spinBox + btn_getcorrect + btn_correct + btn_Tab4_3 + label_1 + label_2 + + + + tab_5 + + + + + 20 + 150 + 331 + 61 + + + + + 20 + + + + 缺陷面积阈值 +Defect Area + + + + + + 20 + 240 + 331 + 71 + + + + + 20 + + + + 延时时间 +Delay Time + + + + + + 380 + 149 + 221 + 51 + + + + + 18 + + + + + + + 380 + 249 + 221 + 51 + + + + + 18 + + + + + + + 0 + 30 + 391 + 91 + + + + + 30 + + + + color: rgb(238, 238, 236); +background-color: rgb(204, 0, 0); +border-radius:10px; + + + 分选阈值设置 +Parameters + + + Qt::AlignCenter + + + + + + 790 + 600 + 201 + 91 + + + + + 28 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-radius:10px; + + + 返回 +Back + + + + + + 410 + 610 + 181 + 91 + + + + + 28 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-radius:10px; + + + 设置 +Set + + + + + + 20 + 350 + 331 + 61 + + + + + 20 + + + + 吹气量 +Blow Time + + + + + + 380 + 360 + 221 + 51 + + + + + 18 + + + + + + + 760 + 150 + 61 + 51 + + + + + 15 + + + + 2 + + + + + + 840 + 150 + 61 + 51 + + + + + 15 + + + + 3 + + + + + + 680 + 220 + 61 + 51 + + + + + 15 + + + + 4 + + + + + + 760 + 220 + 61 + 51 + + + + + 15 + + + + 5 + + + + + + 840 + 220 + 61 + 51 + + + + + 15 + + + + 6 + + + + + + 680 + 290 + 61 + 51 + + + + + 15 + + + + 7 + + + + + + 760 + 290 + 61 + 51 + + + + + 15 + + + + 8 + + + + + + 840 + 290 + 61 + 51 + + + + + 15 + + + + 9 + + + + + + 840 + 360 + 71 + 51 + + + + + 15 + + + + DEL + + + + + + 680 + 150 + 61 + 51 + + + + + 15 + + + + 1 + + + + + + 760 + 360 + 61 + 51 + + + + + 15 + + + + 0 + + + + + + 20 + 460 + 331 + 81 + + + + + 20 + + + + 严格程度 +Rigorous Level + + + + + + 380 + 480 + 221 + 51 + + + + + 18 + + + + + + + tab_6 + + + + + 0 + 40 + 351 + 101 + + + + + 30 + + + + color: rgb(238, 238, 236); +background-color: rgb(204, 0, 0); +border-radius:10px; + + + 糖果类型选择: +Candy Type + + + Qt::AlignCenter + + + + + + 710 + 590 + 211 + 91 + + + + + 28 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-radius:10px; + + + 返回 +Back + + + + + + 190 + 210 + 361 + 91 + + + + QComboBox +{ + border: 1px solid gray; + border-radius: 3px; + padding: 1px 18px 1px 3px; + color: #000; + font: normal normal 25px "Microsoft YaHei"; + background: transparent; +} +QCombox::drop-down +{ +width:100px; +border:none; +} + + + + + + Page + + + + + 0 + 40 + 351 + 101 + + + + + 30 + + + + color: rgb(238, 238, 236); +background-color: rgb(204, 0, 0); +border-radius:10px; + + + 喷阀手动测试: +Manual Test Valves + + + Qt::AlignCenter + + + + + + 30 + 260 + 131 + 101 + + + + + 20 + + + + 通道: +Channel + + + + + + 200 + 260 + 131 + 101 + + + + + 20 + + + + 0 + + + + + + 30 + 410 + 141 + 91 + + + + + 30 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-radius:10px; + + + + + + + + + + 230 + 410 + 141 + 91 + + + + + 30 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-radius:10px; + + + - + + + + + + 750 + 560 + 201 + 91 + + + + + 28 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-radius:10px; + + + 返回 +Back + + + + + + 30 + 550 + 341 + 91 + + + + + 30 + + + + color: rgb(238, 238, 236); +background-color: rgb(136, 138, 133); +border-radius:10px; + + + 发送通道 +Channel Send + + + + + + + + +

Ko4Ta$Jr0$lx5kDE~JxJxi=PoodQpP%>EetEc?z#Z0hABxsXK}c%Q5GqpDV8uXd?V7L}02_M|MNPC>^UkDe*N!;7=;Ul_er zdT;V|fi7hj+n&a@0^fvsJhl}$V=qX@l&9`{Y^%=av8@v4v#lEEv8@u9#2Rf?6O8yHqOY(i}Tr5&?%O3v23fX*JoQLE{$zP+E&mA;W1RWd+dnBrLiMOv*{UG**GIBFV1I2K!h3E#dnj9J%LpP~JUKeg?}+9}RiPtN)Cz5$WmLAnQ(X zHqQL~?QCLS>}^wTPgObmthXioEa&f2_*pAv*7FWGpMBKza@aN6oXxK1y5~`-n7~o{^P}GqUpH zeD)D^C?}77l=b@Tqr|1Lk4W1J8X-J?cJ>itIAI?VPH7*3PiI?FuGiL2!;ahvJF*^q zeWUWToO>qTt%+5_j%@i8*%8o{wqZ*eI|95J8xH#4?1;qq>_X!UVD?*$BH$>j%@xD*%8o{wqbJ`I|95J8xH#4 z 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