當前位置: 首頁>>代碼示例>>Java>>正文


Java Imgproc.Sobel方法代碼示例

本文整理匯總了Java中org.opencv.imgproc.Imgproc.Sobel方法的典型用法代碼示例。如果您正苦於以下問題:Java Imgproc.Sobel方法的具體用法?Java Imgproc.Sobel怎麽用?Java Imgproc.Sobel使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.opencv.imgproc.Imgproc的用法示例。


在下文中一共展示了Imgproc.Sobel方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: doSobel

import org.opencv.imgproc.Imgproc; //導入方法依賴的package包/類
/**
 * Apply Sobel
 *
 * @param frame the current frame
 * @return an image elaborated with Sobel derivation
 */
private Mat doSobel(Mat frame) {
    // init
    Mat grayImage = new Mat();
    Mat detectedEdges = new Mat();
    int scale = 1;
    int delta = 0;
    int ddepth = CvType.CV_16S;
    Mat grad_x = new Mat();
    Mat grad_y = new Mat();
    Mat abs_grad_x = new Mat();
    Mat abs_grad_y = new Mat();

    // reduce noise with a 3x3 kernel
    Imgproc.GaussianBlur(frame, frame, new Size(3, 3), 0, 0, Core.BORDER_DEFAULT);

    // convert to grayscale
    Imgproc.cvtColor(frame, grayImage, Imgproc.COLOR_BGR2GRAY);

    // Gradient X
    // Imgproc.Sobel(grayImage, grad_x, ddepth, 1, 0, 3, scale,
    // this.threshold.getValue(), Core.BORDER_DEFAULT );
    Imgproc.Sobel(grayImage, grad_x, ddepth, 1, 0);
    Core.convertScaleAbs(grad_x, abs_grad_x);

    // Gradient Y
    // Imgproc.Sobel(grayImage, grad_y, ddepth, 0, 1, 3, scale,
    // this.threshold.getValue(), Core.BORDER_DEFAULT );
    Imgproc.Sobel(grayImage, grad_y, ddepth, 0, 1);
    Core.convertScaleAbs(grad_y, abs_grad_y);

    // Total Gradient (approximate)
    Core.addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0, detectedEdges);
    // Core.addWeighted(grad_x, 0.5, grad_y, 0.5, 0, detectedEdges);

    return detectedEdges;

}
 
開發者ID:Evegen55,項目名稱:main_carauto_board,代碼行數:44,代碼來源:MagicTabController.java

示例2: Sobel

import org.opencv.imgproc.Imgproc; //導入方法依賴的package包/類
void Sobel() {
    Mat grayMat = new Mat();
    Mat sobel = new Mat(); //Mat to store the final result

    //Matrices to store gradient and absolute gradient respectively
    Mat grad_x = new Mat();
    Mat abs_grad_x = new Mat();

    Mat grad_y = new Mat();
    Mat abs_grad_y = new Mat();

    //Converting the image to grayscale
    Imgproc.cvtColor(originalMat, grayMat, Imgproc.COLOR_BGR2GRAY);

    //Calculating gradient in horizontal direction
    Imgproc.Sobel(grayMat, grad_x, CvType.CV_16S, 1, 0, 3, 1, 0);

    //Calculating gradient in vertical direction
    Imgproc.Sobel(grayMat, grad_y, CvType.CV_16S, 0, 1, 3, 1, 0);

    //Calculating absolute value of gradients in both the direction
    Core.convertScaleAbs(grad_x, abs_grad_x);
    Core.convertScaleAbs(grad_y, abs_grad_y);

    //Calculating the resultant gradient
    Core.addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 1, sobel);

    //Converting Mat back to Bitmap
    Utils.matToBitmap(sobel, currentBitmap);
    imageView.setImageBitmap(currentBitmap);
}
 
開發者ID:johnhany,項目名稱:MOAAP,代碼行數:32,代碼來源:MainActivity.java


注:本文中的org.opencv.imgproc.Imgproc.Sobel方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。