انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: eshahnazi در 04 شهریور 1395، 06:11 بظ
-
سلام
کاراصلی برنامه:
نوشتن و ترسیم اشکال توسط حرکت مردمک چشم.
روند کار برنامه:
1- تسشخیص صورت
2- تقسیم صورت به دو قسمت چپ و راست
3- تشخیص چشم
4- تشخیص مردمک
5- رهگیری مردمک
6- ارسال مختصات مرکز مردمک به کرسر موس
کدها رو از گیتهاب زیر میتونید دانلود کنید.
https://github.com/Ehsan-Shahnazi/EyeWriter (https://github.com/Ehsan-Shahnazi/EyeWriter)
برنامه به زبان c++ نوشته شده است.
پیش نیازها:
کتابخانه opencv
راهنمای اجرای کدها:
1-دانلود کد
https://github.com/Ehsan-Shahnazi/EyeWriter
2- دانلود و نصب کتابخانه opencv
[url=http://bir-robotic.ir/blog/2015/07/31/%d9%86%d8%b5%d8%a8-%d8%a7%d9%be%d9%86-%d8%b3%db%8c-%d9%88%db%8c-%d8%b7%d8%b1%db%8c%d9%82-%d9%85%d8%ae%d8%a7%d8%b2%d9%86/]http://bir-robotic.ir/blog/2015/07/31/%d9%86%d8%b5%d8%a8-%d8%a7%d9%be%d9%86-%d8%b3%db%8c-%d9%88%db%8c-%d8%b7%d8%b1%db%8c%d9%82-%d9%85%d8%ae%d8%a7%d8%b2%d9%86/] (http://[/url)
2- دانلود و نصب کتابخانه opencv
http://bir-robotic.ir/blog/2015/07/31/%d9%86%d8%b5%d8%a8-%d8%a7%d9%be%d9%86-%d8%b3%db%8c-%d9%88%db%8c-%d8%b7%d8%b1%db%8c%d9%82-%d9%85%d8%ae%d8%a7%d8%b2%d9%86/ (http://bir-robotic.ir/blog/2015/07/31/%d9%86%d8%b5%d8%a8-%d8%a7%d9%be%d9%86-%d8%b3%db%8c-%d9%88%db%8c-%d8%b7%d8%b1%db%8c%d9%82-%d9%85%d8%ae%d8%a7%d8%b2%d9%86/)
و یا
http://bir-robotic.ir/blog/2016/07/18/%d9%86%d8%b5%d8%a8-%d9%85%d8%a7%da%98%d9%88%d9%84-%d9%87%d8%a7%db%8c-%d8%a7%d8%b6%d8%a7%d9%81%db%8c-opencv/ (http://bir-robotic.ir/blog/2016/07/18/%d9%86%d8%b5%d8%a8-%d9%85%d8%a7%da%98%d9%88%d9%84-%d9%87%d8%a7%db%8c-%d8%a7%d8%b6%d8%a7%d9%81%db%8c-opencv/)
3- دانلود و نصب برنامه eclipse
4- اماده سازی eclipse
http://bir-robotic.ir/blog/2015/08/14/%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-%d8%a7%da%a9%d9%84%db%8c%d9%be%d8%b3-%d8%a8%d9%87-%d8%b9%d9%86%d9%88%d8%a7%d9%86-%da%a9%d8%a7%d9%85%d9%be%d8%a7%db%8c%d9%84%d8%b1-opencv/ (http://bir-robotic.ir/blog/2015/08/14/%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-%d8%a7%da%a9%d9%84%db%8c%d9%be%d8%b3-%d8%a8%d9%87-%d8%b9%d9%86%d9%88%d8%a7%d9%86-%da%a9%d8%a7%d9%85%d9%be%d8%a7%db%8c%d9%84%d8%b1-opencv/)
5- اجرای کد
**نکته مهم:
*حرکت کرسر موس مقداری مشکل دارد که شاید به علت مناسب نبودن الگوریتم انتخاب شده برای تشخیص مردمک باشد که در این صورت ممنون میشم من رو راهنمایی کنید. من برای تشخیص مردمک از هاف دایره ای استفاده کردم.
*شاید هم کدهای مربوط به حرکت کرسر موس نیاز به ویرایش داشته باشند که بازهم ازتون میخوام اگر پیشنهادی داشتید اعلام کنید.
مراجع:
1- http://docs.opencv.org/ (http://docs.opencv.org/)
2-ویدیو اموزشی اپن سی وی -مدرس: الهام شعبانی نیا.http://faradars.org/courses/fvimg9405-opencv (http://faradars.org/courses/fvimg9405-opencv)
3-http://www.bir-robotic.ir/ (http://www.bir-robotic.ir/)
4-سوال و جواب ها در http://answers.opencv.org/ (http://answers.opencv.org/)
5-سوال و جواب ها در http://stackoverflow.com/ (http://stackoverflow.com/)
6-https://github.com/RationalAsh/opencv_mouse_control/blob/master/main.cpp (https://github.com/RationalAsh/opencv_mouse_control/blob/master/main.cpp)
7-http://opencvexamples.blogspot.com (http://opencvexamples.blogspot.com)
8-http://www.learnopencv.com/ (http://www.learnopencv.com/)
9-opencv-srf.blogspot.com (http://opencv-srf.blogspot.com)
10-http://www.semicomplete.com/projects/xdotool/xdotool.xhtml (http://www.semicomplete.com/projects/xdotool/xdotool.xhtml)
ممنون.
شهنازی
-
من برای اینکه بخوام یه فایل .deb برای این پروژه بسازم باید چکار کنم.
آیا با ساخت فایل .deb دیگه نیازی نیست افرادی که از این برنامه استفاده می کنند کتابخانه opencv رو نصب کنند؟
-
این لینک رو مطالعه کنید: لینک (https://www.debian.org/doc/manuals/maint-guide/index.en.html)
-
برنامه eclipse افزونه یا چیزی برای گرفتن خروجی واسه دبیان نداره؟
-
سلام
کد قبلی رو یه مقدار ویرایش کردم ضمن اینکه کلا یه کد جدیدی نوشتم....که تقریبا خوب کار میکنه. لا اقل برای فیلمی که به صورت نمونه تست کردم جواب قابل قبولی داد.
در این فیلم حرکت کرسر موس و چشم ها همزمان نشون داده شده.
http://www.aparat.com/v/2MXfd (http://www.aparat.com/v/2MXfd)
تو این فیلم با حرکت چشم یه نقاشی طوری میکشم ..البته با همون فیلم تست بالایی هست که به این صورت که در فیلم میبینید در میاد...این مورد برای بازاریابی که ببیند مشتری نظرش به کدوم جنس جلب شده یا کجای سایت براش جذابتره به کار میره...البته نیتم برای افراد معلول بوده و دلیل منتشر کردن کد هم اگر 100 درصد نباشه 80 درصدش برای کمک به این افراد است. ضمن اینکه گسترش پروژه های متن باز هم برام مهمه. ;D
http://www.aparat.com/v/hitjX (http://www.aparat.com/v/hitjX)
کدهای این پروژه اینجاست
https://github.com/Ehsan-Shahnazi/eye-writer-offline (https://github.com/Ehsan-Shahnazi/eye-writer-offline)
در داخل فایل زیپ علاوه بر کد...همین فیلم تست و فایل تنظیمات ایکلیپس هم هست....البته ناگفته نماند باید کتابخانه opencv رو سیستم نصب باشه.
این سایت برای این پروژه راه اندازی شده است..... www.CheshmNevis.ir (http://www.CheshmNevis.ir) ....
با تشکر
-
سلام
کد قبلی رو یه مقدار ویرایش کردم ضمن اینکه کلا یه کد جدیدی نوشتم....که تقریبا خوب کار میکنه. لا اقل برای فیلمی که به صورت نمونه تست کردم جواب قابل قبولی داد.
در این فیلم حرکت کرسر موس و چشم ها همزمان نشون داده شده.
http://www.aparat.com/v/2MXfd (http://www.aparat.com/v/2MXfd)
تو این فیلم با حرکت چشم یه نقاشی طوری میکشم ..البته با همون فیلم تست بالایی هست که به این صورت که در فیلم میبینید در میاد...این مورد برای بازاریابی که ببیند مشتری نظرش به کدوم جنس جلب شده یا کجای سایت براش جذابتره به کار میره...البته نیتم برای افراد معلول بوده و دلیل منتشر کردن کد هم اگر 100 درصد نباشه 80 درصدش برای کمک به این افراد است. ضمن اینکه گسترش پروژه های متن باز هم برام مهمه. ;D
http://www.aparat.com/v/hitjX (http://www.aparat.com/v/hitjX)
کدهای این پروژه اینجاست
https://github.com/Ehsan-Shahnazi/eye-writer-offline (https://github.com/Ehsan-Shahnazi/eye-writer-offline)
در داخل فایل زیپ علاوه بر کد...همین فیلم تست و فایل تنظیمات ایکلیپس هم هست....البته ناگفته نماند باید کتابخانه opencv رو سیستم نصب باشه.
این سایت برای این پروژه راه اندازی شده است..... www.CheshmNevis.ir (http://www.CheshmNevis.ir) ....
با تشکر
درود به شما و خسته نباشید
-
مراجع به پست اول اضافه شد.
-
برای طراحی رابط گرافیکی برای این کدهایی که نوشتم باید از کجا شروع کنم؟
( زبان سی ++ و ایکلیپس)
-
میتونید از gtkmm یا Qt استفاده کنید.
-
آقا سایتت بالا نمییاد
-
آقا سایتت بالا نمییاد
سلام
هنوز وقت نکردم راه اندازیش کنم.
-
میتونید از gtkmm یا Qt استفاده کنید.
سلام
مزایا و معایب هر کدوم رو میتونید لیست کنید؟
بچهای اینجا بیشتر با کدوم کار میکنند که اگر به مشکلی خوردم با مطرح کردنش در فروم سریع به جواب برسم؟
-
فرقی نداره، من خودم بیشتر از gtkmm استفاده میکنم.
-
فرقی نداره، من خودم بیشتر از gtkmm استفاده میکنم.
راهنمایی برای شروع یادگیری به زبان فارسی یا انگلیسی روان میتونید معرفی کنید؟
-
لینک (https://developer.gnome.org/gtkmm-tutorial/stable/)
-
لینک (https://developer.gnome.org/gtkmm-tutorial/stable/)
ممنون
درباره پسوند .appimage هم میتونید توضیح بدید و اینکه چطور باید همچین فایلی برای برنامه ایجاد کرد. تشکر
-
فرقی نداره، من خودم بیشتر از gtkmm استفاده میکنم.
اگر ممکن هست کدهای مربوط به یک برنامه ساده که انواع دکمه ها و منوهای مختلف رو داره توی انجمن بگذارید و یه توضیح مختصر بدید دربارش.
برای هر دکمه و منو باید یک فایل هدر نوشت؟ این هدرها از قبل نوشته شده اند و صرفا اگر نیاز به شخصی سازی خاصی داشتیم باید تغییرشون بدیم؟
مثلا برای اضافه کردن دکمه باید از هدر buttons.h استفاده کرد؟ اگر چندتا دکمه خواستم تو برنامه باشه باید چکار کنم؟
برنامه Glade چه کاری انجام میده؟ چطور باهاش کار میکنند؟
https://glade.gnome.org/ (https://glade.gnome.org/)
anjuta چی؟
http://anjuta.org/ (http://anjuta.org/)
تشکر