前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >OpenCV之快速的图像边缘滤波算法

OpenCV之快速的图像边缘滤波算法

作者头像
MachineLP
发布于 2021-07-23 08:17:38
发布于 2021-07-23 08:17:38
39800
代码可运行
举报
文章被收录于专栏:小鹏的专栏小鹏的专栏
运行总次数:0
代码可运行

python代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import cv2 as cv
import numpy as np

src = cv.imread("./test.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
result = cv.resize(result, (w, h//2) )
cv.imshow("result", result)
# cv.imwrite("result.png", result)


cv.waitKey(0)
cv.destroyAllWindows()

C++代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int artc, char** argv) {
	Mat src = imread("./test.png");
	if (src.empty()) {
		printf("could 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/07/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
OpenCV之边缘保留滤波算法 – 高斯双边模糊
python代码: import cv2 as cv import numpy as np src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) h, w = src.shape[:2] dst = cv.bilateralFilter(src, 0, 100, 10) result = np.zeros([h, w*2, 3], dtype=src.dtype)
MachineLP
2021/07/20
4950
OpenCV之边缘保留滤波算法 – 高斯双边模糊
OpenCV之边缘保留滤波算法 – 均值迁移模糊(mean-shift blur)
python代码: import cv2 as cv import numpy as np src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) h, w = src.shape[:2] dst = cv.pyrMeanShiftFiltering(src, 15, 30, termcrit=(cv.TERM_CRITERIA_MAX_ITER+cv.TERM_C
MachineLP
2021/07/20
6300
OpenCV之边缘保留滤波算法 – 均值迁移模糊(mean-shift blur)
OpenCV之图像二值寻找算法 – OTSU
python代码: import cv2 as cv import numpy as np # # THRESH_BINARY = 0 # THRESH_BINARY_INV = 1 # THRESH_TRUNC = 2 # THRESH_TOZERO = 3 # THRESH_TOZERO_INV = 4 # src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) h
MachineLP
2021/08/13
3420
OpenCV之Canny边缘检测器
python代码: import cv2 as cv import numpy as np src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) # t1 = 100, t2 = 3*t1 = 300 edge = cv.Canny(src, 100, 300) cv.imshow("mask image", edge) cv.imwrite("./edge.pn
MachineLP
2021/08/05
3330
OpenCV之USM 锐化增强算法
python代码: import cv2 as cv import numpy as np src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) # sigma = 5、15、25 blur_img = cv.GaussianBlur(src, (0, 0), 5) usm = cv.addWeighted(src, 1.5, blur_img, -0.5, 0)
MachineLP
2021/08/05
1.1K0
OpenCV之Sobel算子
python代码: import cv2 as cv import numpy as np src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) h, w = src.shape[:2] x_grad = cv.Sobel(src, cv.CV_32F, 1, 0) y_grad = cv.Sobel(src, cv.CV_32F, 0, 1) x_grad =
MachineLP
2021/07/23
3080
OpenCV之图像锐化
python代码: import cv2 as cv import numpy as np src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) # sharpen_op = np.array([[-1, -1, -1], [-1, 9, -1], [-1, -1, -1]], dtype=np.float32) sharpen_op = np.array([[0
MachineLP
2021/07/27
7660
OpenCV之图像二化自适应阈值算法
python代码: import cv2 as cv import numpy as np # # THRESH_BINARY = 0 # THRESH_BINARY_INV = 1 # THRESH_TRUNC = 2 # THRESH_TOZERO = 3 # THRESH_TOZERO_INV = 4 # src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src)
MachineLP
2021/08/13
9670
OpenCV之图像插值
python代码: import cv2 as cv src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) h, w = src.shape[:2] print(h, w) dst = cv.resize(src, (w*2, h*2), fx=0.75, fy=0.75, interpolation=cv.INTER_NEAREST) cv.imshow("IN
MachineLP
2021/07/19
3980
OpenCV之图像插值
OpenCV之图像创建与赋值
python代码: import cv2 as cv import numpy as np src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) # 克隆图像 m1 = np.copy(src) # 赋值 m2 = src src[100:200,200:300,:] = 255 cv.imshow("m2",m2) m3 = np.zeros(src.sha
MachineLP
2021/07/19
4740
OpenCV之图像创建与赋值
OpenCV之图片读取与显示
python代码: import cv2 as cv src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) cv.waitKey(0) cv.destroyAllWindows() c++代码: #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace
MachineLP
2021/07/19
1.3K0
OpenCV之图片读取与显示
OpenCV之图片灰度化
python 代码: import cv2 as cv src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY) cv.imshow("gray", gray) cv.waitKey(0) cv.destroyAllWindows() C++代码: #include <opencv2/
MachineLP
2021/07/19
3160
OpenCV之图片灰度化
OpenCV之中值模糊
中值滤波本质上是统计排序滤波器的一种,中值滤波对图像特定噪声类型(椒盐噪声)会取得比较好的去噪效果,也是常
MachineLP
2021/07/20
2640
OpenCV之中值模糊
OpenCV之基本阈值操作
python代码: import cv2 as cv import numpy as np # # THRESH_BINARY = 0 # THRESH_BINARY_INV = 1 # THRESH_TRUNC = 2 # THRESH_TOZERO = 3 # THRESH_TOZERO_INV = 4 # src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src)
MachineLP
2021/08/13
4860
OpenCV之基本阈值操作
OpenCV之图像翻转
python代码: import cv2 as cv import numpy as np src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) # X Flip 倒影 dst1 = cv.flip(src, 0); cv.imshow("x-flip", dst1); # Y Flip 镜像 dst2 = cv.flip(src, 1); cv.imshow(
MachineLP
2021/07/19
3160
OpenCV之图像翻转
OpenCV之图像直方图均衡化
python代码: import cv2 as cv import numpy as np from matplotlib import pyplot as plt def custom_hist(gray): h, w = gray.shape hist = np.zeros([256], dtype=np.int32) for row in range(h): for col in range(w): pv = gray[row, co
MachineLP
2021/07/19
3830
OpenCV之图像二值寻找算法 – TRIANGLE
python代码: import cv2 as cv import numpy as np #import tensorflow as tf # tf.enable_eager_execution() # # THRESH_BINARY = 0 # THRESH_BINARY_INV = 1 # THRESH_TRUNC = 2 # THRESH_TOZERO = 3 # THRESH_TOZERO_INV = 4 # src = cv.imread("./test.png") cv.namedWindo
MachineLP
2021/08/13
3670
OpenCV图像处理之基于积分图实现NCC快速相似度匹配
基于Normalized cross correlation(NCC)用来比较两幅图像的相似程度已经是一个常见的图像处理手段。在工业生产环节检测、监控领域对对象检测与识别均有应用。NCC算法可以有效降低光照对图像比较结果的影响。而且NCC最终结果在-1到1之间,所以特别容易量化比较结果,只要给出一个阈值就可以判断结果的好与坏。
OpenCV学堂
2018/10/23
7.5K1
OpenCV图像处理之基于积分图实现NCC快速相似度匹配
OpenCV之图像像素读写
python代码: import cv2 as cv src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) h, w, ch = src.shape print("h , w, ch", h, w, ch) for row in range(h): for col in range(w): b, g, r = src[row, col]
MachineLP
2021/07/19
2500
OpenCV之图像像素读写
OpenCV之图像像素操作(逻辑操作)
python代码: import cv2 as cv import numpy as np # create image one src1 = np.zeros(shape=[400, 400, 3], dtype=np.uint8) src1[100:200, 100:200, 1] = 255 src1[100:200, 100:200, 2] = 255 cv.imshow("input1", src1) # create image two src2 = np.zeros(shape=[400,
MachineLP
2021/07/19
3300
OpenCV之图像像素操作(逻辑操作)
相关推荐
OpenCV之边缘保留滤波算法 – 高斯双边模糊
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验