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

مشكلة autofucos

بدأه علاء الصالحي في 15 يونيو 2010 · 14 رد · 689 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كنت أعمل على تطبيق من تطبيقات معالجة الصور على الجوالات (أنا وزميل لي)

بعد أن انتهينا من تصميم الخوارزمية وبرمجناها على الجوال

فوجئنا بأن الصورة التي تأتي من الجوال سيئة إلى أبعد الحدود

حيث أن التطبيق يعتمد على الدقة في التصوير

لا مشاكل من وجود noise بسيطة لكن الصورة معجون التفاصيل فيها عجناً

مع العلم أننا استخدمنا كميرا جوالات أكثر من جيدة

بعد بحث وتمحيص في المشكلة عرفنا أن الأمر يتعلق بما يعرف بـ autofocus

قلنا جيد لأن الجوالات خاصتنا تدعم هذه الخاصية

لكننا فوجئنا بأن الـ JavaMe على جوالاتنا لا تدعم هذه الخاصية

هل هناك حل قد يسعفنا في حل هذه المشكلة العويصة نوعاً ما؟

علماً بأننا جربنا على جوالات مثل n96 ,n95

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3

علاء, بارك الله فيك, أنا مطلوب مني تطبيق كالذي تتحدث عنه,

ممكن تدلني على بداية الطريق في تحليل الصور للهواتف النقالة ؟

#4

هذه هي الطريقة التي استخدمتها أخ مهدي

المشكلة كل المشكلة أنها لا تعمل على الجوالات التي ذكرت لكم

كيف يمكنني أن أعرف الجوالات التي تعمل عليها

على الأقل إذا رأيت واحداً عرفت أنه من النوادر في الدنيا

والله يا هويدي الموضوع low level programming

بمعنى أنك محتاج أن تقرأ في علم معالجة الصور الرقمية وتطبقه بيدك على الصور المأخوذة من الجوال

على كل أنا أنصحك بالتأكد من أن JavaMe تؤدي غرضك

لأنها وبكل أمانة خيبت ظني (شركة نوكيا هي السبب)

طبعاً هذا في حدود معرفتي البسيطة

ربما يفيدك الشباب أكثر مني

تحياتي

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 16 يونيو 2010 في 09:12 — السبب: تصحيح أخطاء إملائية

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

حسنا هذا الكود مأخوذ من هنا

 // Use autofocus if it is available:
    focusControl = (FocusControl)
      p.getControl("javax.microedition.amms.control.camera.FocusControl");
    if(focusControl != null) {
      if(focusControl.isAutoFocusSupported()) {
        try {
          focusControl.setFocus(FocusControl.AUTO); 
        } catch(MediaException e) {
          //Shouldn't happen.
        }
      }
    }

في العاده نقوم بسحب ال Control التي نريد ثم نقوم بفحص قيمتها ان كانت تساوي null ام لا حتي نعلم انها مدعومه ام لا وهذا في ال runtime. اما اذا كنت تريد معرفه اذا كان الهاتف يدعمها من مجرد النظر اليه يجب أولا التأكد من وجود ال amms package عن طريقموقع نوكيا بعدها اذا وجدت ال package فانها يمكن ان تعمل ويمكن ان لا تعمل وهنا عليك تجربتها على جهاز حقيقي مثل ما ذكرت في الاعلي.

سأحاول البحث لك عن قائمه بأجهزه نوكيا التي تعمل عليها.

تم تعديل هذه المشاركة بواسطة مهدي حجازي في 16 يونيو 2010 في 09:32

1
#6

قصدت أخ مهدي أن الجوال الذي لدي في الأصل يدعم autofocus

لكن نوكيا عندما قامت ببناء الواجهات الخاصة بحزمة amms على جوالي لم تقم ببناء الواجهة الخاصة بـ AutoFocus

فهل يمكن بطريقة أو بأخرى الوصول إلى هذه الخاصية عن طريق low level سواءاً كان c أو غيرها ثم استخدامها في جافا

إن لم يكن ممكن فسأكون شاكر لك لو أعطيتني قائمة بالجوالات التي تدعم هذه الخاصية

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#8

صورة يا محمد

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#10

أخي علاء، أولا لا يعني وجود شيء بال Hardware مثل ال autofocus انه يحب ان يكون موجود في JME لذلك دائما يجب التأكد من وجود ال package المسؤله عن التعامل مع هذا ال Hardware وهي في هذه الحاله JSR 234 وهي موجوده بالفعل في هاتف ال N95. يقي مشكله ان بعض ال controls هي اختياريه يمكن ان لا توجد وفي هذه الحاله يجب اختبارها بال runtime.

بالنسبه لموضوه ال low level فلا أظن انه يوجد شيء يفيدك، الشيء الوحيد الموجود هو J2ME API Bridge ولا تحتوي على ما تريد.

أخيرا هل استنفذت كل المحاولات لتحسين الصوره ، لم لا تجرب تغيير القيم في ال video encoding فربما تحصل على صوره افضل دون الحاجه لل FocusControl:

video_encodings   = video_enc_param *( "&" video_param )
     video_enc_param   = "encoding=" video_enc
     video_enc         = "gray8" / "rgb888" / "bgr888" / 
                         "rgb565" / "rgb555" / "yuv444" / 
                         "yuv422" / "yuv420" / "jpeg" / "png" /
                         content_type
     video_param       = "width=" width / 
                         "height=" height / 
                         "fps=" fps /
                         "colors=" colors /
                         "progressive=" progressive /
                         "interlaced=" interlaced /
                         "type=" video_type
     width             = pos_integer
     height            = pos_integer
     fps               = pos_number
     quality           = pos_integer
     colors            = "p" colors_in_palette /
                       = "rgb" r_bits g_bits b_bits /
                       = "gray" gray_bits
     colors_in_palette = pos_integer
     r_bits            = pos_integer
     g_bits            = pos_integer
     b_bits            = pos_integer
     gray_bits         = pos_integer
     progressive       = boolean
     video_type        = jfif / exif / other_type
     other_type        = alphanumeric
     interlaced        = boolean
     pos_number        = 1*DIGIT [ "." 1*DIGIT ]
     boolean           = "true" / "false"

القيم مأخوذه من هنا

1
#11
اقتباس

أخي علاء، أولا لا يعني وجود شيء بال Hardware مثل ال autofocus انه يحب ان يكون موجود في JME لذلك دائما يجب التأكد من وجود ال package المسؤله عن التعامل مع هذا ال Hardware

هذا ما أدركته متأخراً ولله الحمد

بالنسبة لـ J2ME API Bridge

http://wiki.forum.nokia.com/index.php/J2ME_API_Bridge_Interface#New_Multimedia_File_Service

فقد وجدت هذا الرابط فهل يمكنني من التصوير باستخدام autoFocus

أنا أريد الوصول للكاميرا وتفعيل AF بأي طريقة كانت

فهل هذه الخدمة تمكني من ذلك؟

هل يمكنني أن أعرف أكثر عن هذه الإعدادات أخ مهدي

بمعنى آخر هل يمكنني أن أحصل على تفاصيل حول ما تقوم به كل واحدة من هؤلاء؟

مقدر لتعبك معي :(

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#12

J2ME API Bridge لا يبدو انها تحتوي على AF ولكن يمكن اضافه Plugins لها باستخدام Symbian C++ يوجد مثال لاضافه Plugins معها في الملف الرسمي لها ولكنها ستكون مهمه صعبه قليلا، لا يمكنني مساعدتك بها لاني لا اعرف شيء عن Symbian C++ :lol:

بالنسبه لاعدادت الفيديو السابقه، للأسف لم أجد شرحا تفصيليا لها

تم تعديل هذه المشاركة بواسطة مهدي حجازي في 21 يونيو 2010 في 21:10

1
#13

أشكرك أخ مهدي

أريد فقط أن أعرف ما هي الأجهزة التي تدعم autoFocus سواءاً كانت نوكيا أو غيرها

لعل وعسى

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#14

للأسف لا يمكن الحصول على معلومه مثل هذه فهي غير متوفره من شركه نوكيا بشكل مباشر..في مثل هذه الحالات وما أكثرها في حياتنا :lol: ليس لنا الا ان نجمعها بطريقه يدويه عن طريق تجربتها بأنفسنا على الأجهزه. الان في الغالب لا يتم الفحص على كل جهاز بل على كل مجموعه معينه من الأجهزه مثلا يكفي ان تفحصها على N95 وهو سيغطي مجموعه S60 V3 FP1. هذه الطريقه تعمل غالبا ولكنها في بعض الحالات لا تكفي وتظهر لك شواذ عن القاعده فتجد جهاز من المجموعه عليه مشكله رغم ان باقي الاجهزه في نفس المجموعه تعمل بشكل جيد.

1
#15

أنا فقدت الأمل أصلاً

لأني لحد الآن جربت على مجموعة كبيرة من الجوالات

والكل لا يدعم

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

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