ورود

View Full Version : سوال: تغییر سایز عکس با c++



i.tino
سه شنبه 17 اردیبهشت 1398, 10:26 صبح
سلام
میخواستم بدونم چه جوری میتونم با c++ یه عکس رو سایزشو تغییر بدم

m2_farzan
دوشنبه 06 خرداد 1398, 02:08 صبح
سلام.

فرض کرده ام منظورتون از سایز،‌ ابعاد تصویر بر حسب پیکسل هست، نه حجم فایل عکس روی حافظه.

برای تغییر ابعاد تصویر میتونید از کتابخانه OpenCV استفاده کنید. این کتابخانه تابعی به نام resize داره که مستنداتش در لینک زیر اومده:
https://docs.opencv.org/3.0-alpha/modules/imgproc/doc/geometric_transformations.html#resize (https://docs.opencv.org/2.4/modules/imgproc/doc/geometric_transformations.html#resize)

مراحل کار به صورت زیر هست:

۱- فایل عکس رو با استفاده از تایع imread بخونید. خروجی این تابع از نوع Mat هست که یک ماتریس دو بعدی از پیکسل رو نگهداری میکنه. مستندات تابع imread در لینک زیر اومده:
https://docs.opencv.org/3.0-alpha/modules/imgcodecs/doc/reading_and_writing_images.html#imread

۲- یک نمونه از Mat بسازید که خروجی را در آن خواهیم نوشت.

۳- با استفاده از تابع resize که لینک مستنداتش در بالا آورده شد، سایز عکس را تغییر دهید.

۴- با استفاده از تابع imwrite، خروجی را در فایل ذخیره کنید. مستدات این تابع:
https://docs.opencv.org/3.0-alpha/modules/imgcodecs/doc/reading_and_writing_images.html#imwrite

موفق باشید