2
나는 opencv 이미지 처리 라이브러리를 사용하고 있습니다. 나는 원래의 매트 이미지의 직사각형 영역 (원본 이미지보다 작음)을 다른 작은 이미지로 대체하려고합니다. 나는이 일을 할 방향을 찾을 수 없었다.매트 이미지의 직사각형 영역을 대체하는 방법
누구든지 나를 도울 수있다. 미리 감사드립니다.
나는 opencv 이미지 처리 라이브러리를 사용하고 있습니다. 나는 원래의 매트 이미지의 직사각형 영역 (원본 이미지보다 작음)을 다른 작은 이미지로 대체하려고합니다. 나는이 일을 할 방향을 찾을 수 없었다.매트 이미지의 직사각형 영역을 대체하는 방법
누구든지 나를 도울 수있다. 미리 감사드립니다.
최선의 방법이라고 주장하지 마십시오.
Mat m = ... // your smaller mat
Mat submat= matOrig.submat(new Rect(x,y, m.cols(), m.rows()));
m.copyTo(submat);
m은 matOrig 내부에서 벗어나지 않는다고 가정해야합니다. 서브 매트를 얻으면 소스 매트에 계속 링크됩니다.
원본 이미지를 자동으로 업데이트하나요? (원본 이미지에서 변경되지만 원래 이미지에서 변경된 부분 집합 만 업데이트됩니다. 아무튼 도움을 주셔서 감사합니다. – shadee
원본을 업데이트해야합니다. . 서브 맵 복사를 먼저하고 복사본으로 복사하지 않으셨습니까? – medloh
자바를 사용하여 이미지의 일부를 업데이트하는 작은 메소드를 작성했습니다. 자바 때문입니까? 여기 내 메소드가 있습니다. '공공 무효 ChangeImage (매트 SRC 매트 작은 사각형의 ROI) { \t \t 매트 하위 뷰 = src.submat (ROI) \t \t small.copyTo (하위 뷰); Highgui.imwrite ("combined-image.png", src); \t} ' – shadee