안녕하십니까!
프로그래밍을 사랑하는 흔한 고2 학생입니다!
제가 openCV 4.9를 활용한 안드로이드 어플리케이션을 Java로 제작하고 있는데요..
처음에는 java와 c++를 같이 사용하려고 하였는데,
c++로 짠 코드가 처음에는 잘 되다가 이클립스를 껐다 키면 빨간줄로 버그가 나타나는 등
여러 문제가 있어서 c++코드를 자바로 번역을 하면서 작업을 하고 있습니다....
현재 번역하려는 c++코드는 아래와 같습니다..
cv::Mat computeMatXGradient(const cv::Mat &mat) {
cv::Mat out(mat.rows,mat.cols,CV_64F);
for (int y = 0; y < mat.rows; ++y) {
const uchar *Mr = mat.ptr<uchar>(y);
double *Or = out.ptr<double>(y);
Or[0] = Mr[1] - Mr[0];
for (int x = 1; x < mat.cols - 1; ++x) {
Or[x] = (Mr[x+1] - Mr[x-1])/2.0;
}
Or[mat.cols-1] = Mr[mat.cols-1] - Mr[mat.cols-2];
}
return out;
}
이 코드에서
const uchar *Mr = mat.ptr<uchar>(y); 가 인풋된 mat의 y번째 행이라는 것을 알고 있는데요....
굵은 부분 아래처럼 array같이 Or[x], Mr[x] 를 사용해 연산하려면
const uchar *Mr = mat.ptr<uchar>(y); 를 자바로 어떻게 번역해야 하나요???
이것에 대해서 구글링을 여러번 해보았는데요... 잘 안나오더라구요 ㅠㅠㅠ
여기에서 opencv를 javacv로 번역하는데 쓸수 있는 힌트들을 모아두었는데
위의 내용은 없는거 같습니다 ㅠㅠㅠ
덧글 달아주시면 정말 감사드리겠쑵니다!!!!!!