افزایش کنتراست یک تصویر، با دستور histeq ، در متلب (MATLAB)
دستور histeq در متلب (MATLAB)، برای افزایش کنتراست یک تصویر به کار می رود. چنانچه مقادیر مربوط به رنگ های به کار رفته در یک تصویر را مشاهده کنیم (این کار با دستور imhist در متلب، امکان پذیر می باشد)، آنگاه ممکن است که بخشی از رنگ ها، به مقدار زیاد، در تصویر به کار رفته باشند و بخشی دیگر، کمتر در تصویر باشند. افزایش کنتراست، باعث می شود که میزان به کار رفتن رنگ های مختلف، به هم نزدیکتر شود و دیگر تفاوت زیادی که ذکر شد، وجود نداشته باشد.
به مثال زیر توجه کنید :
نتیجه :
تصویر اصلی :
تصویر پس از افزایش کنتراست :
sa سلام.خواهش می کنم کمک کنید.خیلی عجله دارم ....
من وقتی از histeq استفاده می کنم ارور زیرو می گیرم:
کدم اینه:
<?php
function histequal()
inp=imread('couple.contrast.5.png');
inp=rgb2gray(inp);
histeq(inp);
end
admin سلام.
شما کدها را به شکل تعریف تابع (function) نوشته اید، در صورتی که کد تعریف تابع نمی تواند به صورت مستقیم اجرا شود و تنها باید در یک m-file دیگر، به تابع ارجاع داده و کد موجود در آن m-file اجرا شود (البته دقیقا نگفتید که همین کد را اجرا می کنید یا نه، ولی به هر حال حدس زدم که شاید این مورد را اشتباه انجام داده اید).
بنابراین اگر بحث تعریف تابع را کاملا کنار بگذاریم، کافی است که تنها همین بخش از کد متلب (MATLAB) خود را اجرا نمایید :
<?php
inp=imread('couple.contrast.5.png');
inp=rgb2gray(inp);
histeq(inp);
همچنین اطمینان حاصل کنید که عکس مورد نظر در یکی از مسیرهای تعریف شده در متلب (MATLAB) قرار گرفته باشد تا متلب (MATLAB) آن را بیابد.
در نهایت، اگر برایتان مهم بود که اجرای کدها توسط یک تابع صورت گیرد، کلید زیر را در مورد نحوه تعریف توابع و چگونگی استفاده از آنها را بخوانید :
کلید شماره 15
اگر با وجود رعایت این نکات، باز هم با خطا روبرو شدید، عکسی دیگر را امتحان کنید.
شیما
hengame.r
حمیده