对于下面的代码,我被问到一个问题,为什么我在laplacian过滤器中采用了衍生物。什么衍生物实际上对图像。也可以告诉我 18 的含义是什么,即 original_image - filtered_image
close all
clear all
j=imread('blur.png');
A = j(:,:,1);
figure,imshow(A); title('Original Image')
Original_image=A;
Filtered_Image=zeros(size(A));
F=[1 1 1;1 -8 1; 1 1 1];
A=double(A);
for k=1:size(A,1)-2
for j=1:size(A,2)-2
Filtered_Image(k,j)=sum(sum(F.*A(k:k+2,j:j+2)));
end
end
Filtered_Image= uint8(Filtered_Image);
figure,imshow(Filtered_Image);title('Filtered Image');
Deblurred_image=Original_image-5*Filtered_Image;
figure,imshow(Deblurred_image);title('Deblurred Image');
答案 0 :(得分:2)
F
是拉普拉斯高斯(LoG)核(二阶导数),用于查找图像内部的边。
我们通常使用导数来查找图像中的边缘,因为导数表示变化率。在图像中,边缘通常由强度的急剧变化标记,这意味着它们也具有大的导数。一阶导数通常在边缘处显示最大值或最小值。我们通常将一阶导数阈值化以找到边缘。像LoG这样的二阶导数检测器实际上是通过零交叉标记边缘。看看二阶导数核,它增加了边缘像素的对比度,边缘本身为0.两种方法都是为了夸大边缘
回到你的问题。如果我们的过滤图像是我们的LoG操作的结果,则意味着Filtered_Image
包含图像的边缘。因此,如果我们从图像original - filtered
中减去边缘,我们实际上是在强调边缘。