HoloLens에서 OpenCV Part 1 소개 # 자산 Adkale

소개



이 기사는 Unity Assets Advent Calendar 2016 8일째 기사가 됩니다.

오늘은 HoloLens에도 대응하고 있는 OpenCV를 Unity에서 사용할 수 있는 에셋을 소개합니다.
OpenCV에 대해서는 과거 기사의 이쪽을 참조해 주세요.

Telepathy Jumper 앱 만들기 OpenCV for Unity #에셋 애드칼레 – develog.holo
htp // 2vr. jp/2015/12/05/우니 ty-어세이 ts-ぇ파 thy-쥬mぺr_오페인 cv후우루에 ty/

이번에는 그 중 하나라는 제목으로 OpenCV for Unity 설정에서 HoloLens 앱 개발에 필요한 HoloToolkit-Unity와 동시에 사용하는 데 필요한 단계를 설명합니다.

환경


  • Unity 5.5.0f3

  • OpenCV for Unity 2.0.9





    Integration Examples | OpenCV for Unity
    h tps : // 에노 x 소 f라고. 코 m/오펜 CV ふぉるにty/도쿠멘들 온/이니 g라치 온-에ぁmpぇs/

    HoloToolkit-Unity 가져오기



    에 대해서는 이 기사가 최고입니다.

    HoloToolkit-Unity를 한 번에 다운로드 및 가져오기 편집기 확장 - 마음껏 I/O
    h tp : // k 조나 g. 하테나 bぉg. 코m/엔트리/2016/12/07/192228

    OpenCV for Unity 가져오기



    OpenCV for Unity에는 UWP에 대응한 소스가 ZIP로 포함되어 있으므로, 스토어로부터 임포트할 때는 OpenCVForUnityUWP_Beta2.zip만 선택해 임포트.



    그런 다음 OpenCVForUnityUWP_Beta2.zip에 있는 OpenCVForUnityUWP_Beta2.unitypackage를 두 번 클릭하여 모두 가져옵니다.


    HoloToolkit-Unity와 OpenCV for Unity를 동시에 가져올 때의 문제 해결



    여기서 엄청난 오류가 나옵니다.


    검색용
    Assets/OpenCVForUnity/Samples/CamShiftSample/CamShiftSample.cs(143,9): error CS1502: The best overloaded method match for `OpenCVForUnity.RotatedRect.points(OpenCVForUnity.Point[])' has some invalid arguments
    Assets/OpenCVForUnity/Samples/CamShiftSample/CamShiftSample.cs(143,17): error CS1503: Argument `#1' cannot convert `Point[]' expression to type `OpenCVForUnity.Point[]'
    Assets/OpenCVForUnity/Samples/CamShiftSample/CamShiftSample.cs(189,45): error CS1729: The type `Point' does not contain a constructor that takes `2' arguments
    Assets/OpenCVForUnity/Samples/CamShiftSample/CamShiftSample.cs(193,79): error CS1502: The best overloaded method match for `OpenCVForUnity.Rect.contains(OpenCVForUnity.Point)' has some invalid arguments
    Assets/OpenCVForUnity/Samples/CamShiftSample/CamShiftSample.cs(202,39): error CS1540: Cannot access protected member `OpenCVForUnity.MatOfPoint.MatOfPoint(System.IntPtr)' via a qualifier of type `OpenCVForUnity.MatOfPoint'. The qualifier must be of type `OpenCVForUnitySample.CamShiftSample' or derived from it
    Assets/OpenCVForUnity/Samples/CamShiftSample/CamShiftSample.cs(202,39): error CS0122: `OpenCVForUnity.MatOfPoint.MatOfPoint(System.IntPtr)' is inaccessible due to its protection level
    Assets/OpenCVForUnity/Samples/CamShiftSample/CamShiftSample.cs(228,15): error CS1502: The best overloaded method match for `OpenCVForUnity.Imgproc.circle(OpenCVForUnity.Mat, OpenCVForUnity.Point, int, OpenCVForUnity.Scalar, int)' has some invalid arguments
    Assets/OpenCVForUnity/Samples/CamShiftSample/CamShiftSample.cs(228,39): error CS1503: Argument `#2' cannot convert `Point' expression to type `OpenCVForUnity.Point'
    Assets/OpenCVForUnity/Samples/CamShiftSample/CamShiftSample.cs(234,15): error CS1502: The best overloaded method match for `OpenCVForUnity.Imgproc.line(OpenCVForUnity.Mat, OpenCVForUnity.Point, OpenCVForUnity.Point, OpenCVForUnity.Scalar, int)' has some invalid arguments
    中略
    Assets/OpenCVForUnity/Samples/WebCamTextureToMatSample/WebCamTextureToMatSample.cs(94,114): error CS1503: Argument `#3' cannot convert `Point' expression to type `OpenCVForUnity.Point'
    

    이것은 Point 클래스가 HoloToolkit-Examples의 GazeRuler 데모에 포함된 코드와 OpenCV for Unity에 포함된 코드로 이름이 쓰여 있기 때문에 발생하는 오류입니다. 그러므로 GazeRuler를 폴더별로 삭제하거나 namespace 추가로 해결합시다.

    OpenCV for Unity 설정 계속



    학습 파일이 Aseets/OpenCVForUnity/StreamingAssets에 포함되어 있으므로 Aseets/StreamingAssets로 이동

    그런 다음 PlayerSettings에서 Capabilities의 WebCam을 확인하십시오. 이제 앱에서 HoloLens 카메라에 액세스할 수 있습니다.



    이것으로 아래 준비는 완료.
    각 샘플 프로젝트를 열고 실제 기기로 전송하고 이동해 봅시다.
    ※Holographic Remoting Player라면 PC의 카메라를 사용하게 되고, HoloLens 실기의 카메라에서는 동작해 주지 않습니다.

    좋은 웹페이지 즐겨찾기