图像处理:设计动态高斯滤波
创作时间:
作者:
@小白创作中心
图像处理:设计动态高斯滤波
引用
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
热门推荐
东昌湖夜游重启!水上光影秀点亮聊城夜空
冬日打卡:东昌湖的冰雪奇缘
桂林菜:一座山水城市的美食传奇
宗族文化的真諦——祠堂
马来西亚最火水上乐园:SplashMania限时优惠!
柴油车过海必读:海南机动车辆通行附加费征收全攻略
西方世界为什么这么重视《圣经》?
《超凡先锋》重拳打击外挂,违规玩家面临永久封禁
警惕!超凡先锋国际服外挂危害大揭秘
武警警官学院:70年历史变迁与新时代使命
中华烟日本高价之谜:营销策略揭秘
中华烟价格暴跌?真相揭秘!
朱元璋推动春联普及,你知道怎么贴吗?
春节回家,如何优雅拒绝催婚?
双十一送礼攻略:给父母的抗催婚神器
【湘菜】小炒黄牛肉
美国博主杰克探访桂林夜生活,亲证城市安全与美食魅力
海南燕子沟自然奇观:探秘热带雨林秘境之旅
蜜蜂DongDong羊兑换码大揭秘!蛋仔派对玩家必看攻略
探秘东昌湖:聊城的文化瑰宝
冬日打卡:东昌湖雪景+美食全攻略
秋冬打卡东昌湖:古楼美景不容错过
調適職場壓力!上班壓力好大?心理師教你 做好情緒管理
武警学院毕业生成为社会守护者的职业之路
药品有效期不等于使用期,这些储存使用注意事项请收好
撑起诗意:非遗油纸伞与《雨巷》的故事
余杭油纸伞:从传统工艺到国际设计的华丽转身
杭州地铁禁止携带油纸伞引发争议:安全与文化传承的博弈
DeepSeek AI:从技术突破到数据隐私困境
嘉定新城:二十年绘就蓝绿交织、产城辉映的优美画卷