图像处理之LoG算子(高斯拉普拉斯)

LoG算子(高斯拉普拉斯算子)

LoG算子是由拉普拉斯算子改进而来。拉普拉斯算子是二阶导数算子,是一个标量,具有线性、位移不变性,其传函在频域空间的原点为0。所有经过拉普拉斯算子滤波的图像具有零平均灰度。但是该算子的缺点是对噪声具有敏感性,因此在实际应用中,一般先要对图像进行平滑滤波,再用拉氏算子进行图像的边缘检测。这就是LoG算子的产生的背景(最后的梯度表达式为高斯函数和原图像卷积,再去二阶微分算子)。

其滤波函数模型为:

常用的5*5卷积核模板为:
0 0 − 1 0 0 0 − 1 − 2 − 1 0 − 1 − 2 16 − 2 − 1 0 − 1 − 2 − 1 0 0 0 − 1 0 0 \left \\begin{array} {cccc} 0\&0\&-1\&0\&0\\\\ 0\&-1\&-2\&-1\&0\\\\ -1\&-2\&16\&-2\&-1\\\\ 0\&-1\&-2\&-1\&0\\\\ 0\&0\&-1\&0\&0\\\\ \\end{array} \\right 00−1000−1−2−10−1−216−2−10−1−2−1000−100

代码:

python 复制代码
import numpy as np
import  cv2
from matplotlib import pyplot as plt
import imgShow as iS

#定义掩膜
m1 = np.array([[0,0,-1,0,0],[0,-1,-2,-1,0],[-1,-2,16,-2,-1],[0,-1,-2,-1,0],[0,0,-1,0,0]]) #LoG算子模板
img = cv2.imread("./originImg/Lena.tif")
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#边缘扩充

image = cv2.copyMakeBorder(img, 2, 2, 2, 2, borderType=cv2.BORDER_REPLICATE)
# image = cv2.GaussianBlur(img,(3,3),4)
rows = image.shape[0]
cols = image.shape[1]
temp = 0
image1 = np.zeros(image.shape)

for i in range(2,rows-2):
    for j in range(2,cols-2):
        temp = np.abs(
            (np.dot(np.array([1, 1, 1, 1, 1]), (m1 * image[i - 2:i + 3, j - 2:j + 3])))
                .dot(np.array([[1], [1], [1], [1], [1]])))
        image1[i,j] = int(temp)
        if image1[i, j] > 255:
            image1[i, j] = 255
        else:
            image1[i, j] = 0
iS.showImagegray(image1,img , 25, 15, 'LoG', 'origin', './LoG.jpg')
# cv2.imshow("LoG",image1)
# cv2.waitKey(0)

检测结果为:

相关推荐
LaughingZhu13 小时前
Product Hunt 热榜 2026-11-02:Screen Studio 4.0、ClawsGO Science、Riverside Agents
人工智能·深度学习·神经网络·数码相机·搜索引擎·百度
mumu15713 小时前
快速上手大模型推理vllm
人工智能·python·大语言模型·agent·vllm
明天会有多晴朗13 小时前
从零手写 Transformer!一个 Python 文件跑通英译中(PyTorch 附完整源码)
人工智能·pytorch·python·深度学习·transformer
田里的水稻13 小时前
FA_CNN卷积神经网络二十一---丢弃法PyTorch
人工智能·pytorch·cnn
学IT的周星星13 小时前
本地部署与开源模型:不想花钱怎么办
人工智能·开源·大模型·llm·agent
AI人工智能+13 小时前
炫彩活体检测利用手机屏幕投射随机彩色光,通过分析真实皮肤对光的次表面散射、血红蛋白吸收及纹理细节等光学特性,实现1-2秒内无感核验
人工智能·深度学习·人脸识别·炫彩活体检测
沐梯子13 小时前
MOSS-Transcribe-Diarize 和豆包语音识别哪个好?多人会议录音转写的准确率与说话人归属对比
人工智能·语音识别·xcode
小王师傅6613 小时前
分类是科学的基础
人工智能·分类
隔振降噪研究员13 小时前
裁断机一响,楼板为什么会跟着抖?
大数据·linux·数据库·人工智能
东坡肘子13 小时前
快速消失的硬盘容量 -- 肘子的 Swift 周报 #160
人工智能·swiftui·swift