با سلام به دوستان .
میخواستم در مورد نحوه پردازش تصویر در سی شارپ کمکم کنید ؟
مثلا نحوه تبدیل عکس رنگی به سیاه و سفید یا بالعکس ؟
و یا مشخص کردن لبه های مرز یک عکس ؟ یا تعداد شی ها داخل یک عکس و ................
با سلام به دوستان .
میخواستم در مورد نحوه پردازش تصویر در سی شارپ کمکم کنید ؟
مثلا نحوه تبدیل عکس رنگی به سیاه و سفید یا بالعکس ؟
و یا مشخص کردن لبه های مرز یک عکس ؟ یا تعداد شی ها داخل یک عکس و ................
در سایت codeproject.com عضو شوید و در قسمت C# کلمه ی "Image Processing" را سرچ کنید . نمونه زیاده .
یه نمونش اینه : http://www.codeproject.com/KB/GDI-pl...ssing_Lab.aspx
برای سیاه و سفید کردن عکس لازم هست که ضرایب تبدیل آبی و قرمز و سبز رو بدونید:
public Bitmap ConvertToGrayscale(Bitmap source)
{
Bitmap bm = new Bitmap(source.Width,source.Height);
for(int y=0;y<bm.Height;y++)
{
for(int x=0;x<bm.Width;x++)
{
Color c=source.GetPixel(x,y);
int luma = (int)(c.R*0.3 + c.G*0.59+ c.B*0.11);
bm.SetPixel(x,y,Color.FromArgb(luma,luma,luma));
}
}
return bm;
}
برای تشخیص لبه هم فرمولش اینجاست:
http://en.wikipedia.org/wiki/Edge_detection
کلا یک روش هست برای اینکه یک فیلتر خطی رو به شکل ماتریسی روی عکس اجرا کنی(هر چند دستی هم میشه این کار رو کرد. اما راه آماده ش که در لابرری های سی شارپ قرار داره بهتره). اگر دوستان دستورش رو می دونند، ممنون میشم اگه اینجا بگذارند.
مبحث تبدیل تصاویر garyscale به رنگی تحت عنوان Colorize که با شبکه های عصبی صورت می گیره.البته اگر رنگی کردن به این صورت باشه که تصویر هر رنگی که دلش خواست داشته باشه می تونید تصویر rgb رو به HSI برده و در اون فضا hue مربوط به تصویر رو تغییر بدید تو این سایت هم تا حدودی به اون پرداخته شد.
https://barnamenevis.org/showth...B5%D8%A8%DB%8C
cardano7
کاربر عزیز میشه در مورد این ضرایب توضیح دهید ؟
دوستان عزیز میشه کمی در مورد این بحث بیشتر مطالب بذارید و خواهش میکنم از دوستان بزرگوار برنامه نویس در این بحث شرکت کنند ؟
میخوام الان یک کاری بکنم که یک عکس را به ارایه تبدیل کنم(دوبعدی) و داخل هر خانه از این ارایه یک مقدار رنگ قرار بگیرد و در بعد طبق این ارایه تعداد شی ها موجود ذر این عکس را دربیارم ؟ مثلا اگه 4 تا میوه (سیب و پرتقال و موز و انگور ) داخل این عکس بشند برنامه ما قابلیت پیدا کردن این پیکسل ها را داشته باشد ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟/
کمک کنید ؟؟؟؟؟؟؟؟؟؟؟؟؟///
شما دارید یک پیکسل رنگی رو به سیاه و سفید تبدیل می کنید. ساده ترین روش ممکن که به نظر می رسه اینه که شما بیایید بین ضریب R, G, B اونا میانگین بگیرید:
Gray=(R+G+B)/3;
R=Gray;
G=Gray;
B=Gray;
یعنی اومدید به همه ی نور ها ضریب 1/3 دادید.
این روش درست کار می کنه، اما بهینه نیست.
برای اینکه عکس شما به معنای واقعی Gray Scale بشه، لازمه که ضرایب رو عوض کنید. مسلما ضریب نورهای قرمز و آبی و سبز، نمی تونه یکی باشه:
Gray=R*0.3 + G*0.59+ B*0.11;
R=Gray;
G=Gray;
B=Gray;
اگر همچین کاری بخاید انجام بدید بایستی از Image processing و Pattern recognition استفاده کنید که آسونترینش شبکه رقابتی.مثلا اگه 4 تا میوه (سیب و پرتقال و موز و انگور ) داخل این عکس بشند
اصولاً در تشخیص این چنین object هایی بهترین روش شبکه HONN می باشد.
اگر color image processing انجام بدید color space تونو بایستی HSI انتخاب کنید.
با تشکر از دوستان به خطر جواب
حالا میخوام این چیزهایی که گفتید کاربر گرامی (
Delphi_CAT) از کجا شروع کنم برای کار .؟
2- قبل از از هر چیز من میخوام عکس را به باینری تبدیل کنم (منظورم از باینری اینه که عکس را را به سیاه سفید تبدیل کنم بدون از بین رفتن پیکس ها ) و در یک ارایه دو بعدی تبدیل کنم که به ازای هر سطر و ستون ان یک مقدار مشخص (0 یا 1 ) قرار بگیرد ؟
Pattern recognition یعنی چه؟
راستی مرجع انگلیس یا فارسی در مورد این بحث وجود دارد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟///
ممنونم میشم از دوستان که پیشتر به این بحث اهمیت دهند و ما مبتدی ها را راهنمایی کنید؟
وقتی تصویر قالب رنگیش تغییر می کنه دیگه ماهیت قبلیش رو نداره وقتی که قالب رنگی یا pixelformat و فضایی رنگی رو تغییر میدیم براش دلیل داریم.قبل از از هر چیز من میخوام عکس را به باینری تبدیل کنم (منظورم از باینری اینه که عکس را را به سیاه سفید تبدیل کنم بدون از بین رفتن پیکس ها ) و در یک ارایه دو بعدی تبدیل کنم که به ازای هر سطر و ستون ان یک مقدار مشخص (0 یا 1 ) قرار بگیرد ؟
تصویر رو binarization می کنیم زمانیکه بخایم روی blob پردازش رو صورت بدیم.
در مورد pattern recognition و image processing می تونید از wiki اطلاعاتی کسب کنید البته در همین سایت کتاب های معرفی شده.
pattern recognition نیاز به پایه آمار و ریاضی قوی داره و تقریباً تو کل مباحث شما با فرمولاسیون سر وکار دارید و در اونجا انواع روش های machine learning رو یاد می گیرید
سلام
برای تبدیل عکس نگی به سیاه و سفید چطوری میتونم GrayScale رو تغییر بدم
در حالتی که در بالا توضیح داده شده GrayScale برابر 256 است ولی من میخوام که مقدار اون به صورت سفارشی قابل تنظیم بشه (مثلا 16، 4 و ...)
آخرین ویرایش به وسیله ua741_1 : چهارشنبه 27 بهمن 1389 در 15:55 عصر