0
매트 요소 액세스에 대한 몇 가지 게시물을 읽었으며 약간의 시련이 있었지만 모두 실패했습니다. 누군가 나에게 힌트를 줄 수 있을까요? core.hpp 라인 (582)에 따라매트 액세스 요소 OpenCV2.3
typedef Vec<float> Vec1f;
: 텟 라인 // **과 같이 선언 할 수 있지만
Mat vect(1,3, CV_32FC1);
typedef Vec<float,1> Vec1f; //**
// access ele. at (1,1)
vect.at<Vec1f>(Point(1,1)) = 5; // I used 1 channel so I defined a new element type as a workaround
나는, I를이 게시물 opencv multi channel element access
의 코드를 적응 : Vec (_Tp v0); //! < 1 요소 벡터 생성자
그러나, 그것은 또한 내가 2D 매트릭스에 대해 동일한 방법을 적용
작동하지 않는 것은 다음 괜찮 :
Mat warp_mat(2,3, CV_32FC1);
typedef Vec<float,1> Vec1f;
warp_mat.at<Vec1f>(Point(0,0)) = 1;
warp_mat.at<Vec1f>(Point(1,0)) = 2;
warp_mat.at<Vec1f>(Point(2,0)) = 5;
warp_mat.at<Vec1f>(Point(0,1)) = 4;
warp_mat.at<Vec1f>(Point(1,1)) = 5;
warp_mat.at<Vec1f>(Point(2,1)) = 0;
는 OK 작품!
Plan9ass에 감사드립니다. 그게 내 버그 야 & 나는 이미 그것을 고쳤다! –
실제로, 'at'함수를 시도했지만이 방법으로는 작동하지 않습니다. 작동하는 것 : frame.at (30,10). 유형은 여기에 uchar입니다. 앞에 붙여야합니다. –
또 다른 문제는 다음과 같습니다. 그 행렬은 3 채널 행렬을 가진 실제 이미지입니다. (i, j) 요소 i, j에 대한 액세스 권한을 부여하지만 채널은 무엇입니까 ?? 원하는 각 채널에 어떻게 액세스 할 수 있습니까 ?? –