运用matlab求黑塞矩阵,用matlab求黑塞矩阵

这篇博客展示了如何使用Matlab计算 Lena 图像的Hessian矩阵,涉及高斯核的二阶偏导数及其在图像处理中的应用。通过逐步代码解释,读者可以理解如何使用imfilter函数和Hessian矩阵来分析图像的局部特征和纹理信息。
摘要由CSDN通过智能技术生成

(1)

clear all;

close all;

clc;

img=double(imread('lena.jpg'));

[m n]=size(img);

w=4;

sigma=1.2;

[x y]=meshgrid(-w:w,-w:w);

%高斯函数对应的二阶偏导,如何求导数请自行脑补

Dxx = 1/(2*pi*sigma^4)*(x.^2/sigma^2-1)*exp(-(x.^2+x.^2)/(2*sigma^2)); Dyy = 1/(2*pi*sigma^4)*(y.^2/sigma^2-1)*exp(-(x.^2+y.^2)/(2*sigma^2)); Dxy = 1/(2*pi*sigma^6)*(x.*y)*exp(-(x.^2+y.^2)/(2*sigma^2));

Ixx=imfilter(img,Dxx,'replicate');

Iyy=imfilter(img,Dyy,'replicate');

Ixy=imfilter(img,Dxy,'replicate');

H=cell(m,n);

for i=1:m

for j=1:n

H{i,j}=[Ixx(i,j) Ixy(i,j);Ixy(i,j) Iyy(i,j)];

end

end

(2)

function H=hessian(f,x,x0)

% H=hessian(f,x) 计算表达式

% H=hessian(f,x,x0) 计算hessian矩阵的值 x0为x的初值

%$copyright by$ LUO sir

switch nargin

case 1

error('please input variables in f(x)')

case 2

H=subhessian(f,x);

case 3

H=subhessian(f,x,x0);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值