java边缘轮廓提取_matlab 提取图像轮廓(图像边缘提取)
时间: 2023-08-11 13:24:54 浏览: 87
要在 Java 中进行图像边缘提取,可以使用 OpenCV 库。以下是一个简单的示代码:
```java
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Scalar;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class EdgeDetectionExample {
public static void main(String[] args) {
// Load the image
Mat image = Imgcodecs.imread("input.jpg");
// Convert the image to grayscale
Mat gray = new Mat();
Imgproc.cvtColor(image, gray, Imgproc.COLOR_BGR2GRAY);
// Apply Canny edge detection
Mat edges = new Mat();
Imgproc.Canny(gray, edges, 100, 200);
// Save the result
Imgcodecs.imwrite("output.jpg", edges);
}
}
```
对于 Matlab,可以使用边缘检测函数 `edge` 进行边缘提取。以下是一个示例代码:
```matlab
% Load the image
image = imread('input.jpg');
% Convert the image to grayscale
gray = rgb2gray(image);
% Apply Canny edge detection
edges = edge(gray, 'Canny', [0.1 0.2]);
% Save the result
imwrite(edges, 'output.jpg');
```
这些示例代码中都是使用 Canny 算法进行边缘提取,你也可以尝试其他的算法,如 Sobel 或 Laplacian。
阅读全文