OpenCVForUnity_mat简单处理

前面是opencvforunity的一些简单入门例子的剖析,但是貌似后面的例子读起来有点困难了,因为一些方法越来越看不懂,所以另辟蹊径,从看opencv本身教学视频,然后在Unity端还原来理解。

首先本篇从最基础的开始:

我们新建一个场景,现在仅有相机和一个平行光,先不管。

准备工作:新建两个Plane,复位好,各自再新建一个材质球并且拖上去,把材质球的shader改成Unlit/Texture,左边的plane我们把OpenCVForUnity/Examples/Resources/lena这张经典图片拿出来贴上去作为对比。

然后调整一下距离,拉开错开即可,把角度调整为(-270,-90,90)。有强迫症的把相机位置的Y调成0,新开一个脚本,这里命名为Class1。完成后应该如下图:

准备工作

这样我们就准备好了左边的图为原图,右边的为我们输出后的图。

然后我们打开脚本,这里用到了Texture2DToMat Example例子中的主要脚本,首先,把例子中的代码照着写一遍:

Texture2DToMat Example

这里注释写的很详细了,不再赘述,头尾是opencv的log,可以不要。头文件引入不用讲吧?用自带的vs很方便,如下图,给实在不会引入头文件的小白复制用:

using OpenCVForUnity.CoreModule;

using OpenCVForUnity.ImgprocModule;

using OpenCVForUnity.UnityUtils;

using UnityEngine;

头文件引入

ok把脚本拖到空白的plane上,运行一下,图片加载成功了,这时候两边是一样的,如下图:

图片加载

ok,我们来简单改一下代码,先做一下如何改灰度图,灰度图是opencv中最常用的基础处理图像方法之一。

首先,我们把mat转Texture2D这部分代码之前的这部分空出来,新建一个mat,命名为grayMat,行列数用之前的即可,然后用Imgproc.cvtColor函数改成灰度图,记得把最后赋值的mat改成grayMat,代码如下:

灰度图

我们运行一下看看效果:

灰度图效果

好了本节先到这里 ,下节在本节基础上继续。

Works with Unity Cloud Build iOS & Android support Windows10 UWP support WebGL support Win & Mac & Linux Standalone support Preview support in the Editor OpenCV for Unity is an Assets Plugin for using OpenCV 3.4.2 from within Unity. Official Site | ExampleCode | Android Demo WebGL Demo | Tutorial & Demo Video | Forum | API Reference | Support Modules Features: - Since this package is a clone of OpenCV Java, you are able to use the same API as OpenCV Java 3.4.2 (link). - You can image processing in real-time by using the WebCamTexture capabilities of Unity. (real-time face detection works smoothly on iPhone 5) - Provides a method to interconversion of Unity's Texture2D and OpenCV's Mat. - IDisposable is implemented in many classes.You can manage the resources with the “using” statement. - Examples of integration with other publisher assets are available.(e.g. PlayMaker, NatCam, NatCorder) ExampleCode using OpenCV for Unity is available. MarkerBased AR Example MarkerLess AR Example FaceTracker Example FaceSwapper Example FaceMask Example RealTime FaceRecognition Example GoogleVR with OpenCV for Unity Example Kinect with OpenCV for Unity Example AVPro with OpenCV for Unity Example HoloLens with OpenCV for Unity Example PlayMakerActions for OpenCVforUnity NatCam with OpenCVForUnity Example NatCorder with OpenCVForUnity Example OpenCV for Unity uses OpenCV under 3-clause BSD License; see Third-Party Notices.txt file in package for details. System Requirements Build Win Standalone & Preview Editor : Windows 7 or later Build Mac Standalone & Preview Editor : OSX 10.9 or later
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值