CapCV

package module
v1.0.7 Latest Latest
Warning

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

Go to latest
Published: May 22, 2021 License: MIT Imports: 2 Imported by: 0

README

Go Reference

CapCV

If you want to get the camera's RGB, BGR such values,, but you don't need other than more functions, I think this library is a very beneficial. (maybe....🤔🤔)
This library is a wrote by begginer. So may not be stable.

Using

Golang (only include cgo, unsafe), C++
OpenCV V4.2.0

Functions

  • NewMat
  • IsEmpty
  • GetPix
  • Ptr
  • RawPtr
  • CvtColor
  • OpenCaptureDevice
  • IsOpenedCaptureDevice
  • Read
  • Set
  • Get

For more information for this library, please see documentation.

Documentation

Index

Constants

View Source
const (
	BGR2BGRA      = 0
	RGB2RGBA      = BGR2BGRA
	BGRA2BGR      = 1
	RGBA2RGB      = BGRA2BGR
	BGR2RGBA      = 2
	RGB2BGRA      = BGR2RGBA
	RGBA2BGR      = 3
	BGRA2RGB      = RGBA2BGR
	BGR2RGB       = 4
	RGB2BGR       = BGR2RGB
	BGRA2RGBA     = 5
	RGBA2BGRA     = BGRA2RGBA
	BGR2GRAY      = 6
	RGB2GRAY      = 7
	GRAY2BGR      = 8
	GRAY2RGB      = GRAY2BGR
	GRAY2BGRA     = 9
	GRAY2RGBA     = GRAY2BGRA
	BGRA2GRAY     = 10
	RGBA2GRAY     = 11
	BGR2BGR565    = 12
	RGB2BGR565    = 13
	BGR5652BGR    = 14
	BGR5652RGB    = 15
	BGRA2BGR565   = 16
	RGBA2BGR565   = 17
	BGR5652BGRA   = 18
	BGR5652RGBA   = 19
	GRAY2BGR565   = 20
	BGR5652GRAY   = 21
	BGR2BGR555    = 22
	RGB2BGR555    = 23
	BGR5552BGR    = 24
	BGR5552RGB    = 25
	BGRA2BGR555   = 26
	RGBA2BGR555   = 27
	BGR5552BGRA   = 28
	BGR5552RGBA   = 29
	GRAY2BGR555   = 30
	BGR5552GRAY   = 31
	BGR2XYZ       = 32
	RGB2XYZ       = 33
	XYZ2BGR       = 34
	XYZ2RGB       = 35
	BGR2YCrCb     = 36
	RGB2YCrCb     = 37
	YCrCb2BGR     = 38
	YCrCb2RGB     = 39
	BGR2HSV       = 40
	RGB2HSV       = 41
	BGR2Lab       = 44
	RGB2Lab       = 45
	BGR2Luv       = 50
	RGB2Luv       = 51
	BGR2HLS       = 52
	RGB2HLS       = 53
	HSV2BGR       = 54
	HSV2RGB       = 55
	Lab2BGR       = 56
	Lab2RGB       = 57
	Luv2BGR       = 58
	Luv2RGB       = 59
	HLS2BGR       = 60
	HLS2RGB       = 61
	BGR2HSV_FULL  = 66
	RGB2HSV_FULL  = 67
	BGR2HLS_FULL  = 68
	RGB2HLS_FULL  = 69
	HSV2BGR_FULL  = 70
	HSV2RGB_FULL  = 71
	HLS2BGR_FULL  = 72
	HLS2RGB_FULL  = 73
	LBGR2Lab      = 74
	LRGB2Lab      = 75
	LBGR2Luv      = 76
	LRGB2Luv      = 77
	Lab2LBGR      = 78
	Lab2LRGB      = 79
	Luv2LBGR      = 80
	Luv2LRGB      = 81
	BGR2YUV       = 82
	RGB2YUV       = 83
	YUV2BGR       = 84
	YUV2RGB       = 85
	YUV2RGB_NV12  = 90
	YUV2BGR_NV12  = 91
	YUV2RGB_NV21  = 92
	YUV2BGR_NV21  = 93
	YUV420sp2RGB  = YUV2RGB_NV21
	YUV420sp2BGR  = YUV2BGR_NV21
	YUV2RGBA_NV12 = 94
	YUV2BGRA_NV12 = 95
	YUV2RGBA_NV21 = 96
	YUV2BGRA_NV21 = 97
	YUV420sp2RGBA = YUV2RGBA_NV21
	YUV420sp2BGRA = YUV2BGRA_NV21
	YUV2RGB_YV12  = 98
	YUV2BGR_YV12  = 99
	YUV2RGB_IYUV  = 100
	YUV2BGR_IYUV  = 101
	YUV2RGB_I420  = YUV2RGB_IYUV
	YUV2BGR_I420  = YUV2BGR_IYUV
	YUV420p2RGB   = YUV2RGB_YV12
	YUV420p2BGR   = YUV2BGR_YV12
	YUV2RGBA_YV12 = 102
	YUV2BGRA_YV12 = 103
	YUV2RGBA_IYUV = 104
	YUV2BGRA_IYUV = 105
	YUV2RGBA_I420 = YUV2RGBA_IYUV
	YUV2BGRA_I420 = YUV2BGRA_IYUV
	YUV420p2RGBA  = YUV2RGBA_YV12
	YUV420p2BGRA  = YUV2BGRA_YV12
	YUV2GRAY_420  = 106
	YUV2GRAY_NV21 = YUV2GRAY_420
	YUV2GRAY_NV12 = YUV2GRAY_420
	YUV2GRAY_YV12 = YUV2GRAY_420
	YUV2GRAY_IYUV = YUV2GRAY_420
	YUV2GRAY_I420 = YUV2GRAY_420
	YUV420sp2GRAY = YUV2GRAY_420
	YUV420p2GRAY  = YUV2GRAY_420
	YUV2RGB_UYVY  = 107
	YUV2BGR_UYVY  = 108
	YUV2RGB_Y422  = YUV2RGB_UYVY
	YUV2BGR_Y422  = YUV2BGR_UYVY
	YUV2RGB_UYNV  = YUV2RGB_UYVY
	YUV2BGR_UYNV  = YUV2BGR_UYVY
	YUV2RGBA_UYVY = 111
	YUV2BGRA_UYVY = 112
	YUV2RGBA_Y422 = YUV2RGBA_UYVY
	YUV2BGRA_Y422 = YUV2BGRA_UYVY
	YUV2RGBA_UYNV = YUV2RGBA_UYVY
	YUV2BGRA_UYNV = YUV2BGRA_UYVY
	YUV2RGB_YUY2  = 115
	YUV2BGR_YUY2  = 116
	YUV2RGB_YVYU  = 117
	YUV2BGR_YVYU  = 118
	YUV2RGB_YUYV  = YUV2RGB_YUY2
	YUV2BGR_YUYV  = YUV2BGR_YUY2
	YUV2RGB_YUNV  = YUV2RGB_YUY2
	YUV2BGR_YUNV  = YUV2BGR_YUY2
	YUV2RGBA_YUY2 = 119
	YUV2BGRA_YUY2 = 120
	YUV2RGBA_YVYU = 121
	YUV2BGRA_YVYU = 122
	YUV2RGBA_YUYV = YUV2RGBA_YUY2
	YUV2BGRA_YUYV = YUV2BGRA_YUY2
	YUV2RGBA_YUNV = YUV2RGBA_YUY2
	YUV2BGRA_YUNV = YUV2BGRA_YUY2
	YUV2GRAY_UYVY = 123
	YUV2GRAY_YUY2 = 124
	YUV2GRAY_Y422 = YUV2GRAY_UYVY
	YUV2GRAY_UYNV = YUV2GRAY_UYVY
	YUV2GRAY_YVYU = YUV2GRAY_YUY2
	YUV2GRAY_YUYV = YUV2GRAY_YUY2
	YUV2GRAY_YUNV = YUV2GRAY_YUY2
	RGBA2mRGBA    = 125

	RGB2YUV_I420    = 127
	BGR2YUV_I420    = 128
	RGB2YUV_IYUV    = RGB2YUV_I420
	BGR2YUV_IYUV    = BGR2YUV_I420
	RGBA2YUV_I420   = 129
	BGRA2YUV_I420   = 130
	RGBA2YUV_IYUV   = RGBA2YUV_I420
	BGRA2YUV_IYUV   = BGRA2YUV_I420
	RGB2YUV_YV12    = 131
	BGR2YUV_YV12    = 132
	RGBA2YUV_YV12   = 133
	BGRA2YUV_YV12   = 134
	BayerBG2BGR     = 46
	BayerGB2BGR     = 47
	BayerRG2BGR     = 48
	BayerGR2BGR     = 49
	BayerBG2RGB     = BayerRG2BGR
	BayerGB2RGB     = BayerGR2BGR
	BayerRG2RGB     = BayerBG2BGR
	BayerGR2RGB     = BayerGB2BGR
	BayerBG2GRAY    = 86
	BayerGB2GRAY    = 87
	BayerRG2GRAY    = 88
	BayerGR2GRAY    = 89
	BayerBG2BGR_VNG = 62
	BayerGB2BGR_VNG = 63
	BayerRG2BGR_VNG = 64
	BayerGR2BGR_VNG = 65
	BayerBG2RGB_VNG = BayerRG2BGR_VNG
	BayerGB2RGB_VNG = BayerGR2BGR_VNG
	BayerRG2RGB_VNG = BayerBG2BGR_VNG
	BayerGR2RGB_VNG = BayerGB2BGR_VNG
	BayerBG2BGR_EA  = 135
	BayerGB2BGR_EA  = 136
	BayerRG2BGR_EA  = 137
	BayerGR2BGR_EA  = 138
	BayerBG2RGB_EA  = BayerRG2BGR_EA
	BayerGB2RGB_EA  = BayerGR2BGR_EA
	BayerRG2RGB_EA  = BayerBG2BGR_EA
	BayerGR2RGB_EA  = BayerGB2BGR_EA
	BayerBG2BGRA    = 139
	BayerGB2BGRA    = 140
	BayerRG2BGRA    = 141
	BayerGR2BGRA    = 142
	BayerBG2RGBA    = BayerRG2BGRA
	BayerGB2RGBA    = BayerGR2BGRA
	BayerRG2RGBA    = BayerBG2BGRA
	BayerGR2RGBA    = BayerGB2BGRA

	COLORCVT_MAX = 143
)

Variables

This section is empty.

Functions

func CvtColor added in v1.0.6

func CvtColor(src, dst *Mat, code ColorCvtCodes, channel int)

CvtColor Convert the Mat color.

Types

type Mat

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

Mat Minimum necessary implementation for cv::Mat.

func NewMat added in v1.0.3

func NewMat() *Mat

NewMat Create cv::Mat.

func (*Mat) GetPix

func (m *Mat) GetPix(x, y int) [3]uint8

GetPix Get one Pixel values from Mat.

func (*Mat) IsEmpty

func (m *Mat) IsEmpty() bool

IsEmpty Whether the Mat is empty.

func (*Mat) Ptr

func (m *Mat) Ptr() uintptr

Ptr Return is Ptr(uintptr).

func (*Mat) RawPtr

func (m *Mat) RawPtr() C.V3b

RawPtr Retrun is cv::Vec3b type.

func (*Mat) Release added in v1.0.6

func (m *Mat) Release()

Release Close the Mat.

func (*Mat) Type added in v1.0.6

func (m *Mat) Type() Type

type Type added in v1.0.6

type Type uint8

Type https://docs.opencv.org/4.5.2/d1/d1b/group__core__hal__interface.html#ga32b18d904ee2b1731a9416a8eef67d06

const (
	CV_8U Type = iota
	CV_8S
	CV_16U
	CV_16S
	CV_32S
	CV_32F
	CV_64F
	CV_16F
)
const (
	CV_8UC1 Type = iota * 8
	CV_8UC2
	CV_8UC3
	CV_8UC4
)
const (
	CV_8SC1 Type = (iota * 8) + 1
	CV_8SC2
	CV_8SC3
	CV_8SC4
)
const (
	CV_16UC1 Type = (iota * 8) + 2
	CV_16UC2
	CV_16UC3
	CV_16UC4
)
const (
	CV_16SC1 Type = (iota * 8) + 3
	CV_16SC2
	CV_16SC3
	CV_16SC4
)
const (
	CV_32SC1 Type = (iota * 8) + 4
	CV_32SC2
	CV_32SC3
	CV_32SC4
)
const (
	CV_32FC1 Type = (iota * 8) + 5
	CV_32FC2
	CV_32FC3
	CV_32FC4
)
const (
	CV_64FC1 Type = (iota * 8) + 6
	CV_64FC2
	CV_64FC3
	CV_64FC4
)
const (
	CV_16FC1 Type = (iota * 8) + 7
	CV_16FC2
	CV_16FC3
	CV_16FC4
)

func (Type) String added in v1.0.6

func (t Type) String() string

type VidCapProp

type VidCapProp uint8

VidCapProp https://docs.opencv.org/4.5.2/d4/d15/group__videoio__flags__base.html#gaeb8dd9c89c10a5c63c139bf7c4f5704d

const (
	CAP_PROP_POS_MSEC VidCapProp = iota
	CAP_PROP_POS_FRAMES
	CAP_PROP_POS_AVI_RATIO
	CAP_PROP_FRAME_WIDTH
	CAP_PROP_FRAME_HEIGHT
	CAP_PROP_FPS
	CAP_PROP_FOURCC
	CAP_PROP_FRAME_COUNT
	CAP_PROP_FORMAT
	CAP_PROP_MODE
	CAP_PROP_BRIGHTNESS
	CAP_PROP_CONTRAST
	CAP_PROP_SATURATION
	CAP_PROP_HUE
	CAP_PROP_GAIN
	CAP_PROP_EXPOSURE
	CAP_PROP_CONVERT_RGB
	CAP_PROP_WHITE_BALANCE_BLUE_U
	CAP_PROP_RECTIFICATION
	CAP_PROP_MONOCHROME
	CAP_PROP_SHARPNESS
	CAP_PROP_AUTO_EXPOSURE
	CAP_PROP_GAMMA
	CAP_PROP_TEMPERATURE
	CAP_PROP_TRIGGER
	CAP_PROP_TRIGGER_DELAY
	CAP_PROP_WHITE_BALANCE_RED_V
	CAP_PROP_ZOOM
	CAP_PROP_FOCUS
	CAP_PROP_GUID
	CAP_PROP_ISO_SPEED
	CAP_PROP_BACKLIGHT VidCapProp = iota + 1
	CAP_PROP_PAN
	CAP_PROP_TILT
	CAP_PROP_ROLL
	CAP_PROP_IRIS
	CAP_PROP_SETTINGS
	CAP_PROP_BUFFERSIZE
	CAP_PROP_AUTOFOCUS
	CAP_PROP_SAR_NUM
	CAP_PROP_SAR_DEN
	CAP_PROP_BACKEND
	CAP_PROP_CHANNEL
	CAP_PROP_AUTO_WB
	CAP_PROP_WB_TEMPERATURE
	CAP_PROP_CODEC_PIXEL_FORMAT
	CAP_PROP_BITRATE
	CAP_PROP_ORIENTATION_META
	CAP_PROP_ORIENTATION_AUTO
	CAP_PROP_HW_ACCELERATION
	CAP_PROP_HW_DEVICE
)

type VideoCapture

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

VideoCapture Minimum necessary implementation for cv::VideoCapture.

func OpenCaptureDevice added in v1.0.4

func OpenCaptureDevice(index int) *VideoCapture

OpenCaptureDevice Open the Capture Device. You will need to check whether the camera is opened.

func (*VideoCapture) Get

func (dev *VideoCapture) Get(p VidCapProp) float64

Get Get the Capture Device's value.

func (*VideoCapture) IsOpenedCaptureDevice

func (dev *VideoCapture) IsOpenedCaptureDevice() bool

IsOpenedCaptureDevice Whether the is opened Capture Device.

func (*VideoCapture) Read

func (dev *VideoCapture) Read(m *Mat) bool

Read Read frame to the Mat.

func (*VideoCapture) Release added in v1.0.6

func (dev *VideoCapture) Release()

Release Close the CaptureDevice.

func (*VideoCapture) Set

func (dev *VideoCapture) Set(p VidCapProp, v float64) bool

Set Set property to the Capture Device. You will need warning to incompatible device properties.

Jump to

Keyboard shortcuts

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