• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

مصفوفة

الخبراء المعتمدون
  • عدد المشاركات

    337
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

55 جيد

عن مصفوفة

  • الرتبة
    خبير QT
  • تاريخ الميلاد 09/14/1988

طرق الإتصال

معلومات الملف الشخصي

  • الجنس ذكر
  • الدولة : الحجاز
  1. Game by Using Qt

    وعليكم السلام ورحمة الله وبركاته لقد جربت اللعبة في الحقيقة مثل هذه البرامج ممتازة لمن يريد ان يتعلم البرمجة على Qt وبالتحديد يتعلم استخدام ال signals and slots . بالنسبة لموضوع ال QTimer أستخدم الدالة start لتضع المؤقت بالملي ثانية اي 10 ثواني تساوي 10*1000 . QTimer timer; timer.start(10000); عند انقضاء العشر ثواني راح يتم ارسال الإشارة timeout يمكنك ربطها مع ال slot الذي تصنعه . QObject::connect(&timer,SIGNAL(timeout()),this,SLOT(...)) ملاحظة:الأكواد في الأعلى للتوضيح وشكرا لك
  2. openCV و Qt

    شكرا لك أخي IMLJH أخي أباسليمان سرني كثيرا ردك أما مجتمع كيوتي لا أدري ماذا حل به فالموقع لا يفتح معي وهذا السؤال المفروض نوجهه للأخ أحمد(sudanix) فهو المسؤول عن الموقع بالكامل ... واشكركم جميعا
  3. سرني اذ لاقى البرنامج استحسانك :)
  4. السلام عليكم ورحمة الله وبركاته هذه اللعبة قمت بعملها قبل ستة شهور تقريبا, ولم أقم بنشرها الا في مدونتي وبعد ان حذفتها من مدونتي سوف اضعها هنا ... اللغة cpp . المكتبات Ogre + Qt . مدة العمل يومين متصلين. السورس كود وباقي الملفات في المرفقات حتى تجرب اللعبة يجب ان تحمل ملفات dll التابعة لكل من mingw و ogre و Qt... مشو حالكم :P ... emulate for magic cube.rar
  5. المصفوفة بدون حجم []array

    وعليكم السلام ورحمة الله وبركاته int mat[]; هذا النوع لازم تعطيله قيمة ابتدائية عبارة عن مصفوفة ويصبح حجمها مساوي لعدد العناصر اما بالنسبة اذا اردت مصفوفة تقدر تغير حجمها في أي وقت فتوجد حاوية stl كمكتبة معيارية في cpp انظر الرابط http://www.cplusplus.com/reference/stl/ .
  6. وعليكم السلام هذا الموضوع كتبت عنه مسبقا هنا http://www.arabteam2000-forum.com/index.php?showtopic=165904 في مكتبات مثل Qt لا يستخدمون هذه الطريقة بتاتا مع الدوال لا أدري هل هو عيب فيها !؟؟ بينما يستخدمون طريقة أخرى وهي انك تعطيهم ال array و عدد عناصرها . واعتقد انها الطريقة الأفضل .
  7. بسم الله الرحمن الرحيم . الموضوع داخل مدونة دوال. وأيضا يسعدني ان اشكر كل من ساعدني في هذا الموضوع . openCV مكتبة متخصصة في “computer vision” وتتميز بأنها مفتوحة المصدر وتعمل على أنظمة linux و windows و mac ولقد تم كتابتها بلغة c/c++ وتدعم أيضا لغات أخرى python و rubi و matlab. وتركز المكتبة على تطبيقات ال real time ,ويميزها سهولتها وإمكانية كتابة برامج كاملة عن طريقها وفي وقت قصير .وتتوفر للمكتبة أكثر من خمسمائة دالة تغطي مساحات عديدة للرؤية تشمل فحص المنتج والتصوير الطبي والأمن وواجهة المستخدم ومعايرة الكاميرا والروبوتات...الخ. ما هو الـ “computer vision” ؟ يمكننا ترجمتها "حاسة بصر الحاسب الآلي" أو "رؤية الحاسب الآلي" أو ما تراه مناسبا .ونعرفه بأنه علم برمجي يهتم بطرق تحويل بيانات الصور والفيديو إلى معلومات وقرارات أو إعادة تمثيل هذه البيانات من جديد . وتكون المعلومات والقرارات على النحو التالي : "هل يوجد شخص في الصورة" أو "هل البصمات متطابقة في الصورتين"...الخ.أما إعادة تمثيل البيانات فتكون على النحو التالي: "تحويل الصورة الملونة إلى صورة رمادية" أو "إزالة حركة الكاميرا من الفيديو" ...الخ. معمارية openCV CXCORE يحتوي على تراكيب البيانات(data structure) , والمصفوفات (matrix algebra) وتحويل البيانات واستمرارية الكائن و إدارة الذاكرة ومعالجة الأخطاء و التحميل الديناميكي للترميز و رسمها والنصوص واسس الرياضيات . CV معالجة الصور وتحليل بنية الصور وتتبع الحركة ومعايرة الكاميرا . Machine Learning (MLL) وتحليل البيانات والإحصائيات بالإضافة إلى أدوات أخرى . HighGUI واجهة المستخدم الرسومية وتخزين وعرض الصور والفيديو . CvAux توفر عمل Eigen Objects (EO) و HMM (Hidden Markov Models) و هما طريقتان مشهورتان من طرق التعرف على الوجه لهما خاصية مشتركة أنهما ينتميان لعائلة التعرف على الوجه local -التعرف على الحركات أو تحديدها من خلال ما يسمى stereo vision أي عندما يكون لدينا أكثر من كاميرا. -تساعد على توفير خدمة تطابق الأشكال (صور أشخاص أو أمكنة ....) بطريقة تطابق حواف المناطق region contour . - تتبع حركة العين و الفم. -التتبع في مجال 3d. -المراقبة باستخدام الكاميرا . - تعديل الكاميرا ) أو معايرة الكاميرا) يعني أننا يجب أن نجد العلاقة بين إحداثيات النقطة في الحقيقة و إحداثياتها في الصورة التي أخذت بالكاميرا . -معرفة هيكل أي جسم و ذلك لاستخدامه في التعرف على الأشخاص مثلا أو تتبع حركتهم ...الخ . openCV وتكاملها مع Qt توفر لك openCV حلول في معالجة الصور وقراءة البيانات لا يوفرها Qt بينما توفر لك Qt حلول في مجالات أخرى لا توفرها openCV فلهذا جعل كلتا المكتبتين تتكامل فيما بينهما أمرا مهما للبعض منا . معلومة: يمثل IplImage كائن الصور في openCV بينما يمثل QImage كائن الصور في Qt . تحويل الصور من IplImage إلى QImage والعكس كذلك : في الغالب لن تحتاج الا لهذه الخطوة لتصل الى التكامل المنشود بين Qt و openCV . يتوجب تطابق صيغ بيانات الصورة بين IplImage و QImage فمثلا لو كان نظام الألوان bgr في IblImage فإن الصورة لن تظهر بألوانها الصحيحة في QImage لأن الاخير يعتمد على rgb . مثال على طريقة التحويل : IplImage* cvImage=cvLoadImage("C:/try/c1.png");//تحميل الصورة cvCvtColor(cvImage,cvImage,CV_BGR2RGB);//convert image data from bgr to rgb QImage qtImage((uchar*)cvImage->imageData,cvImage->width,cvImage->height,cvImage->widthStep,QImage::Format_RGB888); //get QImage by read image data in IplImage لقد قمنا بتحويل صيغ البيانات الى rgb ليقرأها QImage على الشكل QImage::Format_RGB888 . ويمكن الاستغناء عن السطر الثاني واستبداله بدالة أخرى متوفرة في QImage : IplImage* cvImage=cvLoadImage("C:/try/c1.png");//تحميل الصورة QImage qtImage((uchar*)cvImage->imageData,cvImage->width,cvImage->height,cvImage->widthStep,QImage::Format_RGB888);//get QImage by read image data in IplImage qtImage.rgbSwapped();//convert from rgb to bgr هذه المرة أبقينا على IplImage بدون تغيير في صيغة بياناتها و حولنا صيغة بيانات الصورة في QImge من rgb الى bgr . مثال لنقل صورة من QIamge إلى IplImage : QImage qtImage("c:/try/c1.png"); IplImage* cvImage = cvCreateImage(cvSize(qtImage.width(), qtImage.height()), 8, 4);// create empty image with same data format of QImage cvImage->imageData = (char*)qtImage.bits();//get IplImage by read image data in QImage في Qt لا توجد طريقة مباشرة لتحويل الصورة الى اللون الرمادي بينما يتوفر ذلك في openCV والسؤال هنا كيف نقوم بتحويل هذه الصور الرمادية الى QImage ؟ الحل الأفضل هو نسخ البكسلات من IplImage إلى QImage بكسل تلو البكسل . طريقة صنع دالة تنسخ على مستوى البكسلات للصور الرمادية: /* Imالصورة المنسية= pIplImage =الصورة القديمة qImage = الصورة الجديدة */ IplImage* im=cvLoadImage("c:/try/c1.png");// تحميل الصورة الى "الصورة المنسية" IplImage* pIplImage=cvCreateImage(cvSize(im->width,im->height),im->depth,1);//انشاء "الصورة القديمة" على انها رمادية cvCvtColor(im,pIplImage,CV_BGR2GRAY);//عملية نسخ "الصورة المنسية" وتحويلها الى رمادي وحفظها في "الصورة القديمة" int w = pIplImage->width;// الحصول على العرض من "الصورة القديمة" int h = pIplImage->height;//الحصول على الارتفاع من "الصورة القديمة" Qimage qImage = QImage(w, h, QImage::Format_RGB32);//انشاء "الصورة جديد" وفقا لعرض وارتفاع "الصورة القديمة" for(int x = 0; x < pIplImage->width; ++x) { //يتم قراءة البكسلات عامود تلو الآخر for(int y = 0; y < pIplImage->height; ++y) { CvScalar color = cvGet2D(pIplImage, y, x); // x و y الحصول على بيانات البكسل من "الصورة القديمة" وفق الاحداثيات int v = color.val[0]; qImage.setPixel(x, y, qRgb(v,v,v));//نسخ البكسل الرمادي إلى "الصورة الجديدة" } } تنبيه : يتوفر في الملف المرفق QtCv دالة لنسخ الصور على مستوى البكسلات سواء الرمادية أو الملونة يفضل ان تطلع عليها . ملاحظة: في الاصدار الثاني من مكتبة openCV قد تواجهك ان بعض الدوال قد لاتعمل مع ال slots أمثال cvCvtColor في هذه الحال لديك مجموعة حلول منها : إنشاء thread داخل ال slot لتنفيذ العملية أو استخدم QtConcurrent::run() او انتقل الى openC V الإصدار الأول . المرفقات ملاحظة أخيرة : لم أتطرق لطريقة تثبيت المكتبة مع Qt لانها مشابهة لمعظم المكتبات ان لم تكن اسهل . والسلام عليكم ورحمة الله وبركاته .
  8. وعليكم السلام ورحمة الله وبركاته اعتقد انه يجب ان تستبدل class asci : QWidget الى class asci :public QWidget
  9. التعديل على ملف نصي

    وعليكم السلام ورحمة الله وبركاته كيف الحال .. راح تحتاج تقرأ الملف بالكامل ثم تسوي بعض العمليات بال regular expression ثم تعيد كتابة البينات في الملف بالكامل ولقد فعلتها بالفعل وفقا لطريقة صياغة الملف الا موجود في مشاركتك void setValue (QString f,QString domain,QString type,QString item,QString value) { QFile file(f); file.open(QIODevice::ReadOnly); QString data=file.readAll();//قرأت الملف بالكامل file.close(); QRegExp reg(domain+QString("\\s*")+type+QString("\\s*")+item+QString("\\s*")+QString("\\d+"));//يبحث عن نص وفق تستلسل منطقي reg.indexIn(data);//بدأ البحث QString str=reg.capturedTexts().at(0);//حصلنا على النص المتشابه QString str1=str;//نخزن النص في متغير آخر لاجراء بعض العمليات str1.replace(QRegExp("\\d+"),value);//نستبدل القيمة الحالية بالقيمة الجديدة data.replace(str,str1);//نستبدل السطر الجديد بالسطر القديم في الملف file.open(QIODevice::WriteOnly | QIODevice::Text); file.write(data.toUtf8 ());//اعدنا كتابة النص في الملف file.close(); } التجربة int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); setValue("c:/try/limits.conf","\\*","soft","core","77"); qDebug()<<"the end"; return a.exec(); } وتغيرت القيمة للتي اريدها انظر الصورة في المرفقات أي استفسار تجدني في الخدمة .
  10. السلام عليكم ورحمة الله وبركاته برنامج الرسم الشهير Autodesk Maya الذي انتج بواسطته فلم avatar . يعلن ان نسخته maya 2011 سوف يتم بناءها باستخدام Qt للمزيد...
  11. وعليكم السلام ورحمة الله وبركاته Qt ليست لغة برمجة بل هي مكتبة برمجية تستخدم مع cpp وpython وjava و... . الله يوفقك
  12. انا استخدم طريقة الشهادات في كثير من المواقع تسمح لك بشرائها منها كاش يو http://www.cashu.com/site/findResellersInfo المشكلة في كاش يو العمولة المرتفعة :mad:
  13. المشكلة أنه يجب أن احول الكتاب الى العراق ولم أفعلها من قبل فلست اعلم هل أستطيع أم لا . عموما استخدم خدمة أرامكس موجود لها مكتب في بغداد وأربيل وهي التي أستخدمها في الشحن http://www.aramex.com/offices/Default.aspx ادخل الرابط في الأعلى واتصل بهم واستفسر عن خدمة shop & ship هذه الخدمة تفتحلك صندوق بريد في المملكة المتحدة وامريكا واي بضاعة تصل هناك يقوم أرامكس بشحنها لك الى بغداد او أربيل حسب مكاتبهم . اتمنى اني اكون أفدتك .
  14. فقط متوفرة في نسخ ورقية .
  15. آمين وفي الجميع. بداية سنة 2010 صدرت 4 كتب 2 منها تتكلم عن برمجة الأجهزة الكفية والجوالات تصلها في أمازون .