空域计算——2-D卷积(滤波)
直接2-D卷积方法:
- 图像矩阵与卷积核
- 乘积运算:对于图像的每一像素点,计算它的领域像素和卷积核的对应元素的乘积
- 加法运算:将每项乘积相加,作为该像素位置的值。
空域滤波器
平滑(低通) | 锐化(高通) |
---|---|
它能减弱或消除图像中的高频分量(如噪声),但图像边缘和图像轮廓变得模糊 | 它能减弱或消除图像中的低频分量,使图像的边缘、轮廓线以及图像的细节变得清晰 |
高斯滤波
采用高斯模板的空间卷积
掩膜
ROI(region of interest)感兴趣区域
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26import cv2 import numpy as np def roi_mask(img,vertices): mask = np.zeros_like(img) if len(img.shape) > 2: channel_count = img.shape[2] mask_color = (255,)*channel_count else: mask_color = 256 cv2.fillPoly(mask,verticles,mask_color) masked_img = cv2.bitwise_and(img,mask) return masked_img def showing(name,img): cv2.imshow(name,img) cv2.waitKey(0) cv2.destroyAllWindows() img = cv2.imread('imagelane.jpg') # 灰度图像 img = cv2.cvtColor(img,cv2.COLOR_BGR2_GRAY) > 这里是引用 h = image.shape[0] w = image.shape[1] roi_vtx = np.array([[(0,h),(260,325),(520,325),(w,h)]]) img_mask = roi_mask(img,roi_vtx) showing('orgimg',img) showing('newimg',img_mask)
空域滤波
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28import cv2 import matplotlib.pyplot as plt import numpy as np import math def myfilter(img,kernel): h = img.shape[0] w = img.shape[1] img1 = np.zeros((h,w),np.int8) for i in range(1,h-1): for j in range(1,w-1): sum = 0 for k in range(-1,2): for l in range(-1,2): sum += img[i+k,j+l]*kernel[k+1,l+1] img[i,j] = sum return img1 img = np.array([[1,0,0,0,0,1], [0,1,0,0,1,0], [0,0,1,1,0,0], [1,0,0,0,1,0], [0,1,0,0,1,0], [0,0,1,0,1,0]]) kernel = np.array([[1,-1, -1], [-1,1, -1], [-1,-1, 1]]) filtered_img = myfilter(img,kernel) print(filtered_img)
图像空域滤波
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21import cv2 import matplotlib.pyplot as plt import numpy as np import math def myfilter(img,kernel): h = img.shape[0] w = img.shape[1] img1 = np.zeros((h,w),np.uint8) for i in range(1,h-1): for j in range(1,w-1): sum = 0 for k in range(-1,2): for l in range(-1,2): sum += img[i+k][j+l]*kernel[i+1][j+1] img1[i][j] = sum return img1 def show(img): cv2.imshow('img',img) cv2.waitKey(0) cv2.destroyAllWindows()
高斯函数中
sigma越小,图像越尖锐
sigma越大,图像越平缓
最后
以上就是鲜艳花瓣最近收集整理的关于空域滤波学习的全部内容,更多相关空域滤波学习内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复