概述
空域计算——2-D卷积(滤波)
直接2-D卷积方法:
- 图像矩阵与卷积核
- 乘积运算:对于图像的每一像素点,计算它的领域像素和卷积核的对应元素的乘积
- 加法运算:将每项乘积相加,作为该像素位置的值。
空域滤波器
平滑(低通) | 锐化(高通) |
---|---|
它能减弱或消除图像中的高频分量(如噪声),但图像边缘和图像轮廓变得模糊 | 它能减弱或消除图像中的低频分量,使图像的边缘、轮廓线以及图像的细节变得清晰 |
高斯滤波
采用高斯模板的空间卷积
掩膜
ROI(region of interest)感兴趣区域
import 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)
空域滤波
import 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)
图像空域滤波
import 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越大,图像越平缓
最后
以上就是鲜艳花瓣为你收集整理的空域滤波学习的全部内容,希望文章能够帮你解决空域滤波学习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复