View Full Version : سوال: کتابخانه های آماده برای انجام این پروژه با C++ وجود داره؟
Aghaeifar
جمعه 19 آبان 1391, 11:24 صبح
سلام
در مورد عنوان می بخشید بهتر از این نشد مناسب موضوع بنویسمش.
در حقیقت بنده دانشجو ی برق هستم و در حد کارهای ساده و متوسط با C++ کار کردم. یه نرم افزاری رو نوشتیم در متلب می خواییم توی C++ پیادش و تجاری کنیم. مسئله ی مهم اینه که بار محاسباتی چون بالا بود مجبور به استفاده از C++ هستیم که سرعت بالاتر است نسبت به متلب (توی متلب اجراش 15 دقیقه زمان میره). کار ما یه جورایی پردازش تصویر زیاد داره خواستم ببینم کار های زیر براش کتابخانه های آماده هست که خیلی ما رو اذیت نکنه و ما بیشتر درگیر پیاده سازی هسته ی پردازش باشیم:
1- نمایش تصاویر و منحنی ها
4- پیاده سازی فیتلر ها
2- خواندن تصاویر dicom (ورودی تصاویر ما فرمت استاندارد دایکام هست)
3- گرفتن FFT و معکوس FFT به صورت دو بعدی روی تصویر و یا تک بعدی
4- پشتیبانی از اعداد مختلط
یه جورایی می خواستم ببینم اینها به صورت آماده وجود دارند؟ ممنون میشم اگر نام پکیج های اماده برای اضافه شدن به پروژه جهت امور فوق رو اگر می دونید ذکر کنید.
عذر من رو بابت سوال به این شکل که خیلی فنی نیست بپذیرید.
تشکر
mahak006
جمعه 19 آبان 1391, 11:33 صبح
سلام
در مورد عنوان می بخشید بهتر از این نشد مناسب موضوع بنویسمش.
در حقیقت بنده دانشجو ی برق هستم و در حد کارهای ساده و متوسط با C++ کار کردم. یه نرم افزاری رو نوشتیم در متلب می خواییم توی C++ پیادش و تجاری کنیم. مسئله ی مهم اینه که بار محاسباتی چون بالا بود مجبور به استفاده از C++ هستیم که سرعت بالاتر است نسبت به متلب (توی متلب اجراش 15 دقیقه زمان میره). کار ما یه جورایی پردازش تصویر زیاد داره خواستم ببینم کار های زیر براش کتابخانه های آماده هست که خیلی ما رو اذیت نکنه و ما بیشتر درگیر پیاده سازی هسته ی پردازش باشیم:
1- نمایش تصاویر و منحنی ها
4- پیاده سازی فیتلر ها
2- خواندن تصاویر dicom (ورودی تصاویر ما فرمت استاندارد دایکام هست)
3- گرفتن FFT و معکوس FFT به صورت دو بعدی روی تصویر و یا تک بعدی
4- پشتیبانی از اعداد مختلط
یه جورایی می خواستم ببینم اینها به صورت آماده وجود دارند؟ ممنون میشم اگر نام پکیج های اماده برای اضافه شدن به پروژه جهت امور فوق رو اگر می دونید ذکر کنید.
عذر من رو بابت سوال به این شکل که خیلی فنی نیست بپذیرید.
تشکر
شما اگه از QT کامپایلر استفاده کنید ، کتابخانه های زیادی در این موارد ، به خصوص بره پردازش تصاویر داره . همچنین برنامتون رو می تونید ویندوز فرم بنویسید .
از Help موجود در QT هم به راحتی می تونید کتابخانه ها بشناسید .
Aghaeifar
جمعه 19 آبان 1391, 11:47 صبح
خیلی ممنون از راهنمایی شما.
من فقط در حد اسم نام چیزهایی مثل openCV و یا insight toolkit و یا Gadgetron رو به عناون پکیج های آماده برای کارهای پردازش تصویر شنیدم ولی جدا چیز بیشتری نمی دونم در موردش. این ها رو به QT میشه اضافه کرد؟
می بخشید مجدد عرض میکنم من اگه انتخاب کنم برم وسط راه دیگه برام سخته بخوام تغییر بدم مسیر رو، از این بابت این چند موردی که در پست اول گفتم رو شما در QT دیدید؟
مصطفی ساتکی
جمعه 19 آبان 1391, 14:54 عصر
mahak006@: اصلاً نمی دونم با توجه به چه منبعی مطالب رو ذکر می کنید QT چه ربطی داره به پردازش تصویر .
bioemm.com@: خواهشاً سوالات مربوط به پردازش تصویر را در تالار پردازش تصویر مطرح کنید تا پاسخی که داده میشه دیگران هم بتونن به راحتی استفاده کنند.
شما بایستی از کتابخانه OpenCV استفاده کنید که آخرین نسخه آن 2.4.3 هستش و Open Source هم هستش کلیه مواردی را که ذکر کردید را داره بجز I/O مربوط به DICOM که برای آن هم می تونید از کتابخانه DCMTK استفاده کنید که این هم Open Source هستش.
در ضمن C++ فقط به این صورت نیست که شما کد هاتونو تبدیل کنید انتظار داشته باشید در بهترین حالت ممکن پیاده سازی شه. شما بایستی در مورد Optimization و زبان اسمبلی اطلاعات جامعی داشته باشید.
موفق باشید
mahak006
یک شنبه 21 آبان 1391, 00:59 صبح
mahak006@: اصلاً نمی دونم با توجه به چه منبعی مطالب رو ذکر می کنید QT چه ربطی داره به پردازش تصویر .
bioemm.com@: خواهشاً سوالات مربوط به پردازش تصویر را در تالار پردازش تصویر مطرح کنید تا پاسخی که داده میشه دیگران هم بتونن به راحتی استفاده کنند.
شما بایستی از کتابخانه OpenCV استفاده کنید که آخرین نسخه آن 2.4.3 هستش و Open Source هم هستش کلیه مواردی را که ذکر کردید را داره بجز I/O مربوط به DICOM که برای آن هم می تونید از کتابخانه DCMTK استفاده کنید که این هم Open Source هستش.
در ضمن C++ فقط به این صورت نیست که شما کد هاتونو تبدیل کنید انتظار داشته باشید در بهترین حالت ممکن پیاده سازی شه. شما بایستی در مورد Optimization و زبان اسمبلی اطلاعات جامعی داشته باشید.
موفق باشید
اگه شما کمک کنید تا من بیشتر بدونم ، ممنون می شم . ولی تا اونجایی که اطلاع دارم و استفاده می کنم ، QT کتابخانه های آماده ای بره کار با تصاویر و پردازش داره . البته به صورت پایه ای . همین طور از OpenGL هم پشتیبانی می کنه . البته امکان اضافه کردن کتاب خانه ها به هر IDE وجود داره . می تونید کتابخانه ها رو در مسیر نصب IDE کپی کنید . البته بهتره اول آموزش ها رو در اینترنت بخونید . جدای از این ها QT رابط کاربری مناسبی برای ایجاد GUI داره .
اگه پردازش تصویر تو QT وجود نداشت و قوی نبود ، تو کار های مربوط به رباتیک که اغلب پردازش تصویر تو اون ها اهمیت داره ، از این کامپایلر استفاده نمی شد .
البته لازم به ذکره که بگم QT در اصل یه کامپایلر یا IDE ساده هست که یک سری کتابخانه به مجموعه کتابخانه های پیش فرض c++ اضافه کرده که با استفاده از اون ها هست که برنامه نویسی با QT جذاب تر از دیگر IDE های مربوطه هستش .
alamate_aoal
یک شنبه 21 آبان 1391, 08:06 صبح
QT کتابخانه های آماده ای بره کار با تصاویر و پردازش داره . البته به صورت پایه ای . همین طور از OpenGL هم پشتیبانی می کنه .
نداره برادر.
پردازش تصویر با نقاشی فرق داره , اون کارهایی که شما میگی در Qt بهش نقاشی میگن !
OpenGL هم ربطی به پردازش تصویر نداره. اون گرافیک کامپیوتریه
94749
Pixmap
The QPixmap class is an off-screen image representation which is designed and optimized for showing images on screen
Image
The QImage class provides a hardware-independent image representation which is designed and optimized for I/O, and for direct pixel access and manipulation. QImage supports several image formats including monochrome, 8-bit, 32-bit and alpha-blended images.
Picture
The QPicture class is a paint device that records and replays QPainter commands.
اگه پردازش تصویر تو QT وجود نداشت و قوی نبود ، تو کار های مربوط به رباتیک که اغلب پردازش تصویر تو اون ها اهمیت داره ، از این کامپایلر استفاده نمی شد .
البته لازم به ذکره که بگم QT در اصل یه کامپایلر یا IDE ساده هست که یک سری کتابخانه به مجموعه کتابخانه های پیش فرض C++ اضافه کرده که با استفاده از اون ها هست که برنامه نویسی با QT جذاب تر از دیگر IDE های مربوطه هستش
Qt کامپایلر نیست IDE هم نیست!
اینکه کیوت چی هست رو با یک جستجوی ساده میتونی متوجه بشی
من هم با نظر mostafa.sataki موافقم: OpenCV
خوشبختانه کتاب فارسیش هم در بازار موجوده
برای اعداد مختلط نیاز به کار خاصی نیست.اینجا (http://www.cplusplus.com/reference/std/complex/)رو ببین
حُسن استفاده از کیوت اینه که برنامه تون روی سکوهای مختلف بدون تغییر در کد منبع اجرا میشه , اگر پورت کردن برنامه برات مهم نیست و با کیوت آشنایی نداری , کیوت بدردت نمیخوره و لا غیر
mahak006
یک شنبه 21 آبان 1391, 17:55 عصر
نداره برادر.
پردازش تصویر با نقاشی فرق داره , اون کارهایی که شما میگی در Qt بهش نقاشی میگن !
OpenGL هم ربطی به پردازش تصویر نداره. اون گرافیک کامپیوتریه
94749
Pixmap
The QPixmap class is an off-screen image representation which is designed and optimized for showing images on screen
Image
The QImage class provides a hardware-independent image representation which is designed and optimized for I/O, and for direct pixel access and manipulation. QImage supports several image formats including monochrome, 8-bit, 32-bit and alpha-blended images.
Picture
The QPicture class is a paint device that records and replays QPainter commands.
Qt کامپایلر نیست IDE هم نیست!
اینکه کیوت چی هست رو با یک جستجوی ساده میتونی متوجه بشی
من هم با نظر mostafa.sataki موافقم: OpenCV
خوشبختانه کتاب فارسیش هم در بازار موجوده
برای اعداد مختلط نیاز به کار خاصی نیست.اینجا (http://www.cplusplus.com/reference/std/complex/)رو ببین
حُسن استفاده از کیوت اینه که برنامه تون روی سکوهای مختلف بدون تغییر در کد منبع اجرا میشه , اگر پورت کردن برنامه برات مهم نیست و با کیوت آشنایی نداری , کیوت بدردت نمیخوره و لا غیر
پس دلیل اینکه تو روباتیک و پردازش تصاویر مربوط به اون ، از QT استفاده می شه ، چیه ؟
اگه بره پردازش تصویر ، خوب نیست ، پس به چه کاری میاد ؟
به نظر شما چه چیزی باعث می شه که به یه برنامه کامپایلر یا IDE بهش بگن ؟ آیا همین کارایی هایی که QT در اختیارتون گذاشته نیستن ؟
خوشحال می شم اطلاعات بیشتری کسب کنم ...
alamate_aoal
سه شنبه 23 آبان 1391, 07:28 صبح
پس دلیل اینکه تو روباتیک و پردازش تصاویر مربوط به اون ، از QT استفاده می شه ، چیه ؟
احتمالا در کنار OpenCV ازش استفاده میشه. ترکیب کیوت با OpenCV چیز خوبی از آب در میاد , این کار در کتاب OpenCV 2 Computer Vision Application Programming Cookbook انجام شده
کیوت برنامه نویسی با ++C رو با فراهم کردن روشها و کلاس هایی راحت تر و سرعت توسعه نرم افزار رو بیشتر کرده بنابراین استفاده از اون بجای ++C محض معقول به نظر میرسه.
اگه بره پردازش تصویر ، خوب نیست ، پس به چه کاری میاد ؟
اینجا (http://fa.wikipedia.org/wiki/%DA%A9%DB%8C%D9%88%D8%AA)رو بخونی ماهیت و موارد کاربردش دستت میاد
به نظر شما چه چیزی باعث می شه که به یه برنامه کامپایلر یا IDE بهش بگن ؟ آیا همین کارایی هایی که QT در اختیارتون گذاشته نیستن ؟
تعریف IDE و کامپایلر کاملا واضح و مبرهنه (ویکی پدیا رو ببین)
کیوت رو باید با چیزی مثل MFC که در IDE مایکروسافت موسوم به Visual Studio قابل استفاده است مقایسه کنی.
اصلا خود کیوت مشتری پر و پا قرص gcc و MSVC هست . یه IDE خوبی به نام Qt Creator داره , همچنین امکان استفاده کیوت در VS میسره.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.