小编Hub*_*ada的帖子

在Java中使用OpenCV 2.4.10在jpg图片上应用sobel过滤器

我正在尝试使用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);
Run Code Online (Sandbox Code Playgroud)

java opencv sobel

0
推荐指数
1
解决办法
2027
查看次数

标签 统计

java ×1

opencv ×1

sobel ×1