2017-01-05 2 views
1

나는 this tutorial을 따르고 있으며, Android 애플리케이션에 사용하고 싶습니다. 코드를 60 행으로 변환했으며 OpenCV Java에서 M = cv2.getPerspectiveTransform(rect, dst)을 사용하는 방법을 알고 싶습니다. OpenCV python to java

dst

np array

dst = np.array([ 
    [0, 0], 
    [maxWidth - 1, 0], 
    [maxWidth - 1, maxHeight - 1], 
    [0, maxHeight - 1]], dtype = "float32") 

내가 내 자바 코드에 무엇을 사용해야 데이터 형식 모른다.

+0

['Mat'] (http://docs.opencv.org/java/2.4.9/org/opencv/imgproc/Imgproc.html#getPerspectiveTransform (org.opencv.core.Mat, % 20org.opencv. 아마도 core.Mat)), 아마도. –

+0

매트의 크기와 유형은 어떻게해야합니까? –

+0

4 개의 행, 2 개의 열, 그 모양으로. 네 모퉁이의 xy 좌표를 나타냅니다. –

답변

1

주어진 링크 당 4x1 크기의 numpy 배열이 dtype = float32로 생성됩니다. 상기 조각을 2 차원 (x 및 y)를 갖는 4 점을 수용하기 위해, 4 행 및 1 열이 2 채널 Mat를 생성

Mat dst = new Mat(4, 1, CvType.CV_32FC2); 

: 그래서 이것은 또한 자바에서 수행 될 수있다.

+0

나는 아직도 약간 혼란 스럽다. 우리가 2 차원 (x, y)을 가지고 있다면, 왜 우리는 단지 하나의 컬럼 만 필요로 하는가? 2 일까요? –

+0

기본적으로 여기에는'4 x 1 x 2' 행렬이 있고, 4와 1은 숫자와 열과 행에서 나오며, 2는'CV_32FC2'에서옵니다. 따라서 4 x 1 x 2 매트릭스를 정의하는 것과 동일한 2 개의 채널을 가진 4 x 1 매트릭스를 정의합니다 – ZdaR