شارپ کرن تصویر در OpenCV - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

شارپ کرن تصویر در OpenCV

+2 امتیاز
سلام. برای شارپ کردن تصویر توی کتابخانه OpenCV تابعی وجود داره ؟
سوال شده بهمن 20, 1392 بوسیله ی <<meysam>> (امتیاز 46)  
دوباره تگ گذاری شد آبان 26, 1393 بوسیله ی مصطفی ساتکی

1 پاسخ

+4 امتیاز
 
بهترین پاسخ

برای شارپ کردن تصویر بایستی مقدار کرنل برای همسایه های اصلی مرکز مساوی با -1 و برای مرکز کرنل مساوی 5 باشد به صورت زیر:

sharpness,شارپ کردن,فیلتر,opencv

 

و سپس این کرنل را در تصویر مورد نظر کانولوشن کنید با تابع cv::filter2D به صورت زیر:

void sharpen2D(const cv::Mat &image, cv::Mat &result) {

cv::Mat kernel(3,3,CV_32F,cv::Scalar(0));

kernel.at<float>(1,1)= 5.0;
kernel.at<float>(0,1)= -1.0;
kernel.at<float>(2,1)= -1.0;
kernel.at<float>(1,0)= -1.0;
kernel.at<float>(1,2)= -1.0;

cv::filter2D(image,result,image.depth(),kernel);
}

 

پاسخ داده شده بهمن 25, 1392  بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
ویرایش شده آبان 26, 1393 بوسیله ی مصطفی ساتکی
...