ساخت تصویر معکوس در پایتون (Mirror Image)

در این قسمت تیم کدگیت را با آموزش ساخت تصویر معکوس در پایتون همراهی کنید. در آموزش‌های گذشته پردازش تصویر مبانی خواندن یک عکس در پایتون بیان شد در این قسمت ابتدا الگوریتم ساخت تصویر معکوس در پایتون را تشریح می‌کنیم سپس به پیاده‌سازی این الگوریتم می‌پردازیم. همچنین پیشنهاد می‌کنیم قبل از مطالعه این جلسه، آموزش‌های زیر را مطالعه کنید:

  1.  خواندن تصاویر در پایتون
  2. حلقه for در پایتون
  3. لیست در پایتون
  4. توابع در پایتون

ساخت تصویر معکوس

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

  1. ابعاد تصویر ورودی را بدست آوریم.
  2. یک تصویر به اندازه تصویر ورودی ایجاد کنیم. این تصویر را تصویر معکوس یا ثانویه نامگذاری می‌کنیم.
  3. مقادیر  ARGB (Alpha, Red, Green and Blue)، را از تصویر اولیه (به ترتیب چپ به راست) بدست اورید.
  4. در تصویر معکوس یا ثانویه (به ترتیب راست به چپ) ،  ARGB (Alpha, Red, Green and Blue)آنها را قرار دهید.
  5. مراحل 4 و5 را برای هریک از پیکسل های تصویر تکرار کنید.
ساخت تصویر معکوس در پایتون

پیاده‌سازی ساخت تصویر معکوس در پایتون

همانطور که در قسمت قبل گفته شد برای پیاده سازی تصویر معکوس، پیکسل‌های تصویری را از چپ به راست خوانده و در تصویر جدیدی از راست به چپ می‌ریزیم. برای پیاده سازی دو متغیر lx و rx را در نظر می‌گیریم. Lx اشاره‌گر به پیکسل‌های تصویر اصلی است و rx اشاره‌گر به تصویر معکوس ما.

بیشتر بخوانید:  تبدیل قرمز رنگ در جاوا (پردازش تصویر)

ابتدا lx عدد صفر و rx به اندازه عرض تصویر ما است. با حرکت lx به سمت راست (خواندن تصویر اصلی) یکی از rx کم می‌شود. دقت کنید به ازای حرکت یک پیکسل به lx یکی اضافه می‌شود و از rx کم می‌شود. کد پیاده‌سازی این الگوریتم به صورت زیر است:

ورودی کد بالا به صورت زیر است:

ساخت تصویر معکوس در پایتون

خروجی برنامه به صورت زیر است:

ساخت تصویر معکوس در پایتون

 پسورد فایل: www.codegate.ir

اگر سوالی در خصوص این آموزش دارید در قسمت کامنت قرار دهید تا ما شما را راهنمایی کنیم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *