在本机中访问 MAT 像素

accessing mat pixels in native

本文关键字:MAT 像素 访问 本机      更新时间:2023-10-16

我正在尝试访问和修改本机的 mat 像素,但我无法摆脱错误。我的函数是:

`extern "C" {
JNIEXPORT void JNICALL Java_org_opencv_samples_tutorial3_Sample3Native_FindFeatures(JNIEnv*, jobject, jlong addrGray, jlong addrRgba)
{
    Mat* pMatGr=(Mat*)addrGray;
    Mat* pMatRgb=(Mat*)addrRgba;
    vector<KeyPoint> v;
int i=0;
uchar* pixel = addrRgba.data;
for(int i = 0; i < Mat.rows * Mat.cols; ++i)
{
    // access pixel[0],pixel[1],pixel[2] here
    pixel += 3; // move to next pixel
}
}
}
`    

它被称为:

FindFeatures(mGrayMat.getNativeObjAddr(

), mRgba.getNativeObjAddr());

与爪哇相比

我的错误是

"field 'data' cannot be resolved", "field 'rows' cannot be resolved"

帮助将不胜感激。谢谢

Mat.rows应该是pMatGr->rowsMat.cols应该pMatGr->colsaddrRgba.data应该是pMatRgb->data