Javaでjpg画像にsobel演算子を追加しようとしています。ここで例を見つけました: http://www.tutorialspoint.com/java_dip/applying_sobel_operator.htmしかし、動作しません。代わりに、黒い画像を印刷します。誰かが私が間違ったことを説明してもらえますか? 他の imgproc 関数はうまく機能します。
これが私のコードです:
Mat sourceImage = Highgui.imread(sourcePath, Highgui.CV_LOAD_IMAGE_GRAYSCALE);
Mat destinationImage = new Mat(sourceImage.rows(), sourceImage.cols(), sourceImage.type());
Mat kernel = new Mat(kernelSize,kernelSize, CvType.CV_32F){
{
put(0,0,-1);
put(0,1,0);
put(0,2,1);
put(1,0-2);
put(1,1,0);
put(1,2,2);
put(2,0,-1);
put(2,1,0);
put(2,2,1);
}
};
Imgproc.filter2D(sourceImage, destinationImage, -1, kernel);
Highgui.imwrite(destinationPath, destinationImage);
//display
new ShowImage(sourcePath, sourceImage);
new ShowImage(destinationPath, destinationImage);