4

画像のエッジを識別するopencvコード例を見つけて、それをjavacvに変換しようとしましたが、Mat.copyto()メソッドのメソッドが見つかりません。同等の方法を説明してください。これがサンプルコードです。
http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detector.html

   Mat src, src_gray;
   Mat dst, detected_edges;

   int edgeThresh = 1;
   int lowThreshold;
   int const max_lowThreshold = 100;
   int ratio = 3;
   int kernel_size = 3;
   char* window_name = "Edge Map";

   void CannyThreshold(int, void*)
   {
     /// Reduce noise with a kernel 3x3
     blur( src_gray, detected_edges, Size(3,3) );

     /// Canny detector
     Canny( detected_edges, detected_edges, lowThreshold, lowThreshold*ratio, kernel_size );

     /// Using Canny's output as a mask, we display our result
     dst = Scalar::all(0);

     src.copyTo( dst, detected_edges);
     imshow( window_name, dst );
    }

これは変換された方法です

CvMat src, src_gray;
CvMat dst, detected_edges;

int edgeThresh = 1;
int lowThreshold;
final int max_lowThreshold = 100;
int ratio = 3;
int kernel_size = 3;
String window_name = "Edge Map";
int CannyThreshold()
{
  cvSmooth(src_gray, detected_edges, 3, 3);
  cvCanny( detected_edges, detected_edges, lowThreshold, lowThreshold*ratio, kernel_size );
  cvZero(dst);
  src.copyTo( dst, detected_edges); // *** This line gives compile error
  cvShowImage( window_name, dst );
 }

Mat.copyto() の equal メソッドを説明してください。

4

2 に答える 2

0

これが最も似ていると思います:

CvMat dst = src.clone();
于 2012-10-01T11:09:44.650 に答える
0

従来の C API では、これはcvCopy(src, dst, detected_edges).

于 2012-10-01T13:17:17.130 に答える