게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금] OpenCV C++를 Java로 번역하는중 질문 (포인터관련)
게시물ID : programmer_9147짧은주소 복사하기
작성자 : 빙티
추천 : 0
조회수 : 826회
댓글수 : 3개
등록시간 : 2015/04/05 20:42:57
옵션
  • 본인삭제금지
안녕하십니까!
프로그래밍을 사랑하는 흔한 고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); 를 자바로 어떻게 번역해야 하나요???

이것에 대해서 구글링을 여러번 해보았는데요... 잘 안나오더라구요 ㅠㅠㅠ
https://code.google.com/p/javacv/wiki/ConvertingOpenCV
여기에서 opencv를 javacv로 번역하는데 쓸수 있는 힌트들을 모아두었는데
위의 내용은 없는거 같습니다 ㅠㅠㅠ

덧글 달아주시면 정말 감사드리겠쑵니다!!!!!!
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호