PDA

View Full Version : نحوه جدا کردن یک قسمت تصویر



ehsanvb
چهارشنبه 09 بهمن 1392, 13:01 عصر
سلام خدمت اساتید

من یه سری نامه های اسکن شده دارم ، داخل هر نامه یه کادر مربعی شکل وجود داره من میخوام داخل اون کادر جدا در یک پیکچرباکس نمایش بدم، اگه ممکنه کمکم کنید

متشکرم:تشویق:

mansour01
پنج شنبه 10 بهمن 1392, 12:38 عصر
آیا تمام نامه ها عین هم هست ؟ از نظر اندازه و نحوه قرار گرفتن مربع ؟

ehsanvb
شنبه 12 بهمن 1392, 13:22 عصر
آیا تمام نامه ها عین هم هست ؟ از نظر اندازه و نحوه قرار گرفتن مربع ؟

بله تمام نامه ها فایلهای اسکن شده از برگه های A4 با رزولیشن 300 هستند

کادرها هم همه تقریبا در سمت راست و پایین صفحه قرار دارند

rahnema1
یک شنبه 13 بهمن 1392, 07:31 صبح
سلام
شما فقط لازمه مقدار x,y یعنی مختصات گوشه بالا سمت چپ کادر و نیز width,heigh طول و عرض کادر را کمی تغییر دهید تا متناسب با مورد شما بشه


int x=1500;
int y=2500;
int width=950;
int height=950;
nameh=new Bitmap("nameh.jpg");
kadr=new Bitmap(width,height);
Graphics.FromImage(kadr)
.DrawImage(nameh,0,0,new Rectangle(x,y,width,height),GraphicsUnit.Pixel);
pictureBox1.Image=kadr;




Dim x As Integer = 1500
Dim y As Integer = 2500
Dim width As Integer = 950
Dim height As Integer = 950
Dim nameh As Bitmap =New Bitmap("nameh.jpg")
Dim kadr As Bitmap =New Bitmap(width, height)
Graphics.FromImage(kadr).DrawImage(nameh, 0, 0, New Rectangle(x, y, width, height), GraphicsUnit.Pixel)
pictureBox1.Image = kadr

ehsanvb
دوشنبه 14 بهمن 1392, 13:55 عصر
سلام
شما فقط لازمه مقدار x,y یعنی مختصات گوشه بالا سمت چپ کادر و نیز width,heigh طول و عرض کادر را کمی تغییر دهید تا متناسب با مورد شما بشه


int x=1500;
int y=2500;
int width=950;
int height=950;
nameh=new Bitmap("nameh.jpg");
kadr=new Bitmap(width,height);
Graphics.FromImage(kadr)
.DrawImage(nameh,0,0,new Rectangle(x,y,width,height),GraphicsUnit.Pixel);
pictureBox1.Image=kadr;




Dim x As Integer = 1500
Dim y As Integer = 2500
Dim width As Integer = 950
Dim height As Integer = 950
Dim nameh As Bitmap =New Bitmap("nameh.jpg")
Dim kadr As Bitmap =New Bitmap(width, height)
Graphics.FromImage(kadr).DrawImage(nameh, 0, 0, New Rectangle(x, y, width, height), GraphicsUnit.Pixel)
pictureBox1.Image = kadr



با سلام و تشکر از پاسختون

روش شما کاملا درسته و جواب میده ولی من مشکلم اینه که این کادرها در یک مختصات ثابت در نامه نیستند، حدودشان مشخصه هست ولی محل دقیقشان نه.

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

متشکرم

ehsanvb
شنبه 19 بهمن 1392, 14:56 عصر
فکر کنم اینکار خیلی دردسر داره که کسی جواب نمیده، درسته؟ :متفکر:

rahnema1
شنبه 19 بهمن 1392, 18:25 عصر
لطفا دقیقا بگید چه مشکلیه و یک یا دو نسخه از نامه اسکن شده را بذارید که موقعیت کادر در آنها متفاوت باشه و بگید کادر ممکنه در کجا قرار بگیرند تا ببینیم راه حلی میشه واسش پیدا کرد یا نه

ehsanvb
یک شنبه 20 بهمن 1392, 10:16 صبح
لطفا دقیقا بگید چه مشکلیه و یک یا دو نسخه از نامه اسکن شده را بذارید که موقعیت کادر در آنها متفاوت باشه و بگید کادر ممکنه در کجا قرار بگیرند تا ببینیم راه حلی میشه واسش پیدا کرد یا نه

با تشکر از توجه شما نمونه نامه و محدوده کادر در این تصویر مشخص شده

116557

rahnema1
یک شنبه 20 بهمن 1392, 16:14 عصر
برای این برنامه از کتابخانه VisionNET.dll استفاده شده که در فولدر bin قرار داره و می تونید از سایت sourceforge بگیرید در مورد عکسی که فرستادید جواب داد در موارد دیگه خودتون امتحان کنید