![Áp dụng Bộ lọc Trung vị và Wiener cho Hình ảnh trong Java](images/Apply-Median-Wiener-Filters-to-Image.png#center)
Trong bài đăng trên blog trước, chúng tôi đã trình bày cách thêm hiệu ứng mờ vào hình ảnh. Hôm nay, chúng tôi sẽ hướng dẫn bạn cách áp dụng bộ lọc trung vị và bộ lọc trung bình, thường được sử dụng để khử nhiễu và làm mịn hình ảnh. Vì vậy, chúng ta hãy xem cách áp dụng trình tập tin trung bình và wiener cho một hình ảnh theo lập trình trong Java.
- API Java để áp dụng bộ lọc hình ảnh trung bình và Wiener
- Áp dụng Bộ lọc Trung vị cho Hình ảnh trong Java
- Áp dụng Bộ lọc Gauss Wiener cho một hình ảnh
- Lọc Motion Wiener của một hình ảnh
API Java để áp dụng bộ lọc hình ảnh trung bình và Wiener - Tải xuống miễn phí
Để áp dụng bộ lọc trung vị và bộ lọc wiener trên hình ảnh, chúng tôi sẽ sử dụng Aspose.Imaging for Java. Nó là một API chỉnh sửa hình ảnh mạnh mẽ để xử lý hình ảnh từ bên trong các ứng dụng Java. Bạn có thể tải xuống API hoặc cài đặt nó bằng cách sử dụng các cấu hình Maven sau.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>22.9</version>
</dependency>
Áp dụng Bộ lọc Trung vị cho Hình ảnh trong Java
Bộ lọc trung vị là một kỹ thuật lọc kỹ thuật số phi tuyến, là một cách phổ biến để khử nhiễu hình ảnh. Sau đây là các bước để áp dụng bộ lọc trung vị cho hình ảnh trong Java.
- Đầu tiên, tải hình ảnh bằng phương thức Image.load().
- Sau đó, truyền hình ảnh sang loại RasterImage.
- Tạo một thể hiện của lớp MedianFilterOptions và khởi tạo nó với kích thước của hình chữ nhật.
- Áp dụng bộ lọc trung vị bằng phương pháp RasterImage.filter (Rectangle, MedianFilterOptions).
- Cuối cùng, lưu hình ảnh kết quả bằng phương thức RasterImage.save().
Mẫu mã sau đây cho thấy cách áp dụng bộ lọc trung vị cho hình ảnh trong Java.
// Tải hình ảnh nhiễu
Image image = Image.load("jack.jpg");
// phân loại hình ảnh thành RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Tạo một thể hiện của lớp MedianFilterOptions và đặt kích thước.
MedianFilterOptions options = new MedianFilterOptions(4);
// Áp dụng bộ lọc MedianFilterOptions cho đối tượng RasterImage.
rasterImage.filter(image.getBounds(), options);
// Lưu hình ảnh kết quả
image.save("Jac_median_denoise.jpg");
Dưới đây là hình ảnh trước và sau khi áp dụng bộ lọc trung vị.
![Áp dụng Bộ lọc Trung vị cho Java Hình ảnh](images/Apply-Median-Filter-to-Image.png#center)
Áp dụng Bộ lọc Gauss Wiener cho một hình ảnh trong Java
Gauss wiener là một phương pháp thường được sử dụng khác để phân loại hình ảnh bằng cách giảm thiểu nhiễu phụ gia và làm mờ. Sau đây là các bước để áp dụng bộ lọc gauss wiener cho một hình ảnh trong Java.
- Đầu tiên, tải hình ảnh bằng phương thức Image.load().
- Sau đó, truyền hình ảnh sang loại RasterImage.
- Tạo một thể hiện của lớp GaussWienerFilterOptions và khởi tạo nó với kích thước bán kính và giá trị mịn.
- (Tùy chọn) Để có hình ảnh thang độ xám, hãy sử dụng phương pháp GaussWienerFilterOptions.setGrayscale (true).
- Áp dụng bộ lọc gauss wiener bằng phương pháp RasterImage.filter (Rectangle, GaussWienerFilterOptions).
- Cuối cùng, lưu hình ảnh kết quả bằng phương thức RasterImage.save().
Mẫu mã sau đây cho thấy cách áp dụng bộ lọc gauss wiener cho một hình ảnh trong Java.
// Tải hình ảnh
Image image = Image.load("jack.jpg");
// phân loại hình ảnh thành RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Tạo một thể hiện của lớp GaussWienerFilterOptions và đặt kích thước bán kính và giá trị mịn.
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
options.setGrayscale(true);
// Áp dụng bộ lọc GaussWienerFilterOptions cho đối tượng RasterImage.
rasterImage.filter(image.getBounds(), options);
// Lưu hình ảnh kết quả
image.save("Jac_guass_weiner.jpg");
Dưới đây là hình ảnh trước và sau khi áp dụng bộ lọc gauss wiener với tùy chọn thang độ xám.
![Áp dụng bộ lọc Gauss Weiner để bôi trơn hình ảnh](images/Apply-Gauss-Weiner-Filter-to-Image.png#center)
Sau đây là hình ảnh trước và sau khi áp dụng bộ lọc gauss wiener mà không tạo cặn xám.
![Áp dụng bộ lọc màu Gauss Weiner cho hình ảnh](images/Apply-Gauss-Weiner-Color-Filter-to-Image.png#center)
Áp dụng Bộ lọc Motion Wiener cho một hình ảnh trong Java
Bộ lọc làm mờ chuyển động được sử dụng để loại bỏ hiện tượng nhòe của hình ảnh được tạo ra do các đối tượng chuyển động. Sau đây là các bước để áp dụng bộ lọc chuyển động cho hình ảnh trong Java.
- Đầu tiên, tải hình ảnh bằng phương thức Image.load().
- Sau đó, truyền hình ảnh sang loại RasterImage.
- Tạo một thể hiện của lớp MotionWienerFilterOptions và khởi tạo nó với độ dài, giá trị mịn và góc.
- Áp dụng bộ lọc bộ lọc chuyển động bằng phương pháp RasterImage.filter (Rectangle, MotionWienerFilterOptions).
- Cuối cùng, lưu hình ảnh kết quả bằng phương thức RasterImage.save().
Mẫu mã sau đây cho thấy cách áp dụng bộ lọc chuyển động cho hình ảnh trong Java.
// Tải hình ảnh
Image image = Image.load("jack.jpg");
// phân loại hình ảnh thành RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Tạo một thể hiện của lớp MotionWienerFilterOptions và đặt độ dài, giá trị mịn và góc.
MotionWienerFilterOptions options = new MotionWienerFilterOptions(10, 2, 10);
//options.setGrayscale (true);
// Áp dụng bộ lọc MotionWienerFilterOptions cho đối tượng RasterImage.
rasterImage.filter(image.getBounds(), options);
// Lưu hình ảnh kết quả
image.save("Jac_motion_weiner.jpg");
![Áp dụng Bộ lọc Weiner chuyển động cho hình ảnh trong Java](images/Apply-Motion-Weiner-Filter-to-Image.png#center)
API lọc hình ảnh trung bình của Java và Wiener - Nhận giấy phép miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí và áp dụng bộ lọc trung bình và bộ lọc trung bình cho hình ảnh mà không có giới hạn đánh giá.
Sự kết luận
Trong bài viết này, bạn đã học cách áp dụng các bộ lọc trung vị và wiener cho hình ảnh trong Java. Hơn nữa, chúng tôi đã đề cập đến cách giảm nhiễu của các đối tượng chuyển động trong ảnh. Bạn có thể dễ dàng sử dụng các tính năng này trong ứng dụng Java của mình để tích hợp khả năng chỉnh sửa hình ảnh.
Đọc thêm
Bạn có thể khám phá thêm về API xử lý hình ảnh Java bằng cách sử dụng tài liệu. Ngoài ra, bạn có thể chia sẻ các thắc mắc của mình với chúng tôi qua diễn đàn của chúng tôi.