-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP [GSoC 2020] Macbeth Chart detection #2532
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the contribution!
Please take a look on coding style comments.
// #define SHOW_DEBUG_IMAGES | ||
namespace cv{ | ||
namespace mcc{ | ||
using namespace dnn; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using namespace
is not allowed in public headers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dnn is used for Net. If I replaced using namespace by dnn::Net, python wrapper was giving the error that dnn_Net was not declared. I have added a typedef in misc/pyopencv_cchecker.hpp, but I am not sure if its the best way to solve it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We not sure what the right way to do this? Is this correct @alalek ?
I tested that the example_mcc_chart_detection runs on video and on camera (and also added doc of what the -t and -ci numbers are) |
It would be nice to add in an option -imgs that took a list, say one per line of: |
This performs OK, it's suprisingly slow -- much slower than my python. I found centers by detecting canny edges, doing a distance transform, thresholding that, flood filling from those threshold areas and looking for quad contours. |
@AjitPant, @garybradski, it looks like at least some parts of the detector are taken from https://github.com/pedrodiamel/colorchecker-detection. We must put the corresponding notice about it, otherwise this patch will violate the license and cannot be included. If the patch cannot be included it means that at least a half of GSoC, related to macbeth chart detector, is not done. |
Hi friends, |
…two orders of magnitude, perhaps)
(Not related to this PR) An interesting talk: Understanding Color and the In-Camera Image Processing Pipeline for Computer Vision, Michael S. Brown @ ICCV 2019 |
@vpisarev I have added the Licence from the original repo on top of all source files. |
@mayankgrd The code for the detector is almost done. It can detect three different types of chart at the moment. But it will take some time before it gets merged. If you want to use it before it gets merged, you can clone the mcc branch from AjitPant/opencv_contrib. |
I think the licenses are put in now |
OK, thanks to Vadim's help, this issue is resolved -- it now runs at frame rate. |
This isn't resolved, but it was just a suggestion that is trivial to change later or just not do it. It shouldn't hold up the merge of the pull request. |
This is now resolved. |
good to go, in my opinion 👍 |
@mshabunin, if you don't have objections, can we merge it in? I tested it on my machine, works well. The licenses are in place now. |
Merge with extra: opencv/opencv_extra#767
This is the pull request for the GSoC project "Macbeth Charts and AprilTags".
Currently it contains the port of the code from the ColorChecker Detection.
Link to trained model: https://drive.google.com/drive/folders/1JNWlmyfZKxiYQoYk6f0RzcGtHuiZq1Pz
Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
Patch to opencv_extra has the same branch name.