首页 / 算法 / Opencv-快速的图像边缘滤波算法
Opencv-快速的图像边缘滤波算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Opencv-快速的图像边缘滤波算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2028字,纯文字阅读大概需要3分钟。
内容图文
![Opencv-快速的图像边缘滤波算法](/upload/InfoBanner/zyjiaocheng/716/e89b10af5ccc4de4bb9d0fd5fd3dfc20.jpg)
快速的图像边缘滤波算法
知识点
快速的图像边缘滤波算法
高斯双边模糊与mean shift均值模糊两种边缘保留滤波算法,都因为计算量比较大,无法实时实现图像边缘保留滤波,限制了它们的使用场景,OpenCV中还实现了一种快速的边缘保留滤波算法。高斯双边与mean shift均值在计算时候使用五维向量是其计算量大速度慢的根本原因,该算法通过等价变换到低纬维度空间,实现了数据降维与快速计算。
OpenCV API函数为:
void cv::edgePreservingFilter(
InputArray src,
OutputArray dst,
int flags = 1,
float sigma_s = 60,
float sigma_r = 0.4f
)
Python:
dst = cv.edgePreservingFilter( src[, dst[, flags[, sigma_s[, sigma_r]]]])
其中sigma_s的取值范围为0~200, sigma_r的取值范围为0~1
当sigma_s取值不变时候,sigma_r越大图像滤波效果越明显
当sigma_r取值不变时候,窗口sigma_s越大图像模糊效果越明显
当sgma_r取值很小的时候,窗口sigma_s取值无论如何变化,图像双边滤波效果都不好!
python代码
import cv2 as cv
import numpy as np
import time
src = cv.imread("C:/Users/qqxd/Desktop/opencvcode/images/example.png")
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)
h, w = src.shape[:2]
#计算程序运行时间
start = time.clock()
dst = cv.edgePreservingFilter(src, sigma_s=100, sigma_r=0.4, flags=cv.RECURS_FILTER)
end = (time.clock()-start)
print("running time is %f" % (end))
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()
c++代码
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int artc, char** argv) {
Mat src = imread("C:/Users/qqxd/Desktop/opencvcode/images/example.png");
if (src.empty()) {
printf("could not load image...\n");
return -1;
}
namedWindow("input", WINDOW_AUTOSIZE);
imshow("input", src);
Mat dst;
double tt = getTickCount();
edgePreservingFilter(src, dst, 1, 60, 0.44);
//计算程序运行时间
double end = (getTickCount() - tt) / getTickFrequency();
printf("time consume : %f\n ", end);
imshow("result", dst);
waitKey(0);
return 0;
}
运行结果如下:
内容总结
以上是互联网集市为您收集整理的Opencv-快速的图像边缘滤波算法全部内容,希望文章能够帮你解决Opencv-快速的图像边缘滤波算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。