PDA

View Full Version : تبدیل عکس سیاه سفید به رنگی با استفاده از Aforge.net



nanoox
دوشنبه 25 فروردین 1393, 11:26 صبح
سلام به همه دوستان
من تو برنامم میخوام عکس Grayscale یا همون سیاه سفید رو به رنگی تبدیل کنم و میخوام از aforge استفاده کنم
دوستان کسی باهاش کارکرده که بدونه چطور انجام میشه؟
ممنون

nanoox
چهارشنبه 27 فروردین 1393, 10:29 صبح
من وقتی از کد زیر واسش استفاده میکنم بهم این ارور رو میده ، میدونید واسه چیه؟
Bitmap image = bimpy;
// create filter
AForge.Imaging.Filters.GrayscaleToRGB filter = new AForge.Imaging.Filters.GrayscaleToRGB();
// apply filter
System.Drawing.Bitmap newImage = filter.Apply(image);
PBGStoRGB2.Image = newImage;



Source pixel format is not supported by the filter.

rahnema1
چهارشنبه 27 فروردین 1393, 11:59 صبح
سلام
بدون استفاده از AForge هم میشه تبدیل کرد
تصاویر تک باندی 8 بیتی یا Grayscale به صورت Bitmap با فرمت Format8bppIndexed وارد میشن
دو روش تبدیل این جوری میشه
در روش اول هر تصویری باشه به فرمت Format32bppArgb ذخیره میشه یعنی سه تا باند به علاوه آلفا

Bitmap bm2 = Bitmap.FromHbitmap(new Bitmap("image1.tif").GetHbitmap());
bm2.Save("image2.tif", System.Drawing.Imaging. ImageFormat.Tiff );

در روش دوم تصویر ایجاد شده تنها از سه تا باند رنگی تشکیل میشه

Bitmap bm1=new Bitmap("image1.tif");
Bitmap bm2 = new Bitmap(bm1.Width,bm1.Height,System.Drawing.Imaging .PixelFormat.Format24bppRgb);
Graphics.FromImage(bm2).DrawImage(bm1,0,0);
bm2.Save("image2.tif", System.Drawing.Imaging. ImageFormat.Tiff);