في حالات مختلفة ، قد تحتاج إلى تحويل صور RGB إلى تدرج الرمادي أو الأسود والأبيض ، على سبيل المثال ، في معالجة الصور ، وما إلى ذلك. وفقًا لذلك ، في هذه المقالة ، ستتعلم كيفية تحويل صورة RGB إلى تدرج الرمادي باستخدام Java . علاوة على ذلك ، ستغطي المقالة التدرج الرمادي والثنائي للصور بشكل صريح.
- Java API لتحويل الصورة الملونة إلى تدرج الرمادي
- تحويل الصورة إلى تدرج الرمادي في جافا
- تحويل الصورة إلى أبيض وأسود باستخدام ثنائي
Java Color Image to Grayscale Converter - تنزيل مجاني
لتحويل صور RGB إلى درجات رمادية ، سنستخدم Aspose.Imaging for Java. إنها واجهة برمجة تطبيقات معالجة صور Java تتيح لك معالجة تنسيقات الصور الشائعة بسلاسة. يمكنك إما تنزيل API أو تثبيته باستخدام تكوينات Maven التالية.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-java</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
قم بتحويل صورة RGB إلى Grayscale في Java
فيما يلي خطوات تحويل صورة RGB إلى تدرج رمادي في Java.
- أولاً ، قم بتحميل الصورة باستخدام فئة صورة.
- ثم قم برمي الصورة في كائن RasterCachedImage.
- تخزين الصورة مؤقتًا باستخدام طريقة RasterCachedImage.cacheData().
- تحويل الصورة إلى تدرج رمادي باستخدام طريقة RasterCachedImage.grayscale().
- أخيرًا ، احفظ الصورة باستخدام طريقة RasterCachedImage.save(String).
يوضح نموذج التعليمات البرمجية التالي كيفية تحويل صورة إلى تدرج الرمادي في Java.
// قم بتحميل صورة في مثيل Image
try (Image image = Image.load("aspose-logo.jpg"))
{
// إرسال الصورة إلى RasterCachedImage
RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
// تحقق مما إذا كانت الصورة مخزنة مؤقتًا
if (!rasterCachedImage.isCached()) {
// صورة ذاكرة التخزين المؤقت إذا لم تكن مخبأة بالفعل
rasterCachedImage.cacheData();
}
// تحويل الصورة إلى تمثيلها بتدرج الرمادي
rasterCachedImage.grayscale();
// احفظ الصورة الناتجة
rasterCachedImage.save("Grayscaling_out.jpg");
}
صورة الإدخال
فيما يلي نموذج للصورة المستخدمة في هذه المقالة.
تم التحويل إلى تدرج الرمادي
فيما يلي الصورة بعد التحويل إلى التدرج الرمادي.
جافا حفظ الصورة بالأبيض والأسود مع ثنائي
في الترميز الثنائي ، يمكن أن يكون لكل بكسل في الصورة قيمتان محتملتان فقط ؛ 0 أو 1. هنا ، يشير 0 إلى الغياب و 1 يشير إلى وجود اللون. Aspose.Imaging يدعم طريقتين للترميز الثنائي ، أي الترميز الثنائي مع الثابت والثنائي مع عتبة Otsu.
الثنائية ذات العتبة الثابتة
فيما يلي خطوات تنفيذ التحويل الثنائي على صورة باستخدام عتبة ثابتة.
- أولاً ، قم بتحميل الصورة باستخدام فئة صورة.
- ثم قم بإلقاء الصورة في كائن RasterCachedImage.
- تخزين الصورة مؤقتًا باستخدام طريقة RasterCachedImage.cacheData().
- تحويل الصورة إلى أبيض وأسود باستخدام طريقة RasterCachedImage.binarizeFixed().
- أخيرًا ، احفظ الصورة باستخدام طريقة RasterCachedImage.save(String).
يطبق كود Java التالي التحويل الثنائي إلى صورة ويحولها إلى أبيض وأسود.
// قم بتحميل صورة في مثيل Image
try (Image image = Image.load("aspose-logo.jpg"))
{
// قم بإرسال الصورة إلى RasterCachedImage وتحقق مما إذا كانت الصورة مخزنة مؤقتًا
RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
if (!rasterCachedImage.IsCached)
{
// صورة ذاكرة التخزين المؤقت إذا لم تكن مخبأة بالفعل
rasterCachedImage.CacheData();
}
// قم بتبديل الصورة باستخدام عتبة ثابتة محددة مسبقًا وحفظ الصورة الناتجة
rasterCachedImage.binarizeFixed((byte) 100);
rasterCachedImage.save("BinarizationWithFixedThreshold_out.jpg");
}
ثنائي مع عتبة Otsu
فيما يلي خطوة لتحويل الصورة إلى أبيض وأسود باستخدام عتبة Otsu.
- أولاً ، قم بتحميل الصورة باستخدام فئة صورة.
- قم بإلقاء الصورة في كائن RasterCachedImage.
- تخزين الصورة مؤقتًا باستخدام طريقة RasterCachedImage.cacheData().
- تحويل الصورة إلى أبيض وأسود باستخدام طريقة RasterCachedImage.binarizeOtsu().
- أخيرًا ، احفظ الصورة باستخدام طريقة RasterCachedImage.save(String).
يوضح نموذج الكود التالي كيفية تحويل صورة إلى أبيض وأسود باستخدام عتبة Otsu باستخدام Java.
// قم بتحميل صورة في مثيل Image
try (Image image = Image.load("aspose-logo.jpg"))
{
// قم بإرسال الصورة إلى RasterCachedImage وتحقق مما إذا كانت الصورة مخزنة مؤقتًا
RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
if (!rasterCachedImage.isCached())
{
// صورة ذاكرة التخزين المؤقت إذا لم تكن مخبأة بالفعل
rasterCachedImage.cacheData();
}
// صورة ثنائية مع عتبة أوتسو
rasterCachedImage.binarizeOtsu();
// احفظ الصورة الناتجة
rasterCachedImage.save("BinarizationWithOtsuThreshold_out.jpg");
}
Color Image to Grayscale Java Converter - احصل على ترخيص مجاني
يمكنك الحصول على ترخيص مؤقت مجاني من أجل استخدام واجهة برمجة التطبيقات دون قيود التقييم.
استنتاج
في هذه المقالة ، تعلمت كيفية تحويل صورة ملونة إلى تدرج الرمادي والأبيض والأسود باستخدام Java. علاوة على ذلك ، لقد رأيت كيفية تطبيق الترميز الثنائي على الصور ذات العتبة الثابتة أو Otsu. بالإضافة إلى ذلك ، يمكنك استكشاف المزيد حول واجهة برمجة تطبيقات معالجة صور Java باستخدام التوثيق. يمكنك أيضًا مشاركة استفساراتك معنا عبر المنتدى.