图像处理:设计动态高斯滤波
创作时间:
作者:
@小白创作中心
图像处理:设计动态高斯滤波
引用
CSDN
1.
https://blog.csdn.net/JNingWei/article/details/79137301
Idea
OpenCV中有一个实现高斯滤波的接口,如下:
cv2.GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)
在项目过程中,发现如果根据像素点相对整张图片的位置设计不同的滤波核大小(即参数ksize),就可以灵活地对整张图片实现动态高斯滤波。具体滤波核大小计算公式如下:
size = int(k1*x + k2*y + b) * 2 + 1
Note :注意保证输出结果为整型奇数,因为参数ksize只接受整型奇数输入。
由于图片大小是600×424×3,所以k1,k2,b的取值如下:
Demo
原图像:
水平动态高斯滤波:
垂直动态高斯滤波:
Code
以下代码中,关于“对角动态高斯滤波(diagonal gaussian)”的代码段有问题,所以被注释掉了。因为不能对单元素单独进行高斯滤波,所以会报错。具体该怎么解决,我也一时没想到。
# coding=utf-8
import numpy as np
import cv2
def kernel_size(x, y, type):
if type == "vertical":
k1, k2, b = 0, 0.012, 0
elif type == "horizontal":
k1, k2, b = 0.009, 0, 0
elif type == "diagonal":
k1, k2, b = 0.0053, 0.0053, 0
else:
k1, k2, b = 0, 0, 11
size = int(k1*x + k2*y + b) * 2 + 1
return size
def range_limit(img):
img *= (img>0)
img = img * (img<=255) + 255 * (img>255)
img = img.astype(np.uint8)
return img
def dynamic_gaussian(img):
h, w, c = np.shape(img)
sigma = 2
# gs_v: vertical gaussian, 垂直高斯
# gs_h: horizontal gaussian, 水平高斯
# gs_d: diagonal gaussian, 对角高斯
gs_v, gs_h, gs_d = img.copy(), img.copy(), img.copy()
for i in range(h):
k_size = kernel_size(w, i, "vertical")
gs_v[i, :, :] = cv2.GaussianBlur(gs_v[i, :, :], (k_size, k_size), sigma)
print(i, k_size)
for j in range(w):
k_size = kernel_size(j, h, "horizontal")
gs_h[:, j, :] = cv2.GaussianBlur(gs_h[:, j, :], (k_size, k_size), sigma)
print(j, k_size)
# # 报错:
# for i in range(h):
# for j in range(w):
# k_size = kernel_size(i, j, "diagonal")
# gs_d[i, j, :] = cv2.GaussianBlur(gs_d[i, j, :], (k_size, k_size), sigma)
# print(i, j, k_size)
return gs_v, gs_h, gs_d
def main():
img_path = "./girl.jpg"
img = cv2.imread(img_path)
gs_v, gs_h, gs_d = dynamic_gaussian(img)
cv2.imwrite("./gs_v.jpg", gs_v)
cv2.imwrite("./gs_h.jpg", gs_h)
cv2.imwrite("./gs_d.jpg", gs_d)
if __name__ == "__main__":
main()
本文原文来自CSDN
热门推荐
智慧碰撞与精神共鸣:毛主席与13个中医名士交往录(上)
尾骨疼痛,究竟是哪里的问题?如何缓解?请看此文
孩子坐姿不正,当心患上脊柱侧弯,专家提醒:定期筛查、及时干预,让孩子挺直腰板
“city不city?” 西安美滴很!
什么是纤维桩?为什么做完根管治疗要打纤维桩?
同样的预算,买新房还是二手房更划算?
小狗狗叫怎么办,如何有效安抚它的情绪与需求?
伏羲山一日游攻略:价格、行程与景点详解
200万现金在广州买房:首付、区域、方案全攻略
什么是单向板、双向板?
马鞍山一日游必玩线路,必打卡景点,必吃美食,避坑指南
国产电池和进口电池有什么区别?
mc末地要塞怎么找?快速定位末地要塞的实用技巧
明确了!2024年农民养老金新标准,60岁农村老人,能领多少钱呢?
上海的城市传统与女性书写空间
崂山区探索科学减重:中医调摄与环境改造双管齐下
如何提高人际交往能力?六大维度全面提升你的社交技能
AI助力,我国科学家取得催化基础理论重大突破
联合国发布里程碑式报告:全球四分之三土地面临永久性干旱威胁
打造高效会议的七大关键:从目标设定到执行追踪
广州后花园从化:自然人文与温泉美食的完美融合
高考志愿填报:先选学校还是先选专业?看这一篇就够了
《朝云散》:小成本古装探案剧的质感魅力解析
2024全球护照免签数量排名,日本世界第二,中国排名提升!
专家意见书是什么
2025年甘肃省新能源及装备制造产业链全景图谱
口蘑:营养价值、功效、禁忌与食用方式
大功率充电器能给小功率的手机充电吗?快收好这篇电池维护指南
2025云南高校排名出炉:云大第1,昆工险胜云南民大,云师大第4
社区动物志:一场关于动物保护的深度探索