PDA

View Full Version : پردازش تصویر



rezavb6
سه شنبه 17 اردیبهشت 1392, 19:13 عصر
سلام دوستان
کسی ایده ای یا سورسی که بتونه این کار را انجام بده داره ممنون میشم راهنمایی کنید


103833

mehran901
سه شنبه 17 اردیبهشت 1392, 19:32 عصر
سلام ،
سورس که مشابهش ندیدم ، واسه کار های نسخه ای باید خودت بنویسی

ایده ای که الان به ذهن من میرسه اینکه اول شما باید ببینی میخوای رو چ چیز های واسه دتکت تمرکز کنی
مثلا میتونی اول کار ی ماتریس از تصویرت رو به فرمت hsi hsl ... در بیاری تا محدوده رنگیت از rgb که 16 میلیون رنگه به 256 رنگ خالص تبدیل بشه در کنارش از ی ماتریس کپی استفاده کنی که grayscale تصویرت رو شامل بشه ، حالا نوبت به پیاده سازی ی ماسک edge detection میشه ، با پیاده کردن ماسک لبه های اجسام رو پیدا می کنی و در نهایت با کمک لبه ها و تغییرات رنگ کانال HSL انسان روشناسایی کنی ، البته با emgu cv ya open cv خیلی سریع تر میتونی با استفاده از کتاب خونه های آماده این کارا رو انجام بدی

rezavb6
سه شنبه 17 اردیبهشت 1392, 20:35 عصر
سلام ان اسکلت ادم چطور میشه پیاده کرد یعنی بتونه هر عکسی دادیم بعد این عملیاتها که گفتید وضعیت اون ادم با لاین نشون بده

setroyd
سه شنبه 17 اردیبهشت 1392, 21:06 عصر
با متد گرافیکی میشه ولی مهم اون الگریتم هست که شما باید پیاده سازی کنی برای شناسایی شخص و برای این کار به دلیل سرعت پایین توصیه میکنم vb رو انتخاب نکنی .

سپهر-111
سه شنبه 17 اردیبهشت 1392, 22:26 عصر
سلام دوستان
کسی ایده ای یا سورسی که بتونه این کار را انجام بده داره ممنون میشم راهنمایی کنید


103833

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

مصطفی ساتکی
چهارشنبه 18 اردیبهشت 1392, 18:48 عصر
دوستان سوالات پردازش تصویر را در تالار مربوطه مطرح کنید.

اون کار با sdk kinect انجام شده تصویر بالا سمت چپ تصویر عمق هستش که توسط 2 دوربین kniect تهیه شده.
اگر قصد داشته باشید با خود kinect انجام بدید تابع getSkeletionImage تصویر skeletion رو به شما میده.

اگر هم که میل نداشته باشید که دستگاه kinect بخرید ،می تونید 2 تا دوربین هم نوع را روی یک شاسی فیت کنید و یعدش intrinsic پارامترهای هر 2 دوربین را محاسبه کنید سپس 2 دوربین با صفه شطرنج کالبیره کنید حالا با اینکار می تونید به صورت استریو با 2 دوربین کار کنید و تصویر عمق دارید این تصاویر معمولاً خردگی زیاد دارن و سوراخ سوارخ هستن یه فیلتر median 5*5 روی تصویر عمق اعمال کنید تا حفره ها پر شه حالا هم کانتور ها در تصاویر رنگی را دارید و هم کانتورهای مربوط به تصویر عمق . حالا object هایی که از دیگر object به دوربین نزدیک تر و به صورت عمودی هستند را بوسیله کانتور ها فیلتر کنید می بینید که تنها چیزی که از این فیلتر رد میشه یک آدمی زاد هستش که سرپاست . حالا این کانتور را به blob تبدیل کنید و سپس blob رو به تصویر اسکلتون بعدش هم تصویر اسکلتون را با روش ها quantization از جمله روش داگلاس کوانتیزه کنید حالا شما با توجه به ضریب کوانتیزیشن مجموعه از نود ها و یال ها را دارید که میشه همان تصویر بالا.
sdk kinect همه این مطالبی را که خدمت شما عرض کردم خودش انجام میده و شما نیازی ندارید که از چگونگی عملکرد این الگوریتم ها اطلاعات داشته باشید.
نکته : اگر تصمیم داشته باشید که object های پیچیده را تشخیص بدید به صورت 3d ابتدا بایستی با استفاده از تصویر عمق به 3d mesh آبجکت برسید سپس می تونید این آبجکت خودتونو با کتابخانه pcl یا با opencv flann توی پایگاه داده خودتون جستجو کنید.

موفق باشید.

rezavb6
چهارشنبه 18 اردیبهشت 1392, 21:29 عصر
مرسی از کمک اساتید این حوزه متاسفانه این مطالبی که فرمودید بسیار پیچیده هست چون من خودم اصلان رشته کامپیوتر نیست و فقط کمی برنامه نویسی بلدم همین
ایده جدیدی تو حوزه ارگونومی دارم که نیازمند تخصص های مختلف هست یکی اون همین تخصص هست که فردی بتونه بخش نرم افزاری این سیستم را پوشش بده

rezavb6
جمعه 20 اردیبهشت 1392, 10:17 صبح
مهندس میشه راجب این موارد توضیح یا سورسی در اختیار بزارید بببینیم این موارد فرمودید چی هست
intrinsic پارامترهای هر 2 دوربین را محاسبه کنید
یه فیلتر median 5*5 روی تصویر عمق اعمال کنید
کانتور را به blob تبدیل کنید و سپس blob رو به تصویر اسکلتون بعدش هم تصویر اسکلتون را با روش ها quantization از جمله روش داگلاس کوانتیزه کنید
حالا شما با توجه به ضریب کوانتیزیشن مجموعه از نود ها و یال ها را دارید که میشه همان تصویر بالا.

مصطفی ساتکی
جمعه 20 اردیبهشت 1392, 23:00 عصر
هدف از کالیبره کردن دوربین یعنی بدست آوردن مدل هندسی آن و مدل کردن اوجاج دوربین هستش یه این 2 پارامتر Intrinsic parameters گفته میشه که یک بار هم محاسبه میشه و در دفعات بعدی استفاده میشه.مثلاً دوربینی که تصویرش به صورت بالشتی هستش در واقع ماتریس انتقال homogeneous دوربین را بدست میاریم که با اعمال این ماتریس انتقال تصویر از حالت بالشتکی به حالت نرمال تبدیل میشه.( اکثر دوربین موبایل های قدیمی تصاویرشان بالشتکی بود)
فیلتر median یک فیلتر پایین گذر هستش که جهت smooth سازی تصاویر استفاده میشه در واقع روش میانگیری هستش و در واقع مواردی که به صورت نویر هستند را حذف می کنه تا در صورت فیلتر کردن یک blob یکدست بوجود بیاد.
کانتور یعنی مجموعه بردارهایی که یک شکل رو تشکیل می دن چون skeleton به صورت iterative بر روی تصاویر raster اعمال میشه شما مجبور تصویر وکتور را به raster تبدیل کنید و skeleton بگیرید چون skeleton همیشه دارای نویز زیادی هستش و همچنین از تعداد زیادی نقاط تشکیل شده شما بایستی به یک روشی این تعداد نقاط را کاهش بدید.
وقتی از طریق روش بالا عملیات تدریجی سازی را انجام مبدید skeleton شما که دارای نقاط زیادی بود به طوری که تمام نود های گراف بهم چسبیده هستند و یال طولشان یک هستش برای اینکه نقاطی که جهت گرادیان تغییر می کنه را پیدا کنیم از روش داگلاس استفاده می کنیم و به یگ گرافی خلاصه شده می رسیم به فرض شما برای رسم یک خط از نقطه (1,1) به (10,10) در فضای raster بایستی 10 نقطه داشته باشید ولی در فضای وکتور آن را با نقطه ابتدایی و انتهایی نشان می دیم و به همین ترتیب برای یک منحنی بجای اینکه تمام نقاط منحنی را نگهداری کنیم فقط نقاط دستگیره مربوط به منحنی را نگهداری می کنیم به این عمل کوانتیزیشین گفته میشه.

rezavb6
شنبه 21 اردیبهشت 1392, 18:21 عصر
مهندس سایت یا فایلی دارید که از صفر این مطالب پردازش تصویر را اموزش بده البته برای vb6 باشه معرفی میکنید سورس در این رابطه زیاد دارم اما بیس این پردازش را میخوام یاد بگیرم
در ضمن من هنوز منتظرم جواب اسپانسر هستم