ifsearch's People
ifsearch's Issues
ReFACTOR
Repository
- Bring IfSearch repository into INDI6
- Use and extend
eir*
libraries in INDI6 - Bring code to c++-11 level at minimum (or 17)
- Setup doxygen for project
- Use and extend
Cleanup code smells while accomplishing goals needed for #8.
- Breakup Monolithic initialization, frame, and face processing
- Document with doxygen while in neighborhood
- Pull from OttoCODE libraries as needed
Mark Images without QPainter
Qt6 no longer can use QPainter on a QImage with QCoreApplication (console with no UI). Work around by creating mostly transparent mark layers above the base image (frame, face, normal, other) and reducing to one layer for output.
- New LayerImage : QImage class
- Refactor MarkImage to take LayerImage as its base class
- Mimic the current MarkImage methods
- rect(QRect, QColor color=Qt::yellow, int penWidth=0)
- rects(QList, QColor color=Qt::yellow, penWidth=0, int darker NotSupported, opacity=1.0);
- centerLines(QRect r, QColor color=Qt::yellow, int penWidth=0);
- horizontalLine(const QPoint, length, color=Qt::yellow, penWidth=0);
- eyes(Eyes eyes, QColor color=Qt::yellow, int penWidth=0, int length=4);
- Note: Will lose the ability to title mark with text
- Note: Will lose the ability to lighten/darken mark unless absolutely necessary
@ in Frame Performance File
Build OpenCV2
Reference: linux install
Enroll/Rename Face Files
Deployment
Targets
(Details on each in separate comments below.)
-
Windows - 32bit v4
Existing years old deployment based upon Qt4. Rock solid performance (with a few exceptions: #2, #6, #7). MSVC-based with OpenCV2.- Runtime Environment
- Baseline for Regression Testing
-
Linux - 64bit v4
Bring forward source code and build in 64-bit Linux (Ubuntu 20.4 LTS for now). Qt6-based, GCC-toolchain, with OpenCV4 (v4.5.1 at the moment) build from source with CMake.- Ubuntu Host
- Development Environment
- gcc
- Qt6
- CMake
- OpenCV from Sources
- Runtime Environment
- Ubuntu
- INDI, OpenCV, Qt, gcc, etc. binaries
- Regression Testing
-
Windows - 64bit v4
Bring forward source code and build in 64-bit Linux (Ubuntu 20.4 LTS for now). Qt6-based, GCC-toolchain, with OpenCV4 (v4.5.1 at the moment) build from source with CMake.- Ubuntu Host
- Development Environment
- gcc
- Qt6
- CMake
- OpenCV from Sources
- Runtime Environment
- Ubuntu
- INDI, OpenCV, Qt, gcc, etc. binaries
- Regression Testing
-
Linux - 64bit v6
Bring forward source code and build in 64-bit Linux (Ubuntu 20.4 LTS for now). Qt6-based, GCC-toolchain, with OpenCV4 (v4.5.1 at the moment) build from source with CMake.- Ubuntu Host
- Development Environment
- gcc
- Qt6
- CMake
- OpenCV from Sources
- Runtime Environment
- Ubuntu
- INDI, OpenCV, Qt, gcc, etc. binaries
- Regression Testing
-
Windows - 64bit v6
Other Issues
- [] Unable to mark images in QCoreApplication-based console, therefore #8
Normalized Face Output
Continue Port
- Linux Build
- Detect
- Get Input Frame to
cvMat_Grey
for detection - Cleanup
GroupMethod
s
- Get Input Frame to
- Generate
- Ensure Detect Quality and Generate Consistency
- Generate Normalized Image and mark via #12
- [ ]
- Detect
Implement
- In addition to Output / NormalFaceDir:
- () Output / NormalFaceDir
- () Output / NormalXmlDir
- () Output / MatchFaceDir
GuiConsole Widget
INDI6 eirWgt
Library
- Start Desktop
GuiConsole
application (GUI with QWidgets) fromQApplication
- Basic
GuiConsoleMain
fromQMainWindow
- Use
QGridLayout
central widget- Build with
QT_MESSAGELOGCONTEXT
- Build with
- Future:
- Create
Console Toolbar
: QToolbar class - Display gallery of frames in queue
- Display current frame as marked
- Display faces detected in frame on to normalized and reconstruction
- Create
- Basic
- Create
ConsoleWidget
: QWidget class- For now, QtDebug only
- Implement with read-only
QTextEdit
-
QtMessageHandler
hook to get QtDebug messages- Color / Font to distinguish message type
- Filter on message type
- Record / filter on
QMessageLogContext
- Each line is a paragraph managed by
QTextCursor
andQTextDocument
- Use
maximumBlockCount
to prevent memory overload. - Later:
-
stdin
inline or separate QLineEdit input -
stdout
pane -
stderr
pane - Merge all output panes
-
Port to Qt6
Port IfSearch to Qt6.2.x
- Reinstall Qt v6.2.2
- Build OpenCV v4 or v5
- Build IfSearch for Qt6
OpenCV-based Image Marking
New OpenCV interface classes:
- cvMat (base class)
- cvRgbImage
- cvGreyImage
- cvMarker
Re-enable Clothes Matcher
Compile error in ClothesMatcher.cpp,156: ClothesMatcher::calculate() upperPrimary_.setValue(upperHistogram_.sortBin(1));
Rebuild Histogram Template Class to fix.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.