2017-09-13 2 views
1

나는 그림을 읽고 색상을 걸러 내고 있으며 다음 이미지에서 얻은 결과입니다. 코드는 opencv 모듈의 예제 폴더에 있습니다. 컬러 필터 기술 OpenCV

Prior Color FilterPost Color Filter

나는 되돌려 A.R Drone 2.0에 사진을 공급하고, 무인 항공기 흰색 색상을 따르도록 노력하고 있어요. 두 번째 부분은 어떻게합니까?

var cv = require('C:/users/danny/codes/node_modules/opencv/lib/opencv'); 

// (B)lue, (G)reen, (R)ed 
var lower_threshold = [220, 220, 220]; 
var upper_threshold = [255, 255, 255]; 

//var lower_threshold = [46, 57, 83]; 
//var upper_threshold = [80, 96, 115]; 

cv.readImage('C:/users/danny/codes/node_modules/opencv/examples/files/gutter.jpg', 
    function(err, im) { 
    if (err) throw err; 
    if (im.width() < 1 || im.height() < 1) throw new Error('Image has no size'); 

    im.inRange(lower_threshold, upper_threshold); 
    im.save('C://users/danny/codes/coin_detected.jpg'); 
    console.log('Image saved to C://users/danny/codes/coin_detected.jpg'); 
    }); 
+1

두 번째 부분에서는 궤도를 계산하여 무인 항공기를 움직이는 것을 의미합니까? 또는 Parrot SDK (http://developer.parrot.com/)와 인터페이스 할 수 있습니까? – Mepix

+0

무인 항공기의 궤도를 흰색 선을 따라 이동합니다. 나는'node.js'를 사용하고 있습니다. SDK가 무엇인지 모릅니다. – Danny

+1

이 SDK는 드론을 제어하기위한 소프트웨어 개발 키트입니다. 다음은 Parrot Drones에 대한 SDK 설명서 (http://developer.parrot.com/docs/SDK3/)에 대한 링크입니다. 너의 A.R. Drone 2.0은 SDK2에 해당하며 웹 사이트에서도 찾을 수 있습니다. – Mepix

답변

2

3 차원 공간에서 이동할 수있는 무인 항공기, 난 당신이 간단한 라인 추종자로 시작하는 2 차원 영역의 일부 의사 코드 단계를 제안합니다입니다. 그런 다음 3D로 추정하고 필요에 맞게 자유도를 더할 수 있습니다.

  1. 작업을 수행하여 필요한 경우 여분의 공간을 없앱니다.
  2. cv::findContours()으로 전화하면 이미지의 흰색 영역 가장자리를 따라 자취가 생깁니다.
  3. 발견 된 윤곽을 픽셀 영역별로 정렬하여 따라야 할 윤곽을 찾습니다. 나는 당신이 가장 큰 픽셀 영역을 가장 자주 따르기를 원한다고 생각합니다. contour moments을 사용해보세요.
  4. cv::fitline()을 사용하여 등고선에 선을 맞추거나 직접 접근하십시오.
  5. 선의 각도를 취하고 무인 항공기 컨트롤러에 매핑하여 편주를 조정하십시오.

여기에서, 당신은 당신의 무인 항공기의 움직임을 제어하는 ​​여러 가지 다른 기본 작업을 수행 할 수 있습니다 :

  • 설정 윤곽 픽셀 대량 임계 값을. 등고선 영역> 임계 값이면 위로 이동하십시오.
  • 임계 영역 모양을 확인하십시오. 직사각형보다 더 사다리꼴 인 경우 롤/피치를 조정할 수 있습니다.
+0

나는이 명령을 살펴 봅니다. 고마워요. JavaScript로 작성할 수 있습니까? 아니면 어떻게 든 opencv 함수를 내 node.js에 호출해야합니까? 그게 올바른 생각일까요? 두 언어를 서로 연결하는 방법에 대한 더 좋은 아이디어를 줄 수 있습니까? 아니면 제가 잘못 생각하고 있습니까? – Danny

+0

은 'opencv'를 사용하여 무인 항공기를 움직일 수있는 방법입니다. 또는 node.js가 필요합니까? – Danny

+0

이 라이브러리를 사용하고 있습니다 : https : //github.com/puku0x/cvdrone. 무인 항공기 컨트롤러에 매핑하여 언급 한 내용을 어떻게 처리 할 수 ​​있습니까? 등고선 영역> 임계 값 – Danny

관련 문제