저는 cvMat를 사용하는 오래된 코드를 채택하고 있습니다. 나는 cvMat에서 생성자를 사용 : 나는 A[i][j]
을 쓸 때연산자 없음 []이 피연산자와 일치합니다
Mat A(B); // B is a cvMat
, 나는 오류 no operator [] match these operands
를 얻을.
왜? 정보 : B
은 단일 채널 플로트 매트릭스입니다 (CSV 파일에서 읽은 MLData
개체).
저는 cvMat를 사용하는 오래된 코드를 채택하고 있습니다. 나는 cvMat에서 생성자를 사용 : 나는 A[i][j]
을 쓸 때연산자 없음 []이 피연산자와 일치합니다
Mat A(B); // B is a cvMat
, 나는 오류 no operator [] match these operands
를 얻을.
왜? 정보 : B
은 단일 채널 플로트 매트릭스입니다 (CSV 파일에서 읽은 MLData
개체).
The documentation은 at
연산자가 구성원에 액세스하는 데 사용되는 것으로 나열합니다.
A.at<int>(i,j); //Or whatever type you are storing.
첫째, 당신은 당신이 3channel, BGR 이미지 (가장 일반적인 경우)가있는 경우, 당신이 좋아하는 접근해야 할 것이다, 그래서 가장 기본적인 opencv tutorials
살펴이 있어야합니다
를Vec3b & pixel = A.at<Vec3b>(y,x); // we're in row,col world, here !
pixel = Vec3b(17,18,19); // at() returns a reference, so you can *set* that, too.
1 채널 (그레이 스케일) 버전은 다음과 같이 보일 것이다 :
uchar & pixel = A.at<uchar>(y,x);
을 당신이 나 때문에 이미지를 떠 ntion :
float & pixel = A.at<float>(y,x);
당신이 의지의 유형을 선택할 수 없습니다, 당신은 매트 내부에 무엇을 사용하는 것, 그래서 전) A.type을 (쿼리하려고합니다.
이 기능은 가장 기본적인 opencv 튜토리얼보다 분명했습니다. 감사. – Kiran