인터넷과 stackoverflow를 철저히 검색했지만 내 질문에 대한 답을 찾지 못했습니다.
OpenCV에서 특정 (x, y 좌표로 주어진) 픽셀의 RGB 값을 어떻게 얻거나 설정할 수 있습니까? 중요한 것은 C ++로 작성 중이며 이미지는 cv :: Mat 변수에 저장됩니다. IplImage () 연산자가 있다는 것을 알고 있지만 IplImage는 C API에서 온다는 것을 아는 한 사용하기에 그리 편하지 않습니다.
예, OpenCV 2.2 스레드 에 이미 픽셀 액세스 가 있다는 것을 알고 있지만 흑백 비트 맵에 관한 것뿐입니다.
편집하다:
모든 답변에 감사드립니다. 픽셀의 RGB 값을 가져 오거나 설정하는 방법에는 여러 가지가 있습니다. 친한 친구에게서 아이디어가 하나 더 생겼습니다. Benny에게 감사합니다! 매우 간단하고 효과적입니다. 어느 것을 선택 하느냐의 문제라고 생각합니다.
Mat image;
(...)
Point3_<uchar>* p = image.ptr<Point3_<uchar> >(y,x);
그런 다음 다음을 사용하여 RGB 값을 읽고 쓸 수 있습니다.
p->x //B
p->y //G
p->z //R