Baiscs

一、Texture2DToMatExample

1.演示Texture2D和自定义Mat对象如何互相转换,并显示在一个Cube上面。分别用到Utils.texture2DToMat (imgTexture, imgMat)和Utils.matToTexture2D (imgMat, texture)方法。

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg

二、WebCamTextureToMatExample

1.可以指定摄像头编号或名称,从而获取WebCamDevice对象和WebCamTexture对象;如果没有指定,则默认从后置摄像头获取。

2.WebCamDevice对象创建时,可以指定宽度,高度,帧率。

3.Update中,将WebCamDevice对象先缓存到自定义Mat对象中,再从Mat转存至Texture2D对象中。分别用到Utils.webCamTextureToMat (webCamTexture, rgbaMat, colors)和Utils.matToTexture2D (rgbaMat, texture, colors)两个方法。

opencv 依赖ffmpeg opencvforunity_ci_02

三、WebCamTextureToMatHelperExample

opencv 依赖ffmpeg opencvforunity_2d_03

四、MatBasicProcessingExample

演示Core工具类对Mat对象的操作汇总。

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg_04

五、Utils_GetFilePathExample

演示从StreamingAssets文件夹中获取指定文件名的文件路径。

opencv 依赖ffmpeg opencvforunity_2d_05

Advanced

一、ComicFilterExample

动漫风格滤镜

opencv 依赖ffmpeg opencvforunity_ide_06

二、GreenScreenExample

绿幕抠像

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg_07

三、HandPoseEstimationExample

opencv 依赖ffmpeg opencvforunity_ide_08

四、MultiObjectTrackingBasedOnColorExample

根据颜色区分多个物体

opencv 依赖ffmpeg opencvforunity_ci_09

五、PolygonFilterExample

多边形风格滤镜

opencv 依赖ffmpeg opencvforunity_2d_10

六、AlphaBlendingExample

前两张图片根据第三张图片的Alpha值,混合成第四张图片。

opencv 依赖ffmpeg opencvforunity_2d_11

七、MatToTextureInRenderThreadExample

主要用到Utils.matToTextureInRenderThread (rgbaMat, texture)方法,并且在每一帧结束时调用。

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg_12

Main Modules

一、core:PCAExample

1.识别几个物体轮廓并用红线描边。

2.用PCA算法计算单个物体的主成方向,并用青色箭头指示。

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg_13

二、imgproc:CircleDetectionExample

opencv 依赖ffmpeg opencvforunity_ide_14

三、imgproc:ConnectedComponentsExample

1.识别

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg_15

四、imgproc:ConvexHullExample

1.主要用到int total = Imgproc.connectedComponentsWithStats (srcMat, labels, stats, centroids)方法,共识别到包括背景在内的四种轮廓。

2.在后三个轮廓上:①draw centroids中心点用红色标记②draw index of label用黄色数字标签③draw rectangle绘制绿色矩形轮廓④draw labels随机填充轮廓范围。

五、imgproc:DrawingExample

1.在图片上绘制各种图像。

2.Imgproc.line (imgMat, new Point (50, 50), new Point (400, 105), new Scalar (0, 0, 200), 3)--绘制蓝色线

3.Imgproc.rectangle (imgMat, new Point (150, 200), new Point (300, 300), new Scalar (0, 200, 0), 5)--绘制绿色矩形

4.Imgproc.circle (imgMat, new Point (500, 300), 80, new Scalar (200, 0, 0), 1)--绘制红色圆圈

5.Imgproc.arrowedLine (imgMat, new Point (100, 500), new Point (550, 350), new Scalar (255, 255, 0), 4, Imgproc.LINE_8, 0, 0.1)--绘制黄色箭头

6.Imgproc.ellipse (imgMat, new Point (200, 400), new Size (80, 150), angle, angle - 200, angle + 100, new Scalar (255, 255, 255), -1)--绘制弧形填充区域

7.Imgproc.putText (imgMat, "OpenCV", new Point (50, 50), face [0], 1.2, new Scalar (0, 0, 200), 2, Imgproc.LINE_AA, false)--绘制蓝色字体

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg_16

六、imgproc:GrabCutExample

1.利用遮罩图“lena_grabcut_mask”对原始图片“lena”进行抠像。

opencv 依赖ffmpeg opencvforunity_2d_17

七、imgproc:HoughLinesPExample

1.Imgproc.HoughLinesP (grayMat, lines, 1, Mathf.PI / 180, 50, 50, 10)--检测直线

opencv 依赖ffmpeg opencvforunity_2d_18

八、imgproc:MatchShapesExample

1.Imgproc.findContours (srcMat, srcContours, srcHierarchy, Imgproc.RETR_CCOMP, Imgproc.CHAIN_APPROX_NONE)--识别轮廓数目

2. ①用Imgproc.drawContours (dstMat, srcContours, i, new Scalar (255, 0, 0), 2, 8, srcHierarchy, 0, new Point ())绘制红色轮廓线②Imgproc.circle (dstMat, point, 5, new Scalar (0, 0, 255), -1)绘制蓝色轮廓中心点③Imgproc.putText (dstMat, " " + returnVal, point, Imgproc.FONT_HERSHEY_SIMPLEX, 0.4, new Scalar (0, 255, 0), 1, Imgproc.LINE_AA, false)绘制绿色误差

opencv 依赖ffmpeg opencvforunity_ci_19

九、imgproc:MatchTemplateExample

1.Imgproc.matchTemplate (imgMat, tempMat, result, match_method)--原图匹配指定的区域图。

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg_20

十、imgproc:ThresholdExample

1.Imgproc.threshold (imgMat, imgMat, 0, 255, Imgproc.THRESH_BINARY | Imgproc.THRESH_OTSU)

opencv 依赖ffmpeg opencvforunity_ide_21

十一、imgproc:WrapPerspectiveExample

1.Mat perspectiveTransform = Imgproc.getPerspectiveTransform (src_mat, dst_mat)--生成透视效果

opencv 依赖ffmpeg opencvforunity_ci_22

十二、videoio:VideoCaptureExample

用于播放mjpeg格式的视频

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg_23

十三、videoio:VideoWriterExample

1.演示从屏幕录制视频并存储为avi格式,可以播放已录制好的视频。

opencv 依赖ffmpeg opencvforunity_ide_24

十四、video:BackgroundSubtractorMOG2Example

1.蓝色背景抠像

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg_25

十五、video:CamShiftExample

1.根据四个点位,确定追踪对象。

opencv 依赖ffmpeg opencvforunity_ci_26

十六、video:KalmanFilterExample

1.追踪鼠标位置,绘制轨迹。

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg_27

十七、video:OpticalFlowExample

1.实时从摄像机画面,获取光斑。

opencv 依赖ffmpeg opencvforunity_opencv 依赖ffmpeg_28

十八、calib3d:StereoBMExample

1.根据左右眼两张图片获取图像深度信息。

opencv 依赖ffmpeg opencvforunity_ci_29

opencv 依赖ffmpeg opencvforunity_ide_30

十九、features2d:Feature2DExample

 

二十、features2d:MSERExample

 

二十一、objdetect:FaceDetectionExample

 

二十二、dnn:MobileNetSSDExample

 

二十三、dnn:MobileNetSSDWebCamTextureExample

 

二十四、dnn:OpenPoseExample

 

二十五、dnn:ResnetSSDFaceDetectionExample

 

二十六、dnn:TensorFlowWebCamTextureExample

 

二十七、dnn:YoloObjectDetectionExample

 

二十八、dnn:YoloObjectDetectionWebCamTextureExample

 

二十九、ml:SVMExample

 

三十、photo:InpaintExample

 

三十一、photo:SeamlessCloneExample

 

Contrib modules

一、aruco:ArUcoExample

 

二、aruco:ArUcoWebCamTextureExample

 

三、aruco:ArUcoCreateMarkerExample

 

四、aruco:ArUcoCameraCalibrationExample

 

五、face:FaceMarkExample

 

六、face:FaceRecognizerExample

 

七、plot:PlotExample

 

八、shape:ThinPlateSplineShapeTransformerExample

 

九、text:TextDetectionExample

 

十、text:TextRecognitionExample

 

十一、tracking:TrackingExample