منو
 کاربر Online
430 کاربر online
 : کامپیوتر
برای پاسخ دادن به این ارسال باید از صفحه قبلی اقدام کنید.   کاربر offline دبیر گروه کامپیوتر 3 ستاره ها ارسال ها: 1679   در :  پنج شنبه 30 دی 1389 [07:23 ]
  روباتیک و پردازش تصویر- ( قسمت 4)
 

در مقاله قبلی با ساختار کلی فایل های تصویری و چگونگی قرار گرفتن بیت ها و بایت ها درون یک پیکسل، آشنا شدیم. در اینجا قبل از آغاز کار بر روی موضوع روباتیک، مثال مخفی نمودن متون محرمانه در یک فایل تصویری را بصورت عملی در دو زبان برنامه نویسی مرور می کنیم. زبان ها استفاده شده برای آموزش زبان های Delphi و C++ Builder هستند که در هر محصول شرکت Borland بشمار می روند و بعنوان بهترین انتخاب برای کار روباتیک در جهان بکار می روند.
در مثال هایی که پیش روی خواهیم داشت، علاوه بر جذاب بودن آنها، تمامی مفاهیم پردازش تصویر را بصورتی مملوس از نظر خواهیم گذراند. در پایان این مقاله شما مقوله پردازش تصویر را تماما درک نموده و با ابزارهای آن آشنایی پیدا خواهید نمود.


در اینجا مناسب می دانم که نیم نگاهی به برنامه بیندازیم تا با متد فعالیت، آشنایی لازم را کسب نموده و مراحل برنامه را بصورت سلیسی دنبال کنیم. بمنظور مرور بخش های گذشته، مراحلی را که می بایست انجام گیرند با هم مرور می کنیم.

به شکل 1 که برنامه آموزشی ما با آن شروع می شود، توجه کنید .

تصویر


شکل 1 : رابط گرافیگی برنامه الگو



با اجرای برنامه، فایل تصویری `Sample.bmp` بصورت پیش فرض در قسمت Original Image نشان داده می شود. بعد از نوشتن متن محرمانه خود در قسمت Secret Message و زدن دکمه Encode، متن نوشته شده در درون تصویر جاسازی شده، و تصویر حامل متن در قسمت Image With Text قابل مشاهده است. بعد از این کار، در صورتیکه دکمه Decode را فشار دهید، متن جاسازی شده در تصویر، در قسمت Decoded Message نمایش داده می شود.

تصویر

تصویر

تصویر


شکل 2 : مراحل کار از بالا به پایین



حال که با شیوه کار برنامه آشنا شدید، عملیاتی را که در این برنامه انجام می شود مرورمی کنیم.


مراحل و عملیاتی که با فشار دادن دکمه Encode انجام می پذیرد:


• تبدیل حروف نوشته شده در قسمت Secret Message به قالب کدهای ASCII

• قرار دادن کد اسکی معادل هر کاراکتر در خانه های آرایه ای بنام letters.

• تقسیم کاراکترها به قسمتهای دو بیتی و قرار دادن هر دو بیت در یکی از خانه های آرایه dividedLetters بصورت جداگانه

• توزیع دو بیتی ها در دو بیت کم ارزش هر یک از بایتهای تصویری (هر پیکسل توانایی ذخیره سه قسمت دو بیتی را در خود دارد، یعنی شش بیت)



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



حال در اینجا توضیحات مکمل را همراه با کد برنامه مشاهده می نمایید.



حال در اینجا توضیحات مکمل را همراه با کد برنامه مشاهده می نمایید.

  امتیاز: 0.00