2017-12-10 6 views
-4

opencv를 처음 사용하고 기본 RGB 색상 필터 만 사용합니다. 각 픽셀을 테스트하여이 작업을 수행했지만 비효율적입니다. 그래서 (Java) Core.inRange를 시도했지만 마스크 (흑백)를 반환하고 컬러 매트가 필요합니다. 다음은 현재 가지고있는 것입니다 (Java) :OpenCV : 마스크가 흰색 인 곳에서 매트 색상이 어떻게 만듭니 까?

+3

스택 오버플로가 포럼이나 블로그도 아니다 :

여기 내 마지막 코드입니다. 적절한 Q 및 A 형식으로 다시 작성하거나 삭제하십시오. ([ask], [answer]) –

+3

질문을 편집하고 답변 부분을 제거한 다음 답변으로 게시하십시오. Srlf 질문에 잘 답변,하지만 그들은 그래서 질문/답변 형식으로 게시해야합니다. 자신의 답변을 수락 할 수도 있지만 제목에서 "해결됨"을 제거해야합니다. –

+0

좋아, 나는 그것을 다시 썼다. – Titan

답변

0

"out"과 "frame"을 전환하고 frame.copyTo (out, mask)를 사용하여 시도했습니다. 대신 Core.bitwise_and (frame, mask, out);

효과가 있습니다.

//frame is input, out is output    
    Scalar minValues = new Scalar(RFrom, GFrom, BFrom); 
    Scalar maxValues = new Scalar(RTo, GTo, BTo); 
    Mat mask = new Mat(); 
    Core.inRange(frame, minValues, maxValues, mask); 
    frame.copyTo(out, mask); 
+0

이것은 실제로 내 하루를 저장, Java에서 openCV 설명서는 정말 나쁘다 – jmoyano

관련 문제