PDA

View Full Version : اسکنر عکس 4*3



فاطمه وطن دوست
جمعه 02 فروردین 1387, 06:04 قبل از ظهر
سلام ، با تبریک فرا رسیدن سال نو .
کد اسکنر تا دلتون بخواد تو سایت هست ، من فقط میخوام بدونم ، وقتی یه عکس 4*3 رو بخوای اسکن کنی فقط همین ناحیه ( خود عکس ) اسکن بشه ، در نهایت تصویری با ابعاد 4*3 داشته باشی کدش چیه ؟ ( بدون اینکه ببری تو فتوشاپ عکس رو ببری و ...........) .
تشخیص ناحیه عکس در زمان اسکن شدن تصویر .
مرسی از همیاریتون . :تشویق:

ali_habibi1384
شنبه 03 فروردین 1387, 01:16 قبل از ظهر
من اگه مجبور باشم این کارو بکنم عکس رو میارم تو صفحه vb توی یه image که قبلا اندازه اونو روی 3*4 تنظیم کردم از صفحه عکس می گیرم یا پیکسل به پیکسل می خونم و در یک مسیر ذخیره می کنم.

vahidm
شنبه 03 فروردین 1387, 01:19 قبل از ظهر
با سلام
اینکار شدنی نیست که شما روی عکس فقط فوکوس کنید

vahidm
شنبه 03 فروردین 1387, 02:06 قبل از ظهر
با سلام دوست عزیز آقای حبیبی شما منظور سوال رو نفهمیدید
و اینم بگم که اگه میشد شرکت مایکروسافت در قسمتی که برای اسکن خود ویندوز درست کرده این امکان رو میگذاشت که فقط اون عکسی که روی صفحه اسکنر قرار داره اسکن بشه و این کار که خانم وطن دوست میگن امکان پذیر نیست اگر هم دوستان راهی بلدن خواهشن کوتاهی نکن و راهنمایی کنند
با تشکر

فاطمه وطن دوست
شنبه 03 فروردین 1387, 04:55 قبل از ظهر
سلام ، با تبریک فرا رسیدن سال نو .
اول من اینو مشخص کنم که قراراه عکس افراد دریافت بشه و بعد اسکن .(مثل اینکه بگیم عکس هرفردضمیمه پروندش باید باشه.)
دوستان اصلا راهی نداره که فقط با اسکنر این کارو انجام داد ؟

فاطمه وطن دوست
یکشنبه 04 فروردین 1387, 06:06 قبل از ظهر
سلام.
دوستان کسی نیست کمک کنه (راهنمائی هم بکنید ممنون میشم .) :خجالت:

vbhamed
یکشنبه 04 فروردین 1387, 10:29 قبل از ظهر
سلام
شما اول باید کل عکس رو اسکن کنید
بعد روی نقاط عکس پردازش ماتریسی انجام بدین، یعنی عکس رو به صورت یک صفحه شطرنجی بزرگ در نطر بگیرید بعد ببینید کدوم نقاط سفید هست و کجاها رنگی

از پردازش سطری شروع کنید، اولین سطری که نقطه رنگی داشت سطر بالا و اولین ستونی که نقطه رنگی داشت ستون بالای عکس هست

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

اما مشکلی که هست اینه که عکس ممکنه تولرانس رنگ داشته باشه و ضمنا صفحه هم کاملا سفید نباشه، برای این مشکل یک مقدار درصد خطا در نظر بگیرین یعنی مثلا از محدوده سفید کامل تا کمی تیره تر رو به عنوان سفید در نطر
بگیرید و از محدوده سیاه کامل تا کمی روشن تر رو به عنوان سیاه و همینطور برای رنگهای دیگه

باید روش کار کنید تا درست بشه
واسه تست هم روی یک فایل که قبلا عکس گرفتید یا اسکن کردید کار کنید
فایل رو در یک PictureBox بار کنید
با این متد میشه رنگ هر نقطه از Picture رو برگردوند


Picture1.Point(x, y)

ضمنا یک سری اسکنرها، برنامه اسکن خودشون همچین چیزی رو داره و محدوده دور تصویر رو اتوماتیک انتخاب می کنه

فاطمه وطن دوست
دوشنبه 12 فروردین 1387, 05:08 قبل از ظهر
سلام
شما اول باید کل عکس رو اسکن کنید
بعد روی نقاط عکس پردازش ماتریسی انجام بدین، یعنی عکس رو به صورت یک صفحه شطرنجی بزرگ در نطر بگیرید بعد ببینید کدوم نقاط سفید هست و کجاها رنگی

از پردازش سطری شروع کنید، اولین سطری که نقطه رنگی داشت سطر بالا و اولین ستونی که نقطه رنگی داشت ستون بالای عکس هست

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

اما مشکلی که هست اینه که عکس ممکنه تولرانس رنگ داشته باشه و ضمنا صفحه هم کاملا سفید نباشه، برای این مشکل یک مقدار درصد خطا در نظر بگیرین یعنی مثلا از محدوده سفید کامل تا کمی تیره تر رو به عنوان سفید در نطر
بگیرید و از محدوده سیاه کامل تا کمی روشن تر رو به عنوان سیاه و همینطور برای رنگهای دیگه

باید روش کار کنید تا درست بشه
واسه تست هم روی یک فایل که قبلا عکس گرفتید یا اسکن کردید کار کنید
فایل رو در یک PictureBox بار کنید
با این متد میشه رنگ هر نقطه از Picture رو برگردوند

کد:
Picture1.Point(x, y)
ضمنا یک سری اسکنرها، برنامه اسکن خودشون همچین چیزی رو داره و محدوده دور تصویر رو اتوماتیک انتخاب می کنهسلام میشه لطف کنین و یه کمی بیشتر توضیح بدین .
ممنون .

Mbt925
دوشنبه 12 فروردین 1387, 11:26 قبل از ظهر
بستگی به شرایط تصاویر اسکن شده داره.
اگه تصاویر همشون در یک حالت ثابت اسکن بشن که کار سادست.
ولی چون این اتفاق نمی افته باید احتمالات زیر رو درنظر بگیریم:

اگه پس زمینه ی تصاویر رنگی باشه ، کاری نمیشه کرد.
ولی اگه پس زمینه ی تصاویر ثابت باشه میشه از راهی که دوستان گفتن یه کارایی کرد که البته کاره ساده و دقیقی از آب در نمیاد.

همون طور که دوستان گفتن اول باید ابعاد واقعی تصویر رو پیدا کنیم ، تا بقیه مناطق رو حذف کنیم.

برای این کار باید به صورت عمودی و افقی نقاط تصویر رو بررسی کنیم تا وقتی که به رنگی غیر از رنگ پس زمینه برسیم ، برای رنگ پس زمینه هم می تونید یه بازه در نظر بگیرید.

وقتی ابعاد رو پیدا کردید ، نقاطی که در ابعاد موردنظر قرار دارن رو بصورت عمودی در یک PictureBox قرار میدیم و تصویر حاصل رو ذخیره می کنیم.

همون طور که گفتم این روش خیلی اصولی نیست و درصد خطاش بالاست ، بدلیل یکسان نبودن پس زمینه ها و کیفیت غیر مشابه تصاویر .
این 2 مورد خیلی مهمن و رابطه ی مستقیم با درست عمل کردن این روش دارن.

اگه فرصت کنم یه نمونه در این رابطه قرار میدم.

روش های اصولی پردازش تصویر به مباحث تخصصی ختم میشه که بحث در موردش مفصله.

فاطمه وطن دوست
دوشنبه 12 فروردین 1387, 15:30 بعد از ظهر
سلام
دوستان تا حالا کسی پروژه ای که امکان استفاده از اسکنر رو به شکلی که عکس 4*3 رو با اسکنر اسکن کرد و به همین ابعاد (4*3) ذخیره کرد رو کار نکرده ؟
البته بعضی از اسکنرها این قابلیت را دارند که بتوان ابعاد عکس رو باهاشون تنظیم کرد ، که خب این خیلی راحته و مشکلی هم نیست ولی حالا از طریق برنامه نویسی چطور میشه این کارو انجام داد ، کسی نظر خاصی نداره ؟
در واقع بتونی همین امکان تغییر ابعاد عکس با اسکنر رو با استفاده از وی بی انجام بدی ؟

m1975b
دوشنبه 12 فروردین 1387, 15:48 بعد از ظهر
در آیتم های اسکنر چیزی بنام AutoCrop میباشد که اسکنر حین اسکن اضافی‌های تصویر را برش میدهد . به هر حال دنبال autocrup بگردید.

فاطمه وطن دوست
دوشنبه 12 فروردین 1387, 15:50 بعد از ظهر
سلام
خب همین کدش رو کسی میدونه چطوری باید نوشت ؟
اصلا میشه این کارو انجام داد ؟

vahidm
دوشنبه 12 فروردین 1387, 17:08 بعد از ظهر
با سلام
اینجور که دوستان میگن خیلی سرعت کار رو کم می کنه
و مهم اینه که بشه این کار رو کرد

sinpin
دوشنبه 12 فروردین 1387, 18:07 بعد از ظهر
با سلام
اینکار شدنی نیست که شما روی عکس فقط فوکوس کنید
اسکنر خود من که 8 سال پیش خریدم وقتی 4 تا عکس رو همزمان اسکن میکنم خودش بصورت اتوماتیک میاد و اونها را بصورت 4 تا عکس مجزا ذخیره میکنه و یا زمانیکه یک عکس کوچیک رو اسکن میکنم - دقیقا همینطور که خانوم وطن دوست گفتند - فقط اون رو اسکن میکنه.


وقتی یه عکس 4*3 رو بخوای اسکن کنی فقط همین ناحیه ( خود عکس ) اسکن بشه ، در نهایت تصویری با ابعاد 4*3 داشته باشی کدش چیه ؟ ( بدون اینکه ببری تو فتوشاپ عکس رو ببری و ...........) .تشخیص ناحیه عکس در زمان اسکن شدن تصویر .

اینکار 100% شدنی هست اما ممکنه چندان آسان نباشه. در ضمن اسکنرهایی هستند که بصورت اتوماتیک اینکار رو برای شما انجام میدن که باید به مستندات اونها مراجعه کنید (و یا اسکنرهایی که مختص اسکن تصاویر کوچک پرسنلی هستند)
کار دیگری که میتونید انجام بدید اینه که زمانی که عکس توسط برنامه شما اسکن شد بلافاصله عکس اسکن شده در یک محیط ویرایشگر ساده به کاربر نمایش داده بشه که بتونه همونجا اون رو Crop، Resize و ... کنه (برنامه های ویرایش تصویر هم که در اینترنت بوفور یافت میشه)

موفق باشید.

فاطمه وطن دوست
دوشنبه 12 فروردین 1387, 19:37 بعد از ظهر
سلام

ویرایشگر ساده به کاربر نمایش داده بشه که بتونه همونجا اون رو Crop، Resize و ... کنه (برنامه های ویرایش تصویر هم که در اینترنت بوفور یافت میشه)

دوستان اگه نمونه برنامه دارن معرفی کنن .
ممنون.

sinpin
دوشنبه 12 فروردین 1387, 19:50 بعد از ظهر
سلام

ویرایشگر ساده به کاربر نمایش داده بشه که بتونه همونجا اون رو Crop، Resize و ... کنه (برنامه های ویرایش تصویر هم که در اینترنت بوفور یافت میشه)میشه یه نمونه خوبشو بگین چون مطمئنا کرکشم باید گیر بیاد
که تو بعضی سایتا هست ولی کرکش گیر نمید و اینکه تو بعضی از سایتا همراه با برنامه همراه با ویروس میدن که من دیگه چشمم ترسیده و نمی خوام دوباره چشمم بهشون بخوره و پر پر شدن فایلامو و سیستممو ببینم .
مرسی.


سلام
دوستان اگه نمونه برنامه دارن معرفی کنن .
ممنون.
منظورم از برنامه، سورس کدهای آماده ی ویبی بود و بهتره که این ویرایشگر جزیی از برنامه خود شما باشه تا بتونید کنترل خوبی روی اون داشته باشید.
یکسری به این لینک بزنید :
http://www.a1vbcode.com/code.asp?type=graphics

مثلا : http://www.a1vbcode.com/app-4178.asp

Mbt925
سه شنبه 13 فروردین 1387, 19:18 بعد از ظهر
یه نمونه ی ساده (http://barnamenevis.org/forum/showthread.php?p=489940#post489940)

vbhamed
سه شنبه 13 فروردین 1387, 21:14 بعد از ظهر
سلام
نمونه ای که Mbt925 گذاشتن فکر کنم بتونه منظرمو کامل توضیح بده براتون

در مورد اسکنرهایی هم که خودشون همچین چیزی رو دارن، معمولا این کار رو تو برنامه رابط اسکنر گذاشتن و فکر نکنم راهی واسه استفاده برنامه نویس از این امکان پیش بینی کرده باشن

soheil_programmer
سه شنبه 13 فروردین 1387, 23:25 بعد از ظهر
با سلام

شما میتوانید از کامپوننت های kodak استفاده کنید این کنترل ها امکانات زیادی در رابطه با اسکن تصاویر و ویرایش و تغییر فرمت و ریزولشن عکس در اختیار شما خواهند گذاشت.

برای آشنائی در رابطه با این کنترل ها سری به تاپیک زیر بزنید:
http://barnamenevis.org/forum/showthread.php?t=94029&highlight=kodak&page=4

H4i0 ACP
چهارشنبه 28 فروردین 1387, 04:09 قبل از ظهر
سلام
از توابع API کمک بگیرید.

میشه برنامه ای نوشت که فقط قسمتی از عکس رو با آدرسی خاص و با اشکالی مثل مربع و لوزی و دایره و ... برداشت و بقیه قسمت ها رو حذف کرد.
در ضمن حسابداری =2

می تونید برای راهنمایی از سایتhttp://msdn2.microsoft.com/en-us/default.aspx استفاده کنید