افزودن نویز گاوسی به تصویر در پایتون

توی پردازش تصویر نویز گاوسی مثل یک بنچ‌مارک می‌مونه، استاد من که قویا اعتقاد داره  اگر در برابر نویز گاوسی مقاوم باشیم بقیه‌ی نویز‌ها (مثل نمک و فلفل و …) مشکل خاصی ایجاد نمی‌کنن، ما هم به حرفش اعتماد می‌کنیم 😉

پس بیاید در ادامه‌ی این نوشته یک مقدار نویز گاوسی در پایتون ایجاد کنیم و اونو بریزیم توی تصویر، چرا که نه؟!

Continue Reading

نمایش دو تصویر به صورت افقی یا عمودی در کنار هم در یک پنجره‌ی OpenCV

خیلی وقت‌ها پیش میاد که دوست داریم  دو یا چند تصویر رو در یک پنجره‌ی OpenCV  در کنار هم نمایش بدیم، مثلا می خواهیم تصویر اصلی رو در کنار تصویر نویزی ببینیم.

به شکل خیلی جالبی خود دستور imshow کتابخانه‌ی OpenCV این امکان رو در اختیامون قرار نمی‌ده، اما به همین نسبت راه‌حل هم آسونه!

در ادامه یک تابع خیلی ساده می‌نویسیم که بیاد و دوتا عکس رو درکنار هم برامون نمایش بده، دقیقا همین روش رو برای چندتا تصویر هم می‌تونیم بکار ببریم.

Continue Reading

معرفی AlexNet و یا: زمانی که یادگیری عمیق رسما متولد شد.

سال ۲۰۱۲ آقای Alex Krizhevsky به همراه Ilya Sutskever و  Geoffrey E. Hinton مقاله‌ای ۸ صفحه‌ای منتشر می‌کنن که عنوانش هست “ImageNet Classification with Deep Convolutional Neural Networks” و با معرفی AlexNet دروازه‌ی ورود به نارنیان رو  جلو راه پژوهشگران بینایی ماشین قرار می‌دن.

در اون زمان AlexNet رو روی مسابقه‌ی  ImageNet تست کردن و با CNN که طراحی کرده بودن میان  و Top-5 error rate رو به ۱۵٫۳٪ کاهش می‌دن، در حالی که خطای نزدیک‌ترین رقیب اون‌ها ۲۶٫۲٪ بوده.

و این اختلاف فاحش بود پژوهش‌گرها رو متوجه کاربرد یادگیری عمیق در پردازش تصویر کرد. و میشه گفت با  AlexNet  یادگیری عمیق متولد شد!*

*نه که قبلا نبوده اماAlexNet اولین کاربرد و نمایش برتری شبکه‌های ژرف هست.

در ادامه این نوشته مروری خواهیم داشت بر معماری یکی از معروف‌ترین شبکه‌‌های عصبی عمیق: AlexNet و  با هم مفاهیمی که در اون مقاله مطرح شده‌اند رو بررسی می‌کنیم.

Continue Reading

تابوت خندان! بیاید با کمک پایتون یک بات برای بازی تراوین بنویسیم.

چندهفته‌ی پیش در اخبار خواندم که بازی تراوین قراره آپدیت بشه و به زودی سرور جدید بازی شروع می‌شه، ترواین بازی دوران اینترنت دایل‌آپ ما هست و نسبت بهش یک حس نوستالژی دارم. این خبر رو وقتی دیدم که داشتم PyAutoGUI رو یاد می‌گرفتم و خوب گیک/نرد از خدا چه می‌خواد؟ یک پروژه‌ی جذاب! تصمیم گرفتم تا با کمک پایتون یک بات برای بازی تراوین بنویسم.

اسم اکانتی که در بازی ترواین ساختم «LaughingCoffin» بود و طبیعتا اسم پروژه‌ی بات تراوین رو هم «LaughingCoffin» گذاشتم.
در این پست به دلایل اخلاقی نه کل کدهای اون بات بلکه ابزارهایی که ازشون برای نوشتن تابوت خندان استفاده کردم رو توضیح خواهم داد.

Continue Reading

تنظیم Raspberry Pi جهت دریافت Static IP

دفعه‌ی اولی که رازبری‌پای رو روشن می‌کنیم یکی از کارهای مهمی که باید انجام بشه اینه که Raspberry Pi رو تنظیم کنیم تا Static IP بگیره.

چرا این کار لازمه؟

ما می‌خواهیم SSH و یا VNC بزنیم به رزبری‌پای و برای این کار بهتره آدرس IP رازیری‌پای ثابت باشه، قرار نیست بعد از هربار ری‌استارت مودم و یا رازبری‌پای موس و کیبرد دست بگیرم بریم سراغ رازبری‌‌پای تا IPش رو پیدا کنیم:)

پس همینطور که از عنوان و توضیحاتی که دادم مشخصه در ادامه‌ی این نوشته قراره با هم یاد بگیریم چطور به رزبری‌پای یک IP ثابت اختصاص بدهیم.

Continue Reading

راه اندازی ماژول RC522 در آردوینو − قسمت اول: ایجاد یک گیت عبور و مرور ساده با RFID

در این نوشته و نوشته‌ی بعد مرور سریعی خواهیم داشت بر روی اینکه RFID چیه و کجاها کاربرد داره و بعد یاد می‌گیریم چطور ماژول RC522 رو در آردوینو راه اندازی کنیم و به وسیله‌ی اون اطلاعات کارت‌های Mifare رو بخونیم.

در این پست آموزشی:

  • مقدمه‌‌ای بر روی ماژول RC522 و  تگ‌های RFID خواهیم داشت و یاد می‌گیرم که چطور کتابخانه‌های لازم برای کار با ماژول RC522 رو نصب کنیم.
  • یاد می‌گیرم که UID چیه و چطور اون رو بخونیم.
  • و در انتها یک گیت عبور و مرو خیلی خیلی ساده با استفاده از RFID می‌سازیم.

و در پست آموزشی بعد:

  • مروری خواهیم داشت بر روی بلوک‌های ذخیره اطلاعات در تگ‌های Mifare.
  • یاد می‌گیریم چطور اطلاعاتمون رو بر روی تگ‌های Mifare ذخیره و بازیابی کنیم.
Continue Reading

سلام ESP8266! برنامه‌ی یک چشمک‌زن ساده با ESP8266

برنامه‌ی Hello World در دنیای میکروکنترلرها می‌شه نوشتن یک چشمک‌زن ساده، هدف از این برنامه دوتا چیزه:

۱- مطمعن بشیم که همه‌ی نرم‌افزارها و کتابخانه‌های مورد نیاز رو درست نصب کردیم و می‌تونیم یک کد فوق‌العاده ساده رو بنویسم، کامپایل کنیم و به میکروکنترلرمون منتقل کنیم.

۲- مطمعن شیم میکروکنترلری که داریم سالمه و به اصطلاح زنده‌س!

در این پست با هم یاد می‌گیرم که چطور اولین برنامه‌مون رو برای ESP8266 بنویسم و این برنامه چیزی نیست جز روشن و خاموش کردن یک LED.

[این نوشته یکی از آموزش‌های پروژه‌ی نارنگی است، برای دیدن اطلاعات بیشتر در مورد پروژه و سایر آموزش‌ها به +این‌جا مراجعه کنید.]

Continue Reading

آماده سازی محیط‌های توسعه برای برنامه‌نویسی ESP8266

در این آموزش با هم یاد می‌گیریم که چطور VSCode و Arduino Software (IDE) رو در ubuntu نصب کنیم و اون‌ها رو برای برنامه‌نویسی ESP8266 آماده کنیم.

[این نوشته یکی از آموزش‌های پروژه‌ی نارنگی است، برای دیدن اطلاعات بیشتر در مورد پروژه و سایر آموزش‌ها به +این‌جا مراجعه کنید.]

Continue Reading