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
Ordinary quaternion #18335
Ordinary quaternion #18335
Conversation
@chargerKong Thanks for the contribution. Could you add tests for your implementation? |
Thanks for your review. We will add the corresponding test file in next few days. |
Thanks for your code review. We're carefully fixing these issues and adding test files, which will be done in the next few days. @savuor |
can we have a function for conversion to rodruigez vector and back? |
Typedef for |
Thanks for your code review, we will add it in next commit |
OK, Thanks for your suggestions. This will be added in next commit. |
Maybe only float and double types should be allowed? To avoid user doing something like Related OE 33. 3D Module for Quaternion / dual Quaternion support? |
Yes,
This work does relat to OE 33. 3D Module, and we plan to implement dual quaternions after ordinary ones. |
I'm sorry for not updating code and replying in time resulting from business trip over the last two weeks. |
change some constructor to createFrom* function; change Rodrigues vector to rotation vector; change the matexpr to mat of 3x3 return type; improve comments;
improve docs; add using std::cos funcs
@chargerKong Well done! Looks good to me. |
@chargerKong have just reviewed it; found no issues. If tests are passed, this should be merged. |
add std::* in affine.hpp,warpers_inl.hpp;
👍 |
#include <iostream> | ||
namespace cv | ||
{ | ||
//! @addtogroup core |
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.
@vpisarev Which documentation group should be used for this?
- avoid non-proper names in `cv::` namespace - it makes sence to put that into `Quat` class directly, but there are some isses because Quat is template (code becomes too verbose)
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.
Looks good to me! Thank you 👍
Ordinary quaternion * version 1.0 * add assumeUnit; add UnitTest; check boundary value; fix the func using method: func(obj); fix 4x4; add rodrigues vector transformation; fix mat to quat; * fix blank and tab * fix blank and tab modify test;cpp to hpp * mainly improve comment; add rvec2Quat;fix toRodrigues; fix throw to CV_Error * fix bug of quatd * int; combine hpp and cpp; fix << overload error in win system; modify include in test file; * move implementation to quaternion.ini.hpp; change some constructor to createFrom* function; change Rodrigues vector to rotation vector; change the matexpr to mat of 3x3 return type; improve comments; * try fix log function error in win * add enums for assumeUnit; improve docs; add using std::cos funcs * remove using std::* from header; add std::* in affine.hpp,warpers_inl.hpp; * quat: coding style * quat: AssumeType => QuatAssumeType
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.