3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
fanfuhan OpenCV 教學029 ~ opencv-029-快速的圖像邊緣濾波算法 資料來源: https://fanfuhan.github.io/ https://fanfuhan.github.io/2019/04/08/opencv-029/ GITHUB:https://github.com/jash-git/fanfuhan_ML_OpenCV 高斯雙邊模糊與mean shift均值模糊兩種邊緣保留濾波算法,都因為計算量比較大,無法實時實現圖像邊緣保留濾波,限制了它們的使用場景,OpenCV中還實現了一種快速的邊緣保留濾波算法。 高斯雙邊與mean shift均值在計算時候使用五維向量是其計算量大速度慢的根本原因,該算法通過等價變換到低緯維度空間,實現了數據降維與快速計算。 C++ #include #include using namespace std; using namespace cv; /* * 快速的图像边缘滤波算法 */ int main() { Mat src = imread("../images/test.png"); if (src.empty()) { cout << "could not load image.." << endl; } imshow("input", src); Mat dst; edgePreservingFilter(src, dst, 1, 60, 0.44); imshow("result", dst); waitKey(0); return 0; } Python import cv2 as cv import numpy as np src = cv.imread("D:/images/example.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) h, w = src.shape[:2] dst = cv.edgePreservingFilter(src, sigma_s=100, sigma_r=0.4, flags=cv.RECURS_FILTER) result = np.zeros([h, w*2, 3], dtype=src.dtype) result[0:h,0:w,:] = src result[0:h,w:2*w,:] = dst cv.imshow("result", result) cv.imwrite("D:/result.png", result) cv.waitKey(0) cv.destroyAllWindows()

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦