کلیدستان

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


کد:
clear all
close all
clc

your_image=imread('logo.jpg');
your_image=rgb2gray(your_image)
imshow(your_image)

image_new=255-your_image;
figure
imshow(image_new)


ابتدا عکس سیاه و سفیدی که پیوست شده است را دریافت کنید یا اینکه نام عکس مورد نظر خود را در کدها بنویسید .
سه خط اول کدها برای این است که برنامه ای که نوشتیم با برنامه های قبلی اجرا شده در متلب تداخلی نداشته باشند . دستور imread برای خواندن عکس مورد نظر ما به کار رفته است . دقت کنید که عکس حتما باید در فولدر مربوط به Current Folder قرار داشته باشد .
دستور rgb2gray برای آن است که روش تعیین رنگ rgb برای عکس را به gray تبدیل کنیم که در واقع تبدیل نحوه کددهی عکس ها از رنگی به سیاه و سفید است . زیرا در rgb برای هر پیکسل عکس ، سه مقدار تعریف می شود اما در gray برای هر پیکسل تنها یک مقدار (یک عدد از 0 تا 255) تعریف می شود .
دستور imshow برای نمایش عکس مورد نظرمان به کار می رود که نتیجه آن برای عکس اولیه چنین است :


[عکس: forum_1.jpg]


اکنون باید مقدار مربوط به رنگ سفید (یعنی عدد 255) را به مقدار رنگ سیاه (یعنی عدد 0) تبدیل کنیم و برای این منظور دستور your_image=255-your_image را نوشته ایم . بنابراین هر چه رنگ هر پیکسل عکس به سفید مطلق (255) نزدیکتر باشد ، پس از تبدیل ، به سیاه مطلق (0) نزدیکتر خواهد بود و اینگونه شدت های مختلف سیاه و سفید بودن به یکدیگر تبدیل می شوند .
عکس جدید به صورت زیر خواهد بود :


[عکس: forum_2.jpg]


امیدوارم مفید بوده باشه . Smile