画像のエッジを識別する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 メソッドを説明してください。