本文整理匯總了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;
}
示例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);
}