cuda

package
v0.36.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2024 License: Apache-2.0 Imports: 6 Imported by: 2

README

CUDA

In order to use the GoCV cuda package, the CUDA toolkit from nvidia needs to be installed on the host system.

The CUDA backend for DNN module requires CC (Compute Capability) 5.3 or higher. Check your GPU https://developer.nvidia.com/cuda-gpus

Please see https://docs.nvidia.com/cuda/index.html for more information.

Furthermore opencv must be compiled with CUDA support.

GoCV also supports using CUDA as a backend for the OpenCV deep neural network (DNN) module.

How to use

Deep Neural Network (DNN) module

This code loads a Caffe model, and then uses CUDA to prepare it for execution on the GPU:

net := gocv.ReadNet("/path/to/your/model.caffemodel", "/path/to/your/config.proto")
if net.Empty() {
    fmt.Println("Error reading network model")
    return
}

net.SetPreferableBackend(gocv.NetBackendType(gocv.NetBackendCUDA))
net.SetPreferableTarget(gocv.NetTargetType(gocv.NetTargetCUDA))
OpenCV CUDA modules

You can use calls directly to the OpenCV CUDA wrappers, both the synchronous and asynchronous versions.

Here is an example that uses the synchronous CUDA calls:

    cimg, mimg, dimg := NewGpuMat(), NewGpuMat(), NewGpuMat()
    defer cimg.Close()
    defer mimg.Close()
    defer dimg.Close()

    canny := NewCannyEdgeDetector(50, 100)
    defer canny.Close()

    detector := NewHoughSegmentDetector(1, math.Pi/180, 150, 50)
    defer detector.Close()

    dest := gocv.NewMat()
    defer dest.Close()

    // after each call, CPU thread is blocked until GPU operation is completed.
    cimg.Upload(src)
    canny.Detect(cimg, &mimg)
    detector.Detect(mimg, &dimg)
    dimg.Download(&dest)

Here is an example that uses the Stream type for calling CUDA using the asynchronous interface:

    cimg, mimg, dimg := NewGpuMat(), NewGpuMat(), NewGpuMat()
    defer cimg.Close()
    defer mimg.Close()
    defer dimg.Close()

    stream := NewStream()
    defer stream.Close()

    canny := NewCannyEdgeDetector(50, 100)
    defer canny.Close()

    detector := NewHoughSegmentDetector(1, math.Pi/180, 150, 50)
    defer detector.Close()

    dest := gocv.NewMat()
    defer dest.Close()

    // all calls return immediately to CPU, work is scheduled to be done on GPU.
    cimg.UploadWithStream(src, stream)
    canny.DetectWithStream(cimg, &mimg, stream)
    detector.DetectWithStream(mimg, &dimg, stream)
    dimg.DownloadWithStream(&dest, stream)

    // CPU thread blocks until all GPU calls have completed.
    stream.WaitForCompletion()

Installing CUDA

Download and install packages from https://developer.nvidia.com/cuda-downloads

For example, download 'cuda_10.2.89_440.33.01_linux.run'

Download and install packages from https://developer.nvidia.com/rdp/cudnn-archive

For example the 'cuDNN Runtime Library for Ubuntu18.04 (Deb)' and 'cuDNN Developer Library for Ubuntu18.04 (Deb)'

Compiling OpenCV with CUDA

We have included the make target install_cuda that compiles OpenCV with CUDA support. (For more details on the compilation process please see the Makefile)

Run the command make install_cuda and you should be good to go.

If you need static opencv libraries

make install_cuda BUILD_SHARED_LIBS=OFF

Then finally verify that it is all working

cd $GOPATH/src/gocv.io/x/gocv
go run ./cmd/cuda/main.go

You should see something along the lines of:

gocv version: 0.25.0
cuda information:
  Device 0:  "GeForce MX150"  2003Mb, sm_61, Driver/Runtime ver.10.0/10.0

Documentation

Overview

Package cuda is the GoCV wrapper around OpenCV cuda.

For further details, please see: https://github.com/opencv/opencv

import "gocv.io/x/gocv/cuda"

Package cuda is the GoCV wrapper around OpenCV cuda.

For further details, please see: https://github.com/opencv/c

import "gocv.io/x/gocv/cuda"

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Abs added in v0.27.0

func Abs(src GpuMat, dst *GpuMat)

Abs computes an absolute value of each matrix element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga54a72bd772494ab34d05406fd76df2b6

func AbsDiff added in v0.29.0

func AbsDiff(src1, src2 GpuMat, dst *GpuMat)

AbsDiff computes per-element absolute difference of two matrices (or of a matrix and scalar) using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac062b283cf46ee90f74a773d3382ab54

func AbsDiffWithStream added in v0.29.0

func AbsDiffWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

AbsDiffWithStream computes an absolute value of each matrix element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac062b283cf46ee90f74a773d3382ab54

func AbsWithStream added in v0.29.0

func AbsWithStream(src GpuMat, dst *GpuMat, stream Stream)

AbsWithStream computes an absolute value of each matrix element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga54a72bd772494ab34d05406fd76df2b6

func Add added in v0.29.0

func Add(src1, src2 GpuMat, dst *GpuMat)

Add computes a matrix-matrix or matrix-scalar sum.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga5d9794bde97ed23d1c1485249074a8b1

func AddWithStream added in v0.29.0

func AddWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

AddWithStream computes a matrix-matrix or matrix-scalar sum using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga5d9794bde97ed23d1c1485249074a8b1

func BitwiseAnd added in v0.29.0

func BitwiseAnd(src1, src2 GpuMat, dst *GpuMat)

BitwiseAnd performs a per-element bitwise conjunction of two matrices (or of matrix and scalar).

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga78d7c1a013877abd4237fbfc4e13bd76

func BitwiseAndWithStream added in v0.29.0

func BitwiseAndWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

BitwiseAndWithStream performs a per-element bitwise conjunction of two matrices (or of matrix and scalar) using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga78d7c1a013877abd4237fbfc4e13bd76

func BitwiseNot added in v0.29.0

func BitwiseNot(src GpuMat, dst *GpuMat)

BitwiseNot performs a per-element bitwise inversion.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gae58159a2259ae1acc76b531c171cf06a

func BitwiseNotWithStream added in v0.29.0

func BitwiseNotWithStream(src GpuMat, dst *GpuMat, s Stream)

BitwiseNotWithStream performs a per-element bitwise inversion using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gae58159a2259ae1acc76b531c171cf06a

func BitwiseOr added in v0.29.0

func BitwiseOr(src1, src2 GpuMat, dst *GpuMat)

BitwiseOr performs a per-element bitwise disjunction of two matrices (or of matrix and scalar).

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gafd098ee3e51c68daa793999c1da3dfb7

func BitwiseOrWithStream added in v0.29.0

func BitwiseOrWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

BitwiseOrWithStream performs a per-element bitwise disjunction of two matrices (or of matrix and scalar) using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gafd098ee3e51c68daa793999c1da3dfb7

func BitwiseXor added in v0.29.0

func BitwiseXor(src1, src2 GpuMat, dst *GpuMat)

BitwiseXor performs a per-element exclusive or of two matrices (or of matrix and scalar).

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga3d95d4faafb099aacf18e8b915a4ad8d

func BitwiseXorWithStream added in v0.29.0

func BitwiseXorWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

BitwiseXorWithStream performs a per-element exclusive or of two matrices (or of matrix and scalar) using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga3d95d4faafb099aacf18e8b915a4ad8d

func BuildWarpAffineMaps added in v0.21.0

func BuildWarpAffineMaps(M GpuMat, inverse bool, sz image.Point, xmap, ymap *GpuMat)

BuildWarpAffineMaps builds transformation maps for affine transformation.

For further details. please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga63504590a96e4cc702d994281d17bc1c

func BuildWarpAffineMapsWithStream added in v0.29.0

func BuildWarpAffineMapsWithStream(M GpuMat, inverse bool, sz image.Point, xmap, ymap *GpuMat, s Stream)

BuildWarpAffineMapsWithStream builds transformation maps for affine transformation using a Stream for concurrency.

For further details. please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga63504590a96e4cc702d994281d17bc1c

func BuildWarpPerspectiveMaps added in v0.21.0

func BuildWarpPerspectiveMaps(M GpuMat, inverse bool, sz image.Point, xmap, ymap *GpuMat)

BuildWarpPerspectiveMaps builds transformation maps for perspective transformation.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga8d16e3003703bd3b89cca98c913ef864

func BuildWarpPerspectiveMapsWithStream added in v0.29.0

func BuildWarpPerspectiveMapsWithStream(M GpuMat, inverse bool, sz image.Point, xmap, ymap *GpuMat, s Stream)

BuildWarpPerspectiveMapsWithStream builds transformation maps for perspective transformation using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga8d16e3003703bd3b89cca98c913ef864

func CvtColor added in v0.23.0

func CvtColor(src GpuMat, dst *GpuMat, code gocv.ColorConversionCode)

CvtColor converts an image from one color space to another. It converts the src Mat image to the dst Mat using the code param containing the desired ColorConversionCode color space.

For further details, please see: https://docs.opencv.org/master/db/d8c/group__cudaimgproc__color.html#ga48d0f208181d5ca370d8ff6b62cbe826

func CvtColorWithStream added in v0.29.0

func CvtColorWithStream(src GpuMat, dst *GpuMat, code gocv.ColorConversionCode, s Stream)

CvtColorWithStream converts an image from one color space to another using a Stream for concurrency. It converts the src Mat image to the dst Mat using the code param containing the desired ColorConversionCode color space.

For further details, please see: https://docs.opencv.org/master/db/d8c/group__cudaimgproc__color.html#ga48d0f208181d5ca370d8ff6b62cbe826

func Divide added in v0.29.0

func Divide(src1, src2 GpuMat, dst *GpuMat)

Divide computes a matrix-matrix or matrix-scalar division.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga124315aa226260841e25cc0b9ea99dc3

func DivideWithStream added in v0.29.0

func DivideWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

DivideWithStream computes a matrix-matrix or matrix-scalar division using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga124315aa226260841e25cc0b9ea99dc3

func Exp added in v0.29.0

func Exp(src GpuMat, dst *GpuMat)

Exp computes an exponent of each matrix element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac6e51541d3bb0a7a396128e4d5919b61

func ExpWithStream added in v0.29.0

func ExpWithStream(src GpuMat, dst *GpuMat, s Stream)

ExpWithStream computes an exponent of each matrix element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac6e51541d3bb0a7a396128e4d5919b61

func Flip added in v0.28.0

func Flip(src GpuMat, dst *GpuMat, flipCode int)

Flip flips a 2D matrix around vertical, horizontal, or both axes.

For further details, please see: https://docs.opencv.org/master/de/d09/group__cudaarithm__core.html#ga4d0a3f2b46e8f0f1ec2b5ac178dcd871

func FlipWithStream added in v0.29.0

func FlipWithStream(src GpuMat, dst *GpuMat, flipCode int, stream Stream)

FlipWithStream flips a 2D matrix around vertical, horizontal, or both axes using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/de/d09/group__cudaarithm__core.html#ga4d0a3f2b46e8f0f1ec2b5ac178dcd871

func GetCudaEnabledDeviceCount

func GetCudaEnabledDeviceCount() int

GetCudaEnabledDeviceCount returns the number of cuda enabled devices on the system

func GetDevice added in v0.29.0

func GetDevice() int

GetDevice returns the current device index.

For further details, please see: https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#ga6ded4ed8e4fc483a9863d31f34ec9c0e

func Log added in v0.29.0

func Log(src GpuMat, dst *GpuMat)

Log computes natural logarithm of absolute value of each matrix element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac6e51541d3bb0a7a396128e4d5919b61

func LogWithStream added in v0.29.0

func LogWithStream(src GpuMat, dst *GpuMat, s Stream)

LogWithStream computes natural logarithm of absolute value of each matrix element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac6e51541d3bb0a7a396128e4d5919b61

func Max added in v0.29.0

func Max(src1, src2 GpuMat, dst *GpuMat)

Max computes the per-element maximum of two matrices (or a matrix and a scalar).

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gadb5dd3d870f10c0866035755b929b1e7

func MaxWithStream added in v0.29.0

func MaxWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

MaxWithStream computes the per-element maximum of two matrices (or a matrix and a scalar). using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gadb5dd3d870f10c0866035755b929b1e7

func Min added in v0.29.0

func Min(src1, src2 GpuMat, dst *GpuMat)

Min computes the per-element minimum of two matrices (or a matrix and a scalar).

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga74f0b05a65b3d949c237abb5e6c60867

func MinWithStream added in v0.29.0

func MinWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

MinWithStream computes the per-element minimum of two matrices (or a matrix and a scalar). using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga74f0b05a65b3d949c237abb5e6c60867

func Multiply added in v0.29.0

func Multiply(src1, src2 GpuMat, dst *GpuMat)

Multiply computes a matrix-matrix or matrix-scalar multiplication.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga497cc0615bf717e1e615143b56f00591

func MultiplyWithStream added in v0.36.0

func MultiplyWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

MultiplyWithStream computes a matrix-matrix or matrix-scalar multiplication.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga497cc0615bf717e1e615143b56f00591

func PrintCudaDeviceInfo

func PrintCudaDeviceInfo(device int)

PrintCudaDeviceInfo prints extensive cuda device information

func PrintShortCudaDeviceInfo

func PrintShortCudaDeviceInfo(device int)

PrintShortCudaDeviceInfo prints a small amount of cuda device information

func PyrDown added in v0.21.0

func PyrDown(src GpuMat, dst *GpuMat)

PyrDown blurs an image and downsamples it.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga9c8456de9792d96431e065f407c7a91b

func PyrDownWithStream added in v0.29.0

func PyrDownWithStream(src GpuMat, dst *GpuMat, s Stream)

PyrDownWithStream blurs an image and downsamples it using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga9c8456de9792d96431e065f407c7a91b

func PyrUp added in v0.21.0

func PyrUp(src GpuMat, dst *GpuMat)

PyrUp upsamples an image and then blurs it.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga2048da0dfdb9e4a726232c5cef7e5747

func PyrUpWithStream added in v0.29.0

func PyrUpWithStream(src GpuMat, dst *GpuMat, s Stream)

PyrUpWithStream upsamples an image and then blurs it using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga2048da0dfdb9e4a726232c5cef7e5747

func Remap added in v0.21.0

func Remap(src GpuMat, dst, xmap, ymap *GpuMat, interpolation InterpolationFlags, borderMode BorderType, borderValue color.RGBA)

Remap applies a generic geometrical transformation to an image.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga0ece6c76e8efa3171adb8432d842beb0

func RemapWithStream added in v0.29.0

func RemapWithStream(src GpuMat, dst, xmap, ymap *GpuMat, interpolation InterpolationFlags, borderMode BorderType, borderValue color.RGBA, s Stream)

RemapWithStream applies a generic geometrical transformation to an image using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga0ece6c76e8efa3171adb8432d842beb0

func ResetDevice added in v0.29.0

func ResetDevice()

ResetDevice explicitly destroys and cleans up all resources associated with the current device in the current process.

Any subsequent API call to this device will reinitialize the device.

For further details, please see: https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#ga6153b6f461101374e655a54fc77e725e

func Resize added in v0.21.0

func Resize(src GpuMat, dst *GpuMat, sz image.Point, fx, fy float64, interp InterpolationFlags)

Resize resizes an image.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga4f5fa0770d1c9efbadb9be1b92a6452a

func ResizeWithStream added in v0.29.0

func ResizeWithStream(src GpuMat, dst *GpuMat, sz image.Point, fx, fy float64, interp InterpolationFlags, s Stream)

ResizeWithStream resizes an image using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga4f5fa0770d1c9efbadb9be1b92a6452a

func Rotate added in v0.21.0

func Rotate(src GpuMat, dst *GpuMat, sz image.Point, angle, xShift, yShift float64, interp InterpolationFlags)

Rotate rotates an image around the origin (0,0) and then shifts it.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga55d958eceb0f871e04b1be0adc6ef1b5

func RotateWithStream added in v0.29.0

func RotateWithStream(src GpuMat, dst *GpuMat, sz image.Point, angle, xShift, yShift float64, interp InterpolationFlags, s Stream)

RotateWithStream rotates an image around the origin (0,0) and then shifts it using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga55d958eceb0f871e04b1be0adc6ef1b5

func SetDevice added in v0.29.0

func SetDevice(device int)

SetDevice sets a device and initializes it for the current thread.

For further details, please see: https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#gaefa34186b185de47851836dba537828b

func Sqr added in v0.29.0

func Sqr(src GpuMat, dst *GpuMat)

Sqr computes a square value of each matrix element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga8aae233da90ce0ffe309ab8004342acb

func SqrWithStream added in v0.29.0

func SqrWithStream(src GpuMat, dst *GpuMat, s Stream)

SqrWithStream computes a square value of each matrix element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga8aae233da90ce0ffe309ab8004342acb

func Sqrt added in v0.29.0

func Sqrt(src GpuMat, dst *GpuMat)

Sqrt computes a square root of each matrix element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga09303680cb1a5521a922b6d392028d8c

func SqrtWithStream added in v0.29.0

func SqrtWithStream(src GpuMat, dst *GpuMat, s Stream)

SqrtWithStream computes a square root of each matrix element. using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga09303680cb1a5521a922b6d392028d8c

func Subtract added in v0.29.0

func Subtract(src1, src2 GpuMat, dst *GpuMat)

Subtract computes a matrix-matrix or matrix-scalar difference.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga6eab60fc250059e2fda79c5636bd067f

func SubtractWithStream added in v0.29.0

func SubtractWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

SubtractWithStream computes a matrix-matrix or matrix-scalar difference using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga6eab60fc250059e2fda79c5636bd067f

func Threshold added in v0.23.0

func Threshold(src GpuMat, dst *GpuMat, thresh, maxval float64, typ gocv.ThresholdType)

Threshold applies a fixed-level threshold to each array element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga40f1c94ae9a9456df3cad48e3cb008e1

func ThresholdWithStream added in v0.29.0

func ThresholdWithStream(src GpuMat, dst *GpuMat, thresh, maxval float64, typ gocv.ThresholdType, s Stream)

ThresholdWithStream applies a fixed-level threshold to each array element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga40f1c94ae9a9456df3cad48e3cb008e1

func WarpAffine added in v0.21.0

func WarpAffine(src GpuMat, dst *GpuMat, m GpuMat, sz image.Point, flags InterpolationFlags, borderType BorderType, borderValue color.RGBA)

WarpAffine applies an affine transformation to an image. For more parameters please check WarpAffineWithParams

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga9e8dd9e73b96bdc8e27d85c0e83f1130

func WarpAffineWithStream added in v0.29.0

func WarpAffineWithStream(src GpuMat, dst *GpuMat, m GpuMat, sz image.Point, flags InterpolationFlags, borderType BorderType, borderValue color.RGBA, s Stream)

WarpAffineWithStream applies an affine transformation to an image using a Stream for concurrency.

For more parameters please check WarpAffineWithParams

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga9e8dd9e73b96bdc8e27d85c0e83f1130

func WarpPerspective added in v0.21.0

func WarpPerspective(src GpuMat, dst *GpuMat, m GpuMat, sz image.Point, flags InterpolationFlags, borderType BorderType, borderValue color.RGBA)

WarpPerspective applies a perspective transformation to an image.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga7a6cf95065536712de6b155f3440ccff

func WarpPerspectiveWithStream added in v0.29.0

func WarpPerspectiveWithStream(src GpuMat, dst *GpuMat, m GpuMat, sz image.Point, flags InterpolationFlags, borderType BorderType, borderValue color.RGBA, s Stream)

WarpPerspectiveWithStream applies a perspective transformation to an image using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga7a6cf95065536712de6b155f3440ccff

Types

type BackgroundSubtractorMOG

type BackgroundSubtractorMOG struct {
	// contains filtered or unexported fields
}

BackgroundSubtractorMOG is a wrapper around the cv::cuda::BackgroundSubtractorMOG.

func NewBackgroundSubtractorMOG

func NewBackgroundSubtractorMOG() BackgroundSubtractorMOG

NewBackgroundSubtractorMOG returns a new BackgroundSubtractor algorithm of type MOG. MOG is a Gaussian Mixture-based Background/Foreground Segmentation Algorithm.

For further details, please see: https://docs.opencv.org/master/dc/d3d/cudabgsegm_8hpp.html

func (*BackgroundSubtractorMOG) Apply

func (b *BackgroundSubtractorMOG) Apply(src GpuMat, dst *GpuMat)

Apply computes a foreground mask using the current BackgroundSubtractorMOG.

For further details, please see: https://docs.opencv.org/master/d1/dfe/classcv_1_1cuda_1_1BackgroundSubtractorMOG.html#a8f52d2f7abd1c77c84243efc53972cbf

func (*BackgroundSubtractorMOG) ApplyWithStream added in v0.29.0

func (b *BackgroundSubtractorMOG) ApplyWithStream(src GpuMat, dst *GpuMat, s Stream)

ApplyWithStream computes a foreground mask using the current BackgroundSubtractorMOG using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d1/dfe/classcv_1_1cuda_1_1BackgroundSubtractorMOG.html#a8f52d2f7abd1c77c84243efc53972cbf

func (*BackgroundSubtractorMOG) Close

func (b *BackgroundSubtractorMOG) Close() error

Close BackgroundSubtractorMOG.

type BackgroundSubtractorMOG2

type BackgroundSubtractorMOG2 struct {
	// contains filtered or unexported fields
}

BackgroundSubtractorMOG2 is a wrapper around the cv::cuda::BackgroundSubtractorMOG2.

func NewBackgroundSubtractorMOG2

func NewBackgroundSubtractorMOG2() BackgroundSubtractorMOG2

NewBackgroundSubtractorMOG2 returns a new BackgroundSubtractor algorithm of type MOG2. MOG2 is a Gaussian Mixture-based Background/Foreground Segmentation Algorithm.

For further details, please see: https://docs.opencv.org/master/dc/d3d/cudabgsegm_8hpp.html

func (*BackgroundSubtractorMOG2) Apply

func (b *BackgroundSubtractorMOG2) Apply(src GpuMat, dst *GpuMat)

Apply computes a foreground mask using the current BackgroundSubtractorMOG2.

For further details, please see: https://docs.opencv.org/master/df/d23/classcv_1_1cuda_1_1BackgroundSubtractorMOG2.html#a92408f07bf1268c1b778cb186b3113b0

func (*BackgroundSubtractorMOG2) ApplyWithStream added in v0.29.0

func (b *BackgroundSubtractorMOG2) ApplyWithStream(src GpuMat, dst *GpuMat, s Stream)

ApplyWithStream computes a foreground mask using the current BackgroundSubtractorMOG2 using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/df/d23/classcv_1_1cuda_1_1BackgroundSubtractorMOG2.html#a92408f07bf1268c1b778cb186b3113b0

func (*BackgroundSubtractorMOG2) Close

func (b *BackgroundSubtractorMOG2) Close() error

Close BackgroundSubtractorMOG2.

type BorderType added in v0.21.0

type BorderType int

BorderType type of border.

const (
	// BorderConstant border type
	BorderConstant BorderType = 0

	// BorderReplicate border type
	BorderReplicate BorderType = 1

	// BorderReflect border type
	BorderReflect BorderType = 2

	// BorderWrap border type
	BorderWrap BorderType = 3

	// BorderReflect101 border type
	BorderReflect101 BorderType = 4

	// BorderTransparent border type
	BorderTransparent BorderType = 5

	// BorderDefault border type
	BorderDefault = BorderReflect101

	// BorderIsolated border type
	BorderIsolated BorderType = 16
)

func (BorderType) String added in v0.22.0

func (c BorderType) String() string

type CannyEdgeDetector added in v0.23.0

type CannyEdgeDetector struct {
	// contains filtered or unexported fields
}

CannyEdgeDetector

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html

func NewCannyEdgeDetector added in v0.27.0

func NewCannyEdgeDetector(lowThresh, highThresh float64) CannyEdgeDetector

NewCannyEdgeDetector returns a new CannyEdgeDetector.

func NewCannyEdgeDetectorWithParams added in v0.27.0

func NewCannyEdgeDetectorWithParams(lowThresh, highThresh float64, appertureSize int, L2gradient bool) CannyEdgeDetector

NewCannyEdgeDetectorWithParams returns a new CannyEdgeDetector.

func (*CannyEdgeDetector) Close added in v0.27.0

func (h *CannyEdgeDetector) Close() error

Close CannyEdgeDetector

func (*CannyEdgeDetector) Detect added in v0.23.0

func (h *CannyEdgeDetector) Detect(img GpuMat, dst *GpuMat)

Detect finds edges in an image using the Canny algorithm.

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a6438cf8453f2dfd6703ceb50056de309

func (*CannyEdgeDetector) DetectWithStream added in v0.29.0

func (h *CannyEdgeDetector) DetectWithStream(img GpuMat, dst *GpuMat, s Stream)

DetectWithStream finds edges in an image using the Canny algorithm using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a6438cf8453f2dfd6703ceb50056de309

func (*CannyEdgeDetector) GetAppertureSize added in v0.23.0

func (h *CannyEdgeDetector) GetAppertureSize() int

GetAppertureSize

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a19c2963ff255b0c18387594a704439d3

func (*CannyEdgeDetector) GetHighThreshold added in v0.23.0

func (h *CannyEdgeDetector) GetHighThreshold() float64

GetHighThreshold

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a8366296a57059487dcfd7b30f4a9e3b1

func (*CannyEdgeDetector) GetL2Gradient added in v0.23.0

func (h *CannyEdgeDetector) GetL2Gradient() bool

GetL2Gradient

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a8fe4ed887c226b12ab44084789b4c6dd

func (*CannyEdgeDetector) GetLowThreshold added in v0.23.0

func (h *CannyEdgeDetector) GetLowThreshold() float64

GetLowThreshold

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#aaf5a8944a8ac11093cf7a093b45cd3a8

func (*CannyEdgeDetector) SetAppertureSize added in v0.23.0

func (h *CannyEdgeDetector) SetAppertureSize(appertureSize int)

SetAppertureSize

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#aac7d0602338e1a2a783811a929967714

func (*CannyEdgeDetector) SetHighThreshold added in v0.23.0

func (h *CannyEdgeDetector) SetHighThreshold(highThresh float64)

SetHighThreshold

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a63d352fe7f3bad640e63f4e394619235

func (*CannyEdgeDetector) SetL2Gradient added in v0.23.0

func (h *CannyEdgeDetector) SetL2Gradient(L2gradient bool)

SetL2Gradient

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#ac2e8a675cc30cb3e621ac684e22f89d1

func (*CannyEdgeDetector) SetLowThreshold added in v0.23.0

func (h *CannyEdgeDetector) SetLowThreshold(lowThresh float64)

SetLowThreshold

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a6bdc1479c1557288a69c6314c61d1548

type CascadeClassifier added in v0.23.0

type CascadeClassifier struct {
	// contains filtered or unexported fields
}

CascadeClassifier_GPU is a cascade classifier class for object detection.

For further details, please see: https://docs.opencv.org/master/d9/d80/classcv_1_1cuda_1_1CascadeClassifier.html

func NewCascadeClassifier added in v0.23.0

func NewCascadeClassifier(name string) CascadeClassifier

NewCascadeClassifier_GPU returns a new CascadeClassifier.

func (*CascadeClassifier) DetectMultiScale added in v0.23.0

func (c *CascadeClassifier) DetectMultiScale(img GpuMat) []image.Rectangle

DetectMultiScale detects objects of different sizes in the input Mat image. The detected objects are returned as a slice of image.Rectangle structs.

For further details, please see: https://docs.opencv.org/master/d9/d80/classcv_1_1cuda_1_1CascadeClassifier.html#a182656b878046eb3f0e9c0f0ee327f08

type DescriptorStorageFormat added in v0.23.0

type DescriptorStorageFormat int
const (
	DESCR_FORMAT_COL_BY_COL DescriptorStorageFormat = 0

	DESCR_FORMAT_COL_BY_ROW DescriptorStorageFormat = 1
)

type GaussianFilter added in v0.27.0

type GaussianFilter struct {
	// contains filtered or unexported fields
}

GaussianFilter

For further details, please see: https://docs.opencv.org/master/dc/d66/group__cudafilters.html#gaa4df286369114cfd4b144ae211f6a6c8

func NewGaussianFilter added in v0.27.0

func NewGaussianFilter(srcType gocv.MatType, dstType gocv.MatType, ksize image.Point, sigma1 float64) GaussianFilter

NewGaussianFilter returns a new GaussianFilter.

func (*GaussianFilter) Apply added in v0.27.0

func (gf *GaussianFilter) Apply(img GpuMat, dst *GpuMat)

Apply applies the Gaussian filter.

For further details, please see: https://docs.opencv.org/master/dc/d2b/classcv_1_1cuda_1_1Filter.html#a20b58d13871027473b4c39cc698cf80f

func (*GaussianFilter) ApplyWithStream added in v0.29.0

func (gf *GaussianFilter) ApplyWithStream(img GpuMat, dst *GpuMat, s Stream)

ApplyWithStream applies the Gaussian filter using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/dc/d2b/classcv_1_1cuda_1_1Filter.html#a20b58d13871027473b4c39cc698cf80f

func (*GaussianFilter) Close added in v0.27.0

func (gf *GaussianFilter) Close() error

Close GaussianFilter

type GpuMat

type GpuMat struct {
	// contains filtered or unexported fields
}

GpuMat is the GPU version of a Mat

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html

func NewGpuMat

func NewGpuMat() GpuMat

NewGpuMat returns a new empty GpuMat

func NewGpuMatFromMat added in v0.21.0

func NewGpuMatFromMat(mat gocv.Mat) GpuMat

NewGpuMatFromMat returns a new GpuMat based on a Mat

func NewGpuMatWithSize added in v0.29.0

func NewGpuMatWithSize(rows int, cols int, mt gocv.MatType) GpuMat

NewGpuMatWithSize returns a new GpuMat with a specific size and type.

func (*GpuMat) Channels added in v0.28.0

func (m *GpuMat) Channels() int

Channels returns the number of channels for this GpuMat.

func (*GpuMat) Close

func (g *GpuMat) Close() error

Close the GpuMat object

func (*GpuMat) Cols added in v0.28.0

func (m *GpuMat) Cols() int

Cols returns the number of columns for this GpuMat.

func (*GpuMat) ConvertTo added in v0.23.0

func (m *GpuMat) ConvertTo(dst *GpuMat, mt gocv.MatType)

ConvertTo converts GpuMat into destination GpuMat.

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a3a1b076e54d8a8503014e27a5440d98a

func (*GpuMat) ConvertToWithStream added in v0.29.0

func (m *GpuMat) ConvertToWithStream(dst *GpuMat, mt gocv.MatType, s Stream)

ConvertToWithStream converts GpuMat into destination GpuMat.

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a3a1b076e54d8a8503014e27a5440d98a

func (*GpuMat) CopyTo added in v0.29.0

func (m *GpuMat) CopyTo(dst *GpuMat)

CopyTo copies GpuMat into destination GpuMat.

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a948c562ee340c0678a44884bde1f5a3e

func (*GpuMat) CopyToWithStream added in v0.29.0

func (m *GpuMat) CopyToWithStream(dst *GpuMat, s Stream)

CopyToWithStream copies GpuMat into destination GpuMat.

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a948c562ee340c0678a44884bde1f5a3e

func (*GpuMat) Download

func (g *GpuMat) Download(dst *gocv.Mat)

Download performs data download from GpuMat (Blocking call)

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a027e74e4364ddfd9687b58aa5db8d4e8

func (*GpuMat) DownloadWithStream added in v0.29.0

func (g *GpuMat) DownloadWithStream(dst *gocv.Mat, s Stream)

DownloadWithStream performs data download from GpuMat (non-blocking call)

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a027e74e4364ddfd9687b58aa5db8d4e8

func (*GpuMat) Empty

func (g *GpuMat) Empty() bool

Empty returns true if GpuMat is empty

func (*GpuMat) Reshape added in v0.29.0

func (m *GpuMat) Reshape(cn int, rows int) GpuMat

Reshape creates a new GpuMat with the same data but with a different number of channels and/or different number of rows.

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a408e22ed824d1ddf59f58bda895017a8

func (*GpuMat) Rows added in v0.28.0

func (m *GpuMat) Rows() int

Rows returns the number of rows for this GpuMat.

func (*GpuMat) Type added in v0.28.0

func (m *GpuMat) Type() gocv.MatType

Type returns the type for this GpuMat.

func (*GpuMat) Upload

func (g *GpuMat) Upload(data gocv.Mat)

Upload performs data upload to GpuMat (Blocking call)

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a00ef5bfe18d14623dcf578a35e40a46b

func (*GpuMat) UploadWithStream added in v0.29.0

func (g *GpuMat) UploadWithStream(data gocv.Mat, s Stream)

UploadWithStream performs data upload to GpuMat (non-blocking call)

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a00ef5bfe18d14623dcf578a35e40a46b

type HOG added in v0.23.0

type HOG struct {
	// contains filtered or unexported fields
}

HOG is a Histogram Of Gradiants (HOG) for object detection.

For further details, please see: https://docs.opencv.org/master/d5/d33/structcv_1_1HOG.html#a723b95b709cfd3f95cf9e616de988fc8

func CreateHOG added in v0.23.0

func CreateHOG() HOG

NewHOG returns a new HOG.

func CreateHOGWithParams added in v0.23.0

func CreateHOGWithParams(winSize, blockSize, blockStride, cellSize image.Point, nbins int) HOG

func (*HOG) Compute added in v0.23.0

func (h *HOG) Compute(img GpuMat) GpuMat

Compute returns block descriptors computed for the whole image.

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#ab4287267081959ec77c01269dbfcd373

func (*HOG) DetectMultiScale added in v0.23.0

func (h *HOG) DetectMultiScale(img GpuMat) []image.Rectangle

DetectMultiScale detects objects in the input Mat image. The detected objects are returned as a slice of image.Rectangle structs.

For further details, please see: https://docs.opencv.org/master/d5/d33/structcv_1_1HOG.html#a660e5cd036fd5ddf0f5767b352acd948

func (*HOG) GetBlockHistogramSize added in v0.23.0

func (h *HOG) GetBlockHistogramSize() int

GetBlockHistogramSize returns the block histogram size.

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a016f9ffced8b2f4b20bdd06a775017d1

func (*HOG) GetDefaultPeopleDetector added in v0.23.0

func (h *HOG) GetDefaultPeopleDetector() C.Mat

GetDefaultPeopleDetector returns a new Mat with the HOG DefaultPeopleDetector.

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a016f9ffced8b2f4b20bdd06a775017d1

func (*HOG) GetDescriptorFormat added in v0.23.0

func (h *HOG) GetDescriptorFormat() DescriptorStorageFormat

GetDescriptorFormat

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#adad29ed960a953aa13dc59c410683620

func (*HOG) GetDescriptorSize added in v0.23.0

func (h *HOG) GetDescriptorSize() int

GetDescriptorFormat returns the number of coefficients required for the classification.

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#adb8c714cba1a025b8869d5a0e152f824

func (*HOG) GetGammaCorrection added in v0.23.0

func (h *HOG) GetGammaCorrection() bool

GetGammaCorrection

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a7032eed27cf7a004b727a6e522c2404e

func (*HOG) GetGroupThreshold added in v0.23.0

func (h *HOG) GetGroupThreshold() int

GetGroupThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a7032eed27cf7a004b727a6e522c2404e

func (*HOG) GetHitThreshold added in v0.23.0

func (h *HOG) GetHitThreshold() float64

GetHitThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#ae0de149980ea47fbd39b7766df565b27

func (*HOG) GetL2HysThreshold added in v0.23.0

func (h *HOG) GetL2HysThreshold() float64

GetL2HysThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a6853c9a66889fed996678f7972df9660

func (*HOG) GetNumLevels added in v0.23.0

func (h *HOG) GetNumLevels() int

GetNumLevels

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a15238eb6f52a1ddeedd015773c46efd8

func (*HOG) GetScaleFactor added in v0.23.0

func (h *HOG) GetScaleFactor() float64

GetScaleFactor

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a89c59564625bb2c691af8c2cf49aab9e

func (*HOG) GetWinSigma added in v0.23.0

func (h *HOG) GetWinSigma() float64

GetWinSigma

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a22d03fa05b251b4f19cfa1fab36e754e

func (*HOG) GetWinStride added in v0.23.0

func (h *HOG) GetWinStride() image.Point

GetWinStride

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a6c63504790b51963ca33496a0b039b48

func (*HOG) SetDescriptorFormat added in v0.23.0

func (h *HOG) SetDescriptorFormat(descrFormat DescriptorStorageFormat)

SetDescriptorFormat

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a6e3e1075a567268f2dfb2151b1c99cb6

func (*HOG) SetGammaCorrection added in v0.23.0

func (h *HOG) SetGammaCorrection(gammaCorrection bool)

SetGammaCorrection

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a0eb2f1ecf59ccc599bffac3a0a55562f

func (*HOG) SetGroupThreshold added in v0.23.0

func (h *HOG) SetGroupThreshold(groupThreshold int)

SetGroupThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#adad9af4e4ed0e0a045a70cd44520eefd

func (*HOG) SetHitThreshold added in v0.23.0

func (h *HOG) SetHitThreshold(hitThreshold float64)

SetHitThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a8b623393c11d18b89fa373269b97aea4

func (*HOG) SetL2HysThreshold added in v0.23.0

func (h *HOG) SetL2HysThreshold(thresholdL2hys float64)

SetL2HysThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a30e5c88864fff774f403313993947d62

func (*HOG) SetNumLevels added in v0.23.0

func (h *HOG) SetNumLevels(nlevels int)

SetNumLevels

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a7602088f3e792de196f8f7efcd9bd448

func (*HOG) SetSVMDetector added in v0.23.0

func (h *HOG) SetSVMDetector(det C.Mat) error

SetSVMDetector sets the data for the HOG.

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a5d12db2277b7c3c849d75258eec8d1d4

func (*HOG) SetScaleFactor added in v0.23.0

func (h *HOG) SetScaleFactor(scale0 float64)

SetScaleFactor

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a21dc5e3dc6272030694d52e83352b337

func (*HOG) SetWinSigma added in v0.23.0

func (h *HOG) SetWinSigma(winSigma float64)

SetWinSigma

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#ab291779ff8ac649174b102f64c5f9012

func (*HOG) SetWinStride added in v0.23.0

func (h *HOG) SetWinStride(sz image.Point)

SetWinStride

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a5e74646651209ae13f1b3dd18179773f

type HoughLinesDetector added in v0.27.0

type HoughLinesDetector struct {
	// contains filtered or unexported fields
}

HoughLinesDetector

For further details, please see: https://docs.opencv.org/master/d2/dcd/classcv_1_1cuda_1_1HoughLinesDetector.html

func NewHoughLinesDetector added in v0.27.0

func NewHoughLinesDetector(rho float32, theta float32, threshold int) HoughLinesDetector

NewHoughLinesDetector returns a new HoughLinesDetector.

func NewHoughLinesDetectorWithParams added in v0.27.0

func NewHoughLinesDetectorWithParams(rho float32, theta float32, threshold int, sort bool, maxlines int) HoughLinesDetector

NewHoughLinesDetectorWithParams returns a new HoughLinesDetector.

func (*HoughLinesDetector) Close added in v0.27.0

func (h *HoughLinesDetector) Close() error

Close HoughLinesDetector

func (*HoughLinesDetector) Detect added in v0.27.0

func (h *HoughLinesDetector) Detect(img GpuMat, dst *GpuMat)

Detect finds lines in a binary image using the classical Hough transform.

For further details, please see: https://docs.opencv.org/master/d2/dcd/classcv_1_1cuda_1_1HoughLinesDetector.html#a18ff6d0886833ac6215054e191ae2520

func (*HoughLinesDetector) DetectWithStream added in v0.29.0

func (h *HoughLinesDetector) DetectWithStream(img GpuMat, dst *GpuMat, s Stream)

DetectWithStream finds lines in a binary image using the classical Hough transform using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d2/dcd/classcv_1_1cuda_1_1HoughLinesDetector.html#a18ff6d0886833ac6215054e191ae2520

type HoughSegmentDetector added in v0.27.0

type HoughSegmentDetector struct {
	// contains filtered or unexported fields
}

HoughSegmentDetector

For further details, please see: https://docs.opencv.org/master/d6/df9/classcv_1_1cuda_1_1HoughSegmentDetector.html

func NewHoughSegmentDetector added in v0.27.0

func NewHoughSegmentDetector(rho float32, theta float32, minLineLength int, maxLineGap int) HoughSegmentDetector

NewHoughSegmentDetector returns a new HoughSegmentDetector.

func (*HoughSegmentDetector) Close added in v0.27.0

func (h *HoughSegmentDetector) Close() error

Close HoughSegmentDetector

func (*HoughSegmentDetector) Detect added in v0.27.0

func (h *HoughSegmentDetector) Detect(img GpuMat, dst *GpuMat)

Detect finds lines in a binary image using the Hough probabilistic transform. For further details, please see: https://docs.opencv.org/master/d6/df9/classcv_1_1cuda_1_1HoughSegmentDetector.html#a739bf84825ca455966d69dd75ca0ea6e

func (*HoughSegmentDetector) DetectWithStream added in v0.29.0

func (h *HoughSegmentDetector) DetectWithStream(img GpuMat, dst *GpuMat, s Stream)

DetectWithStream finds lines in a binary image using the Hough probabilistic transform using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d6/df9/classcv_1_1cuda_1_1HoughSegmentDetector.html#a739bf84825ca455966d69dd75ca0ea6e

type InterpolationFlags added in v0.21.0

type InterpolationFlags int

InterpolationFlags are bit flags that control the interpolation algorithm that is used.

const (
	// InterpolationNearestNeighbor is nearest neighbor. (fast but low quality)
	InterpolationNearestNeighbor InterpolationFlags = 0

	// InterpolationLinear is bilinear interpolation.
	InterpolationLinear InterpolationFlags = 1

	// InterpolationCubic is bicube interpolation.
	InterpolationCubic InterpolationFlags = 2

	// InterpolationArea uses pixel area relation. It is preferred for image
	// decimation as it gives moire-free results.
	InterpolationArea InterpolationFlags = 3

	// InterpolationLanczos4 is Lanczos interpolation over 8x8 neighborhood.
	InterpolationLanczos4 InterpolationFlags = 4

	// InterpolationDefault is an alias for InterpolationLinear.
	InterpolationDefault = InterpolationLinear

	// InterpolationMax indicates use maximum interpolation.
	InterpolationMax InterpolationFlags = 7
)

func (InterpolationFlags) String added in v0.22.0

func (c InterpolationFlags) String() string

type SobelFilter added in v0.27.0

type SobelFilter struct {
	// contains filtered or unexported fields
}

SobelFilter

For further details, please see: https://docs.opencv.org/master/dc/d66/group__cudafilters.html#gabf85fe61958bb21e93211a6fcc7c5c3b

func NewSobelFilter added in v0.27.0

func NewSobelFilter(srcType gocv.MatType, dstType gocv.MatType, dx int, dy int) SobelFilter

NewSobelFilter returns a new SobelFilter.

func NewSobelFilterWithParams added in v0.27.0

func NewSobelFilterWithParams(srcType gocv.MatType, dstType gocv.MatType, dx int, dy int, ksize int, scale float64, rowBorderMode int, columnBorderMode int) SobelFilter

NewSobelFilterWithParams returns a new SobelFilter.

func (*SobelFilter) Apply added in v0.27.0

func (sf *SobelFilter) Apply(img GpuMat, dst *GpuMat)

Apply applies the Sobel filter.

For further details, please see: https://docs.opencv.org/master/dc/d2b/classcv_1_1cuda_1_1Filter.html#a20b58d13871027473b4c39cc698cf80f

func (*SobelFilter) ApplyWithStream added in v0.29.0

func (sf *SobelFilter) ApplyWithStream(img GpuMat, dst *GpuMat, s Stream)

ApplyWithStream applies the Sobel filter using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/dc/d2b/classcv_1_1cuda_1_1Filter.html#a20b58d13871027473b4c39cc698cf80f

func (*SobelFilter) Close added in v0.27.0

func (sf *SobelFilter) Close() error

Close SobelFilter

type SparsePyrLKOpticalFlow added in v0.21.0

type SparsePyrLKOpticalFlow struct {
	// contains filtered or unexported fields
}

SparsePyrLKOpticalFlow is a wrapper around the cv::cuda::SparsePyrLKOpticalFlow.

func NewSparsePyrLKOpticalFlow added in v0.21.0

func NewSparsePyrLKOpticalFlow() SparsePyrLKOpticalFlow

NewSparsePyrLKOpticalFlow returns a new SparsePyrLKOpticalFlow

For further details, please see: https://docs.opencv.org/master/d7/d05/classcv_1_1cuda_1_1SparsePyrLKOpticalFlow.html#a6bcd2d457532d7db76c3e7f11b60063b

func (SparsePyrLKOpticalFlow) Calc added in v0.21.0

func (s SparsePyrLKOpticalFlow) Calc(prevImg, nextImg, prevPts, nextPts, status GpuMat)

Calc calculates a sparse optical flow.

For further details, please see: https://docs.opencv.org/master/d5/dcf/classcv_1_1cuda_1_1SparseOpticalFlow.html#a80d5efbb7788e3dc4c49e6226ba34347

type Stream added in v0.29.0

type Stream struct {
	// contains filtered or unexported fields
}

Stream asynchronous stream used for CUDA operations.

For further details, please see: https://docs.opencv.org/master/d9/df3/classcv_1_1cuda_1_1Stream.html#aa6434e2f5f29bd81406732b39951c246

func NewStream added in v0.29.0

func NewStream() Stream

NewStream returns a new empty Stream.

func (*Stream) Close added in v0.29.0

func (s *Stream) Close() error

Close the Stream.

func (*Stream) QueryIfComplete added in v0.29.0

func (s *Stream) QueryIfComplete() bool

QueryIfComplete returns true if the current stream queue is finished

For further details, please see: https://docs.opencv.org/master/d9/df3/classcv_1_1cuda_1_1Stream.html#a9fab618395d42fa31987506e42fab1b4

func (*Stream) WaitForCompletion added in v0.29.0

func (s *Stream) WaitForCompletion()

WaitForCompletion blocks the current CPU thread until all operations in the stream are complete.

For further details, please see: https://docs.opencv.org/master/d9/df3/classcv_1_1cuda_1_1Stream.html#a0e1d939503e8faad741ab584b720bca6

type TemplateMatching added in v0.32.1

type TemplateMatching struct {
	// contains filtered or unexported fields
}

TemplateMatching

For further details, please see: https://docs.opencv.org/4.6.0/d2/d58/classcv_1_1cuda_1_1TemplateMatching.html

func NewTemplateMatching added in v0.32.1

func NewTemplateMatching(srcType gocv.MatType, method gocv.TemplateMatchMode) TemplateMatching

NewTemplateMatching returns a new TemplateMatching.

func (*TemplateMatching) Close added in v0.32.1

func (tm *TemplateMatching) Close() error

Close TemplateMatching

func (*TemplateMatching) Match added in v0.32.1

func (tm *TemplateMatching) Match(img GpuMat, tmpl GpuMat, dst *GpuMat)

Match computes a proximity map for a raster template and an image where the template is searched for. For further details, please see: https://docs.opencv.org/4.6.0/d2/d58/classcv_1_1cuda_1_1TemplateMatching.html#a05a565a53461c916b3b10737cbe43a01

func (*TemplateMatching) MatchWithStream added in v0.32.1

func (tm *TemplateMatching) MatchWithStream(img GpuMat, tmpl GpuMat, dst *GpuMat, s Stream)

MatchWithStream computes a proximity map for a raster template and an image where the template is searched for using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/4.6.0/d2/d58/classcv_1_1cuda_1_1TemplateMatching.html#a05a565a53461c916b3b10737cbe43a01

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL