OpenCV 3.2 버전을 사용하고 있습니다.OpenCV의 VideoCapture에서 가져온 이미지와 스칼라 간의 정수 구분
나는 기본 카메라 엽니 다
VideoCapture cap;
cap.open(0);
을 현재 프레임 잡아 :
Mat frame;
cap.read(frame);
가 지금은 그림과 색상 수를 줄이고 자합니다. 따라서, 나는 정수부을 수행하고 이미지에 같은 스칼라 값을 곱한다. 예를 들어 10이라고합시다. 이것은 C++ 연산자의 과부하로 쉽게 수행 할 수 있습니다.
Mat processedFrame = (frame/10) * 10
그러나 frame
값은 부동 소수점 형식이다. 그런 다음 나누기는 정수 나누기로 수행되지 않으며 색상 감소가 이루어지지 않습니다.
정수 나누기를 수행하기 전에 frame
의 캐스트를 정수 값으로 만들어서 고정시킬 수 있다고 생각합니다. 카메라가 1 (회색 스케일) 또는 3 (BGR) 컬러 채널로 이미지를 집어 넣을 수 있음을 고려하여이 캐스트를 어떻게 수행 할 수 있습니까?
@Muscampester 예, 내가 시도'매트 processedFrame = (static_cast> (프레임)/10) * 10;'. 이것은 전체 검은 이미지를 반환합니다 ('frame' 값은 >> 10입니다). –