27 lines
1.4 KiB
Markdown
27 lines
1.4 KiB
Markdown
Go OpenCV (GOlang openCV)
|
|
=======================
|
|
|
|
Wrap the core types in OpenCV.
|
|
|
|
## Supporting Types and Examples
|
|
|
|
| OpenCV C++ | Go OpenCV | Constructor |
|
|
|---------------|-----------------|-------------------------------|
|
|
| `cv::Point2i` | `GcvPoint2i` | `NewGcvPoint2i(x, y int)` |
|
|
| `cv::Point2f` | `GcvPoint2f32_` | `NewGcvPoint2f32(x, y float64)` |
|
|
| `cv::Point2d` | `GcvPoint2f64_` | `NewGcvPoint2f64(x, y float64)` |
|
|
| `cv::Point3i` | `GcvPoint3i` | `NewGcvPoint3i(x, y, z int)` |
|
|
| `cv::Point3f` | `GcvPoint3f32_` | `NewGcvPoint3f32(x, y, z float64)` |
|
|
| `cv::Point3d` | `GcvPoint3f64_` | `NewGcvPoint3f64(x, y, z float64)` |
|
|
| `cv::Size2i` | `GcvSize2i` | `NewGcvSize2i(x, y int)` |
|
|
| `cv::Size2f` | `GcvSize2f32_` | `NewGcvSize2f64(x, y float64)` |
|
|
| `cv::Size2d` | `GcvSize2f64_` | `NewGcvSize2f64(x, y float64)` |
|
|
|
|
----------
|
|
|
|
### Note for Renamed Types
|
|
|
|
Some of the types are renamed to `*_`. The reason is that we'd like to wrap a better interface for them.
|
|
For example, the original `NewGcvPoint2f32` takes strictly two `float32`, and we are not able to pass `float64` or `int`, which doesn't make too much sense.
|
|
After wrapping an extra level, we are now able to pass `int`, `float32`, and `float64` to these methods.
|
|
Also note that **renaming doesn't affect any usage**, except you are manipulating the types yourself.
|