★ 개요 ★

OpenCV Mat 을 Texture 로 바꿀때 효율적으로 사용하기 위함



★ Mat -> Texture 변경하는 부분을 Thread 로 분리 ★

- WaitForEndOfFrame : 모든 카메라 랜더링이 끝난 후 돌아가도록 처리

- 랜더링이 모두 끝난 후 MatToTextureInRenderThread 를 통해 효율적으로 사용







- 코믹 필터 -


- 폴리곤 필터 -


★ 개요 ★

WebCamTextureToMatHelper 

- WebCamTexture 와 OpenCV.Mat 을 사용하기 쉽게 만들어진 Helper, 기타 편의 기능 제공

rotate90Degree : 90도 회전 기능 제공

flipVertical : 수직 회전 기능 제공

flipHorizontal : 수평 회전 기능 제공

해상도 설정

FPS 설정



★ WebCamTextureToMatHelper.cs 사용법  ★ (WebCamTextureToMatHelperExample.Scene)


- 초기화 -



- 초기화 완료 후 Texture 세팅 -



- 매 프레임 Texture Update -



★ 결과  ★


- 원본 -


- 수직 회전 -


- 90 회전 -


- 수평 회전 -











★ 개요 ★

WebCamTexture <-> OpenCV.Mat 변환




WebCamTexture  ★

-1. 유니티에서 제공하는 클래스로 카메라를 컨트롤 할 수 있다

-2. isFrontFacing : 전면 카메라인지 확인





★ WebCamTexture -> Texture 로 변환하여 출력하기 ★



- Update 에서 매 프레임 texture 갱신 -





★ WebCamTexture 정보 -> OpenCV.Mat Class 저장하기 ★ ( Scene : WebCamTextureToMatExample )



- 코드 -

rgbaMat = new Mat (webCamTexture.height, webCamTexture.width, CvType.CV_8UC4);


★ 개요 ★

Texture2D <-> OpenCV.Mat 변환



★ OpenCV.Mat ★

-1. OpenCV 에서 제공하는 클래스

-2. Matrix 로 사용되며 값을 Matrix 로 저장하는데 사용된다.

-3. Matrix 로 계산하면 빠르기 때문에 사용하는 듯 하다



★ Texture2D 정보 -> OpenCV.Mat Class 저장하기 ★



- 코드 -

Texture2D imgTexture = Resources.Load ("lena") as Texture2D;


Mat imgMat = new Mat (imgTexture.height, imgTexture.width, CvType.CV_8UC4);


Utils.texture2DToMat (imgTexture, imgMat);




★ OpenCV.Mat 정보로 -> Texture2D 만들기 ★



- 코드 -

Texture2D texture = new Texture2D (imgMat.cols (), imgMat.rows (), TextureFormat.RGBA32, false);


Utils.matToTexture2D (imgMat, texture);


gameObject.GetComponent<Renderer> ().material.mainTexture = texture;





★ OpenCV.Mat 정보로 -> Texture2D 만들기 결과 ★ ( Texture2DToMatExample )











1. OpenCV ( 오픈 소스 컴퓨터 비전 라이브러리)

- 오프 소스 컴퓨터 비전 및 기계 학습 소프트웨어 라이브러리


2. 기계 인식

- OpenCV 는 기계 인식 가속화를 위해 개발


3. BSD 라이센스

- 기업에서 쉽게 사용하고 수정 가능


4. 알고리즘

- 2500가지가 넘는 최적화 된 알고리즘 보유


5. 기능

- 얼굴 감지 및 인식

- 텍스트 인식

- 물체 식별

- 비디오 인간 행동 추적

- 움직이는 물체 추적

- 물체의 3D 모델 추출

- 스트레오 카마라에서 3D 점 구름 생성

- 이미지를 결합하여 고해상도 이미지 생성

- 이미지 데이터베이스에서 유사한 이미지 찾기

- 플래시를 사용하여 찍은 이미지에서 적목 현상 제거

- 눈동자 인식

- 풍경 인식

- 증강 현실로 오버레이 마커 설정


6. 지원 플랫폼

Windows, Linux, Android, Mac OS


7. 메인 사이트

https://opencv.org/


+ Recent posts