在本机中访问 MAT 像素
accessing mat pixels in native
我正在尝试访问和修改本机的 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->rows
,Mat.cols
应该pMatGr->cols
,addrRgba.data
应该是pMatRgb->data
。
相关文章:
- 选择基于另一个垫子的非零像素的cv::Mat的一部分?
- 将 cv::Mat 转换为无符号的 int 像素
- 如何从C 中的CV :: MAT图像中有效提取某些像素
- opencv::Mat,从原始数据中获取像素值
- 访问图像像素;MatIterator_<> 和 Mat::at 运算符的比较
- 在本机中访问 MAT 像素
- (OPENCV RC1)什么导致MAT乘法比每像素乘法慢20倍
- 如何计算 OpenCV 中 Mat 的最大像素值
- 如何在 openCV 中修改 cv::Mat 的像素数据
- 使用 Mat::at<Vec3i> Point 未构造正确的像素
- 如何将像素设置为cv::Mat对象中的值
- 在OpenCV中循环通过16位Mat的像素的有效方法
- Opencv Mat的可视化像素
- 如何从Mat变量编辑/读取OpenCv中的像素值
- C++ OpenCV 函数"mat.at<Vec3b>(Point(j, i))"无法生成正确的像素值并崩溃
- 尝试设置cv::Mat的像素值时引发分段错误
- OpenCV Mat对象的奇怪像素值
- OpenCV从Mat图像中获取像素通道值
- 获取uint8 Mat的像素值
- 将cv::Scalar的值设置为opencv中cv::Mat中的一个像素的正确(最佳)方法是什么?