cuda

package
v0.30.1 Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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#ga124315aa226260841e25cc0b9ea99dc3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

func (c BorderType) String() string

type CannyEdgeDetector

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

func NewCannyEdgeDetector(lowThresh, highThresh float64) CannyEdgeDetector

NewCannyEdgeDetector returns a new CannyEdgeDetector.

func NewCannyEdgeDetectorWithParams

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

NewCannyEdgeDetectorWithParams returns a new CannyEdgeDetector.

func (*CannyEdgeDetector) Close

func (h *CannyEdgeDetector) Close() error

Close CannyEdgeDetector

func (*CannyEdgeDetector) Detect

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

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

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

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

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

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

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

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

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

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

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

func NewCascadeClassifier(name string) CascadeClassifier

NewCascadeClassifier_GPU returns a new CascadeClassifier.

func (*CascadeClassifier) DetectMultiScale

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

type DescriptorStorageFormat int
const (
	DESCR_FORMAT_COL_BY_COL DescriptorStorageFormat = 0

	DESCR_FORMAT_COL_BY_ROW DescriptorStorageFormat = 1
)

type GaussianFilter

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

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

NewGaussianFilter returns a new GaussianFilter.

func (*GaussianFilter) Apply

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

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

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

func NewGpuMatFromMat(mat gocv.Mat) GpuMat

NewGpuMatFromMat returns a new GpuMat based on a Mat

func NewGpuMatWithSize

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

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

func (*GpuMat) Channels

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

func (m *GpuMat) Cols() int

Cols returns the number of columns for this GpuMat.

func (*GpuMat) ConvertTo

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

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

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

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

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

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

func (m *GpuMat) Rows() int

Rows returns the number of rows for this GpuMat.

func (*GpuMat) Type

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

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

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

func CreateHOG() HOG

NewHOG returns a new HOG.

func CreateHOGWithParams

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

func (*HOG) Compute

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

NewHoughLinesDetector returns a new HoughLinesDetector.

func NewHoughLinesDetectorWithParams

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

NewHoughLinesDetectorWithParams returns a new HoughLinesDetector.

func (*HoughLinesDetector) Close

func (h *HoughLinesDetector) Close() error

Close HoughLinesDetector

func (*HoughLinesDetector) Detect

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

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

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

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

NewHoughSegmentDetector returns a new HoughSegmentDetector.

func (*HoughSegmentDetector) Close

func (h *HoughSegmentDetector) Close() error

Close HoughSegmentDetector

func (*HoughSegmentDetector) Detect

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

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

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

func (c InterpolationFlags) String() string

type SobelFilter

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

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

NewSobelFilter returns a new SobelFilter.

func NewSobelFilterWithParams

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

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

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

func (sf *SobelFilter) Close() error

Close SobelFilter

type SparsePyrLKOpticalFlow

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

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

func NewSparsePyrLKOpticalFlow

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

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

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

func NewStream() Stream

NewStream returns a new empty Stream.

func (*Stream) Close

func (s *Stream) Close() error

Close the Stream.

func (*Stream) QueryIfComplete

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

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

Jump to

Keyboard shortcuts

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