我正在学习反向过滤,我试着对它进行编码,我从网上找到了一些参考资料。每个人都考虑了光学传递函数,这在冈萨雷斯书中是看不到的,我指的是。
% Inverse_Filter_Demo-
clc
clear all
close all
original_image=imread('cameraman.jpg'); %loading the original (un-blurred) image
original_image=double(original_image);
%The blur function (PSF- Point Spread Function) tha
Python允许内置函数pow中的第三个参数,它基本上计算这个第三个参数(pow(a,b,c) = a**b % c)的幂模。
当指数为负值时,它是如何工作的?例如:
pow(6, -2, 13)
#-> 4
pow(6, -2, 12)
#-> Traceback (most recent call last):
#-> File "<stdin>", line 1, in <module>
#-> ValueError: base is not invertible for the given modulus
这是一个不完整的Python代码片段,它使用FFT进行卷积。
我想修改它,使它支持,1)有效卷积2)和完全卷积。
import numpy as np
from numpy.fft import fft2, ifft2
image = np.array([[3,2,5,6,7,8],
[5,4,2,10,8,1]])
kernel = np.array([[4,5],
[1,2]])
fft_size = # what size should I put here for,
# 1) va
假设我有两个矩阵:image, filter;和MxM and NxN大小。
我的常规卷积看起来像这样,并产生矩阵output大小(M-N+1)x(M-N+1)。基本上,它将过滤器的左上角放置在像素上,卷积,然后将和分配到该像素上:
for (int i=0; i<M-N; i++)
for (int j=0; j<M-N; j++)
{
float sum = 0;
for (int u=0; u<N; u++)
for (int v=0; v<N; v++)
sum += image[i+u][j+v] * filter[u