الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

صورة (Depth 48) أرجو المساعدة في الحصول على RGB

بدأه هدف الشمالي في 16 أكتوبر 2010 · 5 رد · 486 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

الأخوة الأفاضل الكرام أشكر لكم ماتقدمونه من علم ,

وأرجو مساعدتي في الحصول على قيمة الـ RGB للصورة المرفقة وهي بعمق 48

كما أرجو أن لايقوم من نظامه xp غير محدث بتنزيل المرفق لأني أخشى أن تحدث للنظام مشكلة من الملف .

كما لايفوتني شكر كل من ساعدني في الوصول لهذه الخطوة وخاصة الأخ : YaSeenTA

screen48.7z

#2

عليك استخدام مكتبة Java Advanced Imaging

انظر هذا المثال:

http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Examples.doc.html

_____________

تحديث:

بالمناسبة، ما حاجتك للصور بعمق 48 بت ؟

فهمت من موضوع آخر أنك تحتاج لكتابة برنامج يقوم باكتشاف أقل التغيرات اللونية في الصورة

أظن أن العمق الاعتيادي للصور 24bit = 16777216 لون هو أكثر من كافي !

كما يجب أن تنتبه إلى النقطة التالية:

إن لم تكن الصور التي تلتقطها الكاميرا أو الماسح الضوئي (أو أي مصدر للصور الذي تعالجها) هي بالأصل بعمق 48bit ، فلن تستفيد شيئاً من تحويلها إلى 48bit ومعالجتها لأن هذا لن يزيد من دقتها أو من دقة اكتشاف التغييرات شيئاً

هل ممكن بعض المعلومات عن المشروع لنساعدك أكثر ؟

ربما تمشي في الاتجاه الخطأ ...

تم تعديل هذه المشاركة بواسطة Speed_Of_Light في 17 أكتوبر 2010 في 13:01

#3
Speed_Of_Light كتب:

عليك استخدام مكتبة Java Advanced Imaging

انظر هذا المثال:

http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Examples.doc.html

_____________

تحديث:

بالمناسبة، ما حاجتك للصور بعمق 48 بت ؟

فهمت من موضوع آخر أنك تحتاج لكتابة برنامج يقوم باكتشاف أقل التغيرات اللونية في الصورة

أظن أن العمق الاعتيادي للصور 24bit = 16777216 لون هو أكثر من كافي !

كما يجب أن تنتبه إلى النقطة التالية:

إن لم تكن الصور التي تلتقطها الكاميرا أو الماسح الضوئي (أو أي مصدر للصور الذي تعالجها) هي بالأصل بعمق 48bit ، فلن تستفيد شيئاً من تحويلها إلى 48bit ومعالجتها لأن هذا لن يزيد من دقتها أو من دقة اكتشاف التغييرات شيئاً

هل ممكن بعض المعلومات عن المشروع لنساعدك أكثر ؟

ربما تمشي في الاتجاه الخطأ ...

شكراً أخي قمت بتنزيل المكتبة في وقت سابق ولكن المثال غي واضح .

وتنبيهك في محله وأنا أعرف أنه لابد أن يكون مصدر الصورة بعمق 48 ,

لازال الطلب مستمر ...........................

#4

مثال سريع:

(ملاحظة الصورة التي أرفقتها فيها مشكلة على ما أظن (ليست قياسية؟)، تمت تجربة الكود التالي على صورة TIFF من 48bit بنجاح)

import java.awt.image.renderable.ParameterBlock;
import java.io.IOException;
import javax.media.jai.JAI;
import javax.media.jai.RenderedOp;
import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.TIFFDecodeParam;
import java.awt.image.ColorModel;
import java.awt.image.SampleModel;
import javax.media.jai.TiledImage;

public class TIFFAnalyzer{

    public static void main(String[] args) {
        analyze("image.tif");
    }

    public static void analyze(String tiffPath) {
        FileSeekableStream stream = null;
        try {
            stream = new FileSeekableStream(tiffPath);
        } catch (IOException e) {
            e.printStackTrace();
        }

        ParameterBlock params = new ParameterBlock();
        params.add(stream);
        TIFFDecodeParam decodeParam = new TIFFDecodeParam();
        decodeParam.setDecodePaletteAsShorts(true);
        RenderedOp image = JAI.create("tiff", params);

        SampleModel sampleModel = image.getSampleModel();
        ColorModel colorModel = image.getColorModel();

        TiledImage ti = new TiledImage(image.getMinX(), image.getMinY(),
                image.getWidth(), image.getHeight(),
                image.getTileGridXOffset(),
                image.getTileGridYOffset(),
                sampleModel, colorModel);
        ti.setData(image.copyData());

        // Feching the pixel (10 X 10) color values
        System.out.println("Red: " + ti.getSample(10, 10, 0));
        System.out.println("Green: " + ti.getSample(10, 10, 1));
        System.out.println("Blue: " + ti.getSample(10, 10, 2));
    }
}

تم تعديل هذه المشاركة بواسطة Speed_Of_Light في 20 أكتوبر 2010 في 15:52

#5

فعلاً الكود يعمل 100%

شكراً لك من أعماق قلبي , جزاك الله خيراً .

#6

الحمد لله :)

لقد قمت بإصلاح الكود قليلاً ... لكن الفكرة واحدة

هل لي أن أعرف المزيد من المعلومات حول المشروع الذي تريد القيام به؟

(فقط إن كان هناك إمكانية لذلك طبعاً)

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…