Comments (8)
JavaDocs are bundled with the Maven artifacts. Is there something specific that is missing?
from opencv.
Yes, the documentation itself is missing. Javadoc works — it just doesn't contain any documentation that C++ version of OpenCV have for its classes and methods.
For example Javadoc:
//
// C++: CascadeClassifier(String filename)
//
//javadoc: CascadeClassifier::CascadeClassifier(filename)
public CascadeClassifier(String filename)
{
nativeObj = CascadeClassifier_0(filename);
return;
}
C++ version:
CascadeClassifier::CascadeClassifier
Loads a classifier from a file.
C++: CascadeClassifier::CascadeClassifier(const String& filename)
Python: cv2.CascadeClassifier([filename]) → <CascadeClassifier object>
Parameters: filename – Name of the file from which the classifier is loaded.
from opencv.
We just bundle the JavaDocs that are created by the OpenCV build process. In the OpenCV build there is a step that examines the C++ and generates Java files from it. If I remember correctly, this generator will only pull in the docs that are specifically marked for JavaDoc. JavaCV effectively does the same thing but they seem to do it for all the docs.
So, if we want to do this we'd need to either modify the OpenCV generator ( https://github.com/opencv/opencv/blob/master/modules/java/generator/gen_java.py ), run something after the fact to build the documentation and insert it into the Java files or maybe run something beforehand to update the C++ files with the correct // javadoc comments.
It's going to be a fairly difficult task, but if someone is up to it I will be more than happy to accept a pull request.
from opencv.
Actually, it looks like something might have changed from 2.4 to 3.2.
Bundled docs from 2.4.13:
Bundled docs from 3.2:
For anyone interested in digging into this, I would look at:
- Do the C++ files still contain the //javadoc tags?
- Does the gen_java.py script still look for them and produce the right docs?
- Are the docs getting dropped somewhere between the OpenCV build and the bundle build?
from opencv.
Looks like OpenCV 3 switched to Doxygen documentation and I suspect the Java generator was never updated to use it. http://docs.opencv.org/trunk/d4/db1/tutorial_documentation.html
Example of difference in docs in the source code from 2.4 to 3.2:
2.4:https://github.com/opencv/opencv/blob/2.4/modules/imgproc/include/opencv2/imgproc/imgproc.hpp#L624
3.2: https://github.com/opencv/opencv/blob/master/modules/imgproc/include/opencv2/imgproc.hpp#L2570
The upside is that if all the docs are in Doxygen format now they should be much easier to deal with. But it's still going to require changes to the OpenCV gen_java.py to get them into the source files so they can be indexed by JavaDoc.
from opencv.
Okay, looks like this is an OpenCV 3.2 issue: opencv/opencv#8011
from opencv.
And here is the real issue: opencv/opencv#4286
From that issue: "After moving to doxygen, documentation for python and java is not generated anymore. This process should be reworked from scratch."
So it looks like this is going to take someone working with OpenCV to get this rewritten.
from opencv.
Closing this as won't fix. Maintaining this distribution is already incredibly difficult and time consuming. I'm not going add more complexity to it. If OpenCV ever fixes this issue the documentation will be included automatically. So, until then...
from opencv.
Related Issues (20)
- Should the License be Changed to Apache v2 for OpenCV version 4.7?
- videoCapture.isOpened() always is false! HOT 4
- Opencv 4.8.1 and BarcodeDetection
- libwebp cve-2023-4863 HOT 1
- Memory Leak with some functions HOT 2
- Java 11 requirement HOT 1
- OpenCV.loadLocally() init error HOT 2
- Caused by: java.lang.UnsatisfiedLinkError: /tmp/opencv_openpnp5364447482759473585/nu/pattern/opencv/linux/x86_64/libopencv_java460.so: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /tmp/opencv_openpnp5364447482759473585/nu/pattern/opencv/linux/x86_64/libopencv_java460.so) HOT 2
- Stitcher HOT 1
- java.lang.UnsatisfiedLinkError: no opencv_java on Windows HOT 1
- Is there a plan to support OSX M2? HOT 2
- Open CV distributed with openpnp can't load image from a IP camera HOT 1
- Impossible to load library on Mac OS X HOT 1
- 4.7.0 Version HOT 1
- BarcodeDetector HOT 4
- Extra modules HOT 1
- Class CaptureDelegate is implemented in both HOT 2
- version 4.8.0
- Project runs on M2 Mac but fails on x86 Linux HOT 1
- Setting VideoCapture to certain square resolutions results in garbled output
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.
from opencv.