Binarize CDR s qua Java
Tạo ứng dụng Java của riêng bạn để Binarize các tệp CDR bằng cách sử dụng API phía máy chủ.
Cách Binarize CDR Tệp bằng Java
Việc phát minh ra phim màu đánh dấu một cột mốc quan trọng trong lĩnh vực nhiếp ảnh. Tuy nhiên, nhiếp ảnh cổ điển vốn gắn liền với hình ảnh đen trắng. Bất chấp khả năng kỹ thuật sâu rộng của máy ảnh để thu được toàn bộ dải màu, nhiều người vẫn chọn chế độ đơn sắc, chuyển ảnh của họ thành đen trắng. Trong những trường hợp như vậy, chức năng nhị phân hóa sẽ hoạt động, chuyển đổi tất cả pixel thành giá trị nhị phân: "0" cho màu trắng và "1" cho màu đen. Trong các trường hợp khác, sự chuyển đổi này không được thúc đẩy bởi các lựa chọn nghệ thuật mà là những lựa chọn thực tế, như chuẩn bị các hình minh họa đen trắng để in trên sách hoặc báo. Sử dụng thư viện đồ họa Java, bạn có thể chỉ định ngưỡng độ sáng pixel. Các pixel có giá trị độ sáng dưới ngưỡng này sẽ trở thành màu đen, trong khi các pixel ở trên sẽ trở thành màu trắng. Ngoài ra, bạn có thể sử dụng phương pháp nhị phân thích ứng để xem xét các giá trị pixel ở khu vực xung quanh. Cách tiếp cận này mang lại sự chuyển tiếp mượt mà hơn giữa các ranh giới màu trong hình ảnh đen trắng thu được. Để nhị phân hóa các tệp CDR, chúng tôi sẽ sử dụng [Aspose.Imaging cho Java] ( https://products.aspose.com/imaging/java ) API là một API chuyển đổi và thao tác hình ảnh giàu tính năng, mạnh mẽ và dễ sử dụng cho nền tảng Java. Bạn có thể tải xuống phiên bản mới nhất của nó trực tiếp từ Maven và cài đặt nó trong dự án dựa trên Maven của bạn bằng cách thêm các cấu hình sau vào pom.xml.
Kho
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependency
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Các bước để Binarize CDR qua Java
Bạn cần [aspose-images-version-jdk16.jar] ( https://downloads.aspose.com/imaging/java ) để thử quy trình làm việc sau trong môi trường của riêng bạn.
- Tải tệp CDR bằng phương pháp Image.Load
- Binarize hình ảnh;
- Lưu hình ảnh nén vào đĩa ở định dạng Aspose.Imaging được hỗ trợ
yêu cầu hệ thống
Aspose.Imaging cho Java được hỗ trợ trên tất cả các hệ điều hành chính. Chỉ cần đảm bảo rằng bạn có các điều kiện tiên quyết sau.
- Đã cài đặt JDK 1.6 trở lên.
Binarize CDR hình ảnh - Java
import com.aspose.imaging.IMultipageImage; | |
import com.aspose.imaging.Image; | |
import com.aspose.imaging.RasterImage; | |
import com.aspose.imaging.imageoptions.PngOptions; | |
import java.io.File; | |
import java.util.Arrays; | |
import java.util.LinkedList; | |
import java.util.List; | |
import java.util.function.Consumer; | |
binarizeFixed(); | |
public static void binarizeOtsu() | |
{ | |
// https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#binarizeOtsu-- | |
filterImages(RasterImage::binarizeOtsu, "binarizeotsu"); | |
} | |
public static void binarizeBradley() | |
{ | |
filterImages(image -> | |
{ | |
// https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#binarizeBradley-double- | |
image.binarizeBradley(0.5); | |
}, "binarizebradley"); | |
} | |
public static void binarizeFixed() | |
{ | |
filterImages(image -> | |
{ | |
// https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#binarizeFixed-byte- | |
image.binarizeFixed((byte)70); | |
}, "binarizefixed"); | |
} | |
static String templatesFolder = "D:\\"; | |
public static void filterImages(Consumer<RasterImage> doFilter, String filterName) | |
{ | |
List<String> rasterFormats = Arrays.asList("jpg", "png", "bmp", "apng", "dicom", | |
"jp2", "j2k", "tga", "webp", "tif", "gif", "ico"); | |
List<String> vectorFormats = Arrays.asList("svg", "otg", "odg", "eps", "wmf", "emf", "wmz", "emz", "cmx", "cdr"); | |
List<String> allFormats = new LinkedList<>(rasterFormats); | |
allFormats.addAll(vectorFormats); | |
allFormats.forEach( | |
formatExt -> | |
{ | |
String inputFile = templatesFolder + "template." + formatExt; | |
boolean isVectorFormat = vectorFormats.contains(formatExt); | |
//Need to rasterize vector formats before background remove | |
if (isVectorFormat) | |
{ | |
inputFile = rasterizeVectorImage(formatExt, inputFile); | |
} | |
String outputFile = templatesFolder + String.format("%s_%s.png", filterName, formatExt); | |
System.out.println("Processing " + formatExt); | |
try (RasterImage image = (RasterImage) Image.load(inputFile)) | |
{ | |
doFilter.accept(image); | |
//If image is multipage save each page to png to demonstrate results | |
if (image instanceof IMultipageImage && ((IMultipageImage) image).getPageCount() > 1) | |
{ | |
IMultipageImage multiPage = (IMultipageImage) image; | |
final int pageCount = multiPage.getPageCount(); | |
final Image[] pages = multiPage.getPages(); | |
for (int pageIndex = 0; pageIndex < pageCount; pageIndex++) | |
{ | |
String fileName = String.format("%s_page%d_%s.png", filterName, pageIndex, formatExt); | |
pages[pageIndex].save(fileName, new PngOptions()); | |
} | |
} | |
else | |
{ | |
image.save(outputFile, new PngOptions()); | |
} | |
} | |
//Remove rasterized vector image | |
if (isVectorFormat) | |
{ | |
new File(inputFile).delete(); | |
} | |
} | |
); | |
} | |
private static String rasterizeVectorImage(String formatExt, String inputFile) | |
{ | |
String outputFile = templatesFolder + "rasterized."+ formatExt + ".png"; | |
try (Image image = Image.load(inputFile)) | |
{ | |
image.save(outputFile, new PngOptions()); | |
} | |
return outputFile; | |
} |
Giới thiệu về Aspose.Imaging cho API Java
Aspose.Imaging API là một giải pháp xử lý hình ảnh để tạo, sửa đổi, vẽ hoặc chuyển đổi hình ảnh (ảnh) trong các ứng dụng. Nó cung cấp: xử lý hình ảnh đa nền tảng, bao gồm nhưng không giới hạn ở chuyển đổi giữa các định dạng hình ảnh khác nhau (bao gồm xử lý hình ảnh nhiều trang hoặc nhiều khung hình đồng nhất), các sửa đổi như vẽ, làm việc với đồ họa nguyên thủy, chuyển đổi (thay đổi kích thước, cắt, lật và xoay , binarization, thang độ xám, điều chỉnh), các tính năng thao tác hình ảnh nâng cao (lọc, phối màu, tạo mặt nạ, giải mã) và các chiến lược tối ưu hóa bộ nhớ. Đây là một thư viện độc lập và không phụ thuộc vào bất kỳ phần mềm nào cho các thao tác hình ảnh. Người ta có thể dễ dàng thêm các tính năng chuyển đổi hình ảnh hiệu suất cao với các API gốc trong các dự án. Đây là các API tại chỗ 100% riêng tư và hình ảnh được xử lý tại máy chủ của bạn.Binarize CDR qua Ứng dụng Trực tuyến
Binarize các tài liệu CDR bằng cách truy cập [trang web Bản trình diễn trực tiếp] của chúng tôi ( https://products.aspose.app/imaging/image-Binarize) . Bản demo trực tiếp có những lợi ích sau
CDR Những gì là CDR Định dạng tệp
Tệp CDR là tệp hình ảnh bản vẽ vectơ được tạo nguyên bản bằng CorelDRAW để lưu trữ hình ảnh kỹ thuật số được mã hóa và nén. Một tệp bản vẽ như vậy có chứa văn bản, đường thẳng, hình dạng, hình ảnh, màu sắc và các hiệu ứng để biểu diễn vector của nội dung hình ảnh. Các tệp CDR có thể được mở bằng CorelDRAW làm ứng dụng chính và cũng có thể được chuyển đổi sang các định dạng khác như PDF, JPG, PNG, BMP và AI. Nó có thể được sử dụng để biểu diễn các dữ liệu đồ họa khác nhau như tài liệu quảng cáo, báo lá cải, phong bì và bưu thiếp. Bên cạnh CorelDRAW, các sản phẩm Corel khác như Corel Paintshop Pro và CorelDRAW Graphics suite cũng có thể mở các định dạng tệp CDR.
Đọc thêmCác định dạng Binarize được hỗ trợ khác
Sử dụng Java, người ta có thể dễ dàng Binarize các định dạng khác nhau bao gồm.