افزایش کنتراست یک تصویر با دستور histeq در متلب
دستور histeq در متلب، برای افزایش کنتراست یک تصویر به کار می رود. چنانچه مقادیر مربوط به رنگ های به کار رفته در یک تصویر را مشاهده کنیم (این کار با دستور imhist در متلب، امکان پذیر می باشد)، آنگاه ممکن است که بخشی از رنگ ها، به مقدار زیاد، در تصویر به کار رفته باشند و بخشی دیگر، کمتر در تصویر باشند. افزایش کنتراست، باعث می شود که میزان به کار رفتن رنگ های مختلف، به هم نزدیکتر شود و دیگر تفاوت زیادی که ذکر شد، وجود نداشته باشد. به مثال زیر توجه کنید :
close all
clc
img=imread('image.jpg');
img=rgb2gray(img);
imshow(img);
figure
histeq(img);
نتیجه :
تصویر اصلی :
تصویر پس از افزایش کنتراست :
سلام.خواهش می کنم کمک کنید.خیلی عجله دارم ....
من وقتی از histeq استفاده می کنم ارور زیرو می گیرم:
کدم اینه:
سلام.
شما کدها را به شکل تعریف تابع (function) نوشته اید، در صورتی که کد تعریف تابع نمی تواند به صورت مستقیم اجرا شود و تنها باید در یک m-file دیگر، به تابع ارجاع داده و کد موجود در آن m-file اجرا شود (البته دقیقا نگفتید که همین کد را اجرا می کنید یا نه، ولی به هر حال حدس زدم که شاید این مورد را اشتباه انجام داده اید).
بنابراین اگر بحث تعریف تابع را کاملا کنار بگذاریم، کافی است که تنها همین بخش از کد متلب (MATLAB) خود را اجرا نمایید :
همچنین اطمینان حاصل کنید که عکس مورد نظر در یکی از مسیرهای تعریف شده در متلب (MATLAB) قرار گرفته باشد تا متلب (MATLAB) آن را بیابد.
در نهایت، اگر برایتان مهم بود که اجرای کدها توسط یک تابع صورت گیرد، کلید زیر را در مورد نحوه تعریف توابع و چگونگی استفاده از آنها را بخوانید :
اگر با وجود رعایت این نکات، باز هم با خطا روبرو شدید، عکسی دیگر را امتحان کنید.
سلام ببخشید من اگر بخوام یک تصویر رنگی رو هیستوگرامش رو متعادل کنم و خروجی هم تصویر رنگی باشه راه حلی داره؟ یا فقط باید تصویر رو خاکستری بکنم؟
با سلام.من در ران کردن دستور histeq با مشکل مواجه شدم.عکس های متفاوت رو هم امتحان کردم حتی کد های خود متلب رو هم امتحان کردم همچنان ارور میده و نمیدونم دیگه چیکار باید بکنم لطفا منو راهنمایی کنید.باتشکر
error: attempt to execute SCRIPT histeg as a function
سلام
وقت بخیر
اگر بخوایم تابع contrast histogram رو داخل متلب پیاده سازی کنیم روی ی عکس چطوری باید انجام بدیم؟