![[تصویر: pardazesh_tasvir.jpeg]](http://terip3000.persiangig.com/IRANVIG/pardazesh_tasvir.jpeg)
به توجه به اهمیت پردازش تصویر سعی شده درباره الگوریتم های پردازش تصویر بحث شود و از هیچ نرم افزار آماده مانند متلب استفاده نشده است !
در
قسمت اول و
قسمت دوم به بهبود دامنه رنگی یا color adjustment و مباحث مربوطه و چند کد مرتبط می پردازیم .
ادامه مطلب
آموزش پردازش تصویر و بررسی الگوریتم های آن
قسمت اول(مقدمه) و قسمت دوم (بهبود دامنه رنگی یا color adjustment) هر دو یک جا پیوست شدند.
در مقاله فوق به مباحث زیر می پردازیم :
کد:
Brightness
RGB Channels
Contrast
Histogram
Gamma Correction
RGB Gamma Correction
Spatial Frequency Filtering
-Low Pass fliter
-High Pass fliter
-Median fliter
-Convolution Masks
Edge Detection
-Sobel
-Laplace
یقین دارم که مقاله خالی از اشکال نیست، پس اگه موردی رو دیدین حتما در
این تایپیک مطرح کنید .
مقاله فوق را در پیوست دریافت کنید :
صالح جان ادامه نمی دی
میشه در مورد تشخیص رنگ مطلب بذاری استفاده کنیم
مثلا رنگ سیاه سفید از هم تشخیص بده
سلام میشه راجع به کد های این مقاله بیشتر توضیح بدین ؟
خواهشن در مورد کدها و الگوریتمهای این مقاله بیشتر توضیح بدین!
(۳۰-بهمن-۱۳۸۹, ۱۱:۳۲:۵۹)naeimeh نوشته است: [ -> ]خواهشن در مورد کدها و الگوریتمهای این مقاله بیشتر توضیح بدین!
سلام
هر قسمتی را می خواهید در تاپیک زیر مطرح کنید، شاید بهتر بتونم کمک کنم:
این تاپیک
در ضمن h0x00i جان،یکم وقت پیدا کنم یه نوشته ای میزارم.
salam mishe raje be in gesmatha bishtar tozih bedin?
for(int x=0;x
{
for(int y=0;y
{
red=red+value;
if(red>255){red=255;}
if(red<0){red=0;}
//===========================================================
green=green+value;
if(green>255){green=255;}
if(green<0){green=0;}
//============================================================
blue=blue+value;
if(blue>255){blue=255;}
if(blue<0){blue=0;}
}
=================================================
Red=red+red_const;
=================================================
for(int x=0;x
{
for(int y=0;y
{
Red_array[Red]++;
Green_array[Green]++;
Blue_array[Blue]++;
}
}
=================================================
khaheshan ta payane tatilate noruz j bedin kheili mamnun
(۰۴-فروردین-۱۳۹۰, ۱۴:۴۵:۱۳)naeimeh نوشته است: [ -> ]سلام . میشه راجع به این قسمت ها بیشتر توضیح بدید؟
کد:
for(int x=0;x<width;X++)
{
for(int y=0;y<height;y++)
{
red=red+value;
if(red>255){red=255;}
if(red<0){red=0;}
//===========================================================
green=green+value;
if(green>255){green=255;}
if(green<0){green=0;}
//============================================================
blue=blue+value;
if(blue>255){blue=255;}
if(blue<0){blue=0;}
}
.
.
.
==========================================
==========================================
کد:
for(int x=0;x<width;x++)
{
for(int y=0;y<height;y++)
{
Red_array[Red]++;
Green_array[Green]++;
Blue_array[Blue]++;
}
}
=========================================
سلام
فارسی!!
--------------
قسمت اول مربوط به brightness هست.
همونطور که مشخصه به هر کانال red,green,bl;ue مقدار ثابت value که بین -255 تا 255 انتخاب شده ، اضافه میکنیم.
-------------------
*اگر value مقدارش منفی بود تصویر تیره تر میشه
*اگر صفر بود ، فرقی نمی کنه
*اگر مثبت بود تصویر روشن تر میشه.
-------------------
اون if ها هم برای کنترل دامنه هستش که باید بین 0 تا 255 باشه.(مقدار رنگ های تغییر یافته ی هر کانال)
============================================
قسمت دوم هم برای هر کانال رنگ، مقدار ثابت متفاوتی اضافه می کنیم.
مثلا
کد:
src[0] += value1;
src[1] += value2;
src[3] +=value3;
============================================
قست سوم مربوط به هیستوگرام هست.
ما فرض می کنیم که 3 تا آرایه داریم به نام های زیر
red_arry
green_array
blue_array
حالا میام رنگ هر پیکسل تصویر رو می خوانم و به خانه ای از آرایه که index آن با مقدار رنگ(کانال رنگ متناظر با آرایه) مساوی هست ، یک واحد اضافه می کنیم.
در واقع ما مییام تعداد هر رنگ رو در کل تصویر میشماریم و بعدش هر طور که دلمون خواست نمودارش رو رسم می کنیم. یا برای histogram equalization یا کنتراست و یا .... ازش استفاده می کنیم.
-----------------------
اگر چیزی رو اشتباه گفتم بگید ممنون میشم.
مرسی ممنون خیلی متشکرم
مرسی ممنون بازم اگه اشکالی داشتم میپرسم