一個圖像金字塔式一系列的圖像組成,最底下的圖形尺寸最大,最上方的圖像尺寸最小。 高斯金字塔是從底向上,逐層降采樣得到的。 高斯金字塔的生成過程分為兩步:
降采樣之后的圖像大小是原圖像M × N 的 M/2 × N/2,就是對原圖像刪除偶數行與列,即得到降采樣之后的上一層的圖片。
pyrUp(Mat src, Mat dst, Size(src.cols*2, src.rows*2))
pyrDown(Mat src, Mat dst, Size(src.cols/2, src/rows/2))
定義 :就是把同一張圖像在不同的參數下做高斯模糊之后的結果相減,得到的輸出圖像。成為高斯不同。高斯不同是圖像的內在特征,在灰度圖像增強,角點檢測中經常用到。
下面是代碼:
/*****圖像金字塔*****//*上采樣,降采樣*/#include#includeusing namespace std;int main() { cv::Mat src, dst; src = cv::imread("1.jpg"); cv::namedWindow("input image", cv::WINDOW_NORMAL); cv::imshow("input image", src); cv::pyrUp(src, dst, cv::Size(src.cols * 2, src.rows * 2)); cv::namedWindow("up image", cv::WINDOW_NORMAL); cv::imshow("up image", dst); cv::Mat s_down; cv::pyrDown(src, s_down, cv::Size(src.cols / 2, src.rows / 2)); cv::namedWindow("down image", cv::WINDOW_NORMAL); cv::imshow("down image", s_down); //DOG cv::Mat gray_src, g1, g2, dogImg; cv::cvtColor(src, gray_src, cv::COLOR_BayerBG2GRAY); //兩次 高斯模糊 cv::GaussianBlur(gray_src, g1, cv::Size(3, 3), 0, 0); cv::GaussianBlur(g1, g2, cv::Size(3, 3), 0); //高斯模糊的結果相減 cv::subtract(g1, g2, dogImg, cv::Mat()); //將DOG的顯示效果歸一化到0-255范圍內,更加明顯 cv::normalize(dogImg, dogImg, 255, 0, cv::NORM_MINMAX); cv::namedWindow("DOG Image", cv::WINDOW_NORMAL); cv::imshow("DOG Image", dogImg); cv::waitKey(0); return 0;}
關注同名公眾號【計算機視覺與深度學習】,獲取海量計算機視覺與深度學習資源,實戰項目源碼,最新論文下載,大廠面試經驗!!!
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态