-
2021-04-18 04:41:18
滤波反投影重建算法实现及应用(matlab)
1. 滤波反投影重建算法原理
滤波反投影重建算法常用在CT成像重建中,背后的数学原理是傅立叶变换:对投影的一维傅立叶变换等效于对原图像进行二维的傅立叶变换。(傅立叶中心切片定理)
CT重建算法大致分为解析重建算法和迭代重建算法,随着CT技术的发展,重建算法也变得多种多样,各有各的有特点。本文使用目前应用最广泛的重建算法——滤波反投影算法(FBP)作为模型的基础算法。FBP算法是在傅立叶变换理论基础之上的一种空域处理技术。它的特点是在反投影前将每一个采集投影角度下的投影进行卷积处理,从而改善点扩散函数引起的形状伪影,重建的图像质量较好。
上图应可以清晰的描述傅立叶中心切片定理的过程:对投影的一维傅立叶变换等效于对原图像进行二维的傅立叶变换
傅立叶切片定理的意义在于,通过投影上执行傅立叶变换,可以从每个投影中得到二维傅立叶变换。从而投影图像重建的问题,可以按以下方法进行求解:采集不同时间下足够多的投影(一般为180次采集),求解各个投影的一维傅立叶变换,将上述切片汇集成图像的二维傅立叶变换,再利用傅立叶反变换求得重建图像。
投影相关知识请参考fbp的matlab实现
2. 滤波反投影重建算法过程(以平行束为例)
投影重建的过程是,先把投影由线阵探测器上获得的投影数据进行一次一维傅立叶变换,再与滤波器函数进行卷积运算,得到各个方向卷积滤波后的投影数据;然后把它们沿各个方向进行反投影,即按其原路径平均分配到每一矩阵单元上,进行重叠后得到每一矩阵单元的CT值;再经过适当处理后得到被扫描物体的断层图像
算法步骤如下:
1. 将原始投影进行一次一维傅立叶变换
2. 设计合适的滤波器,在φ_i的角度下将得到原始投影p(x_r,φ_i)进行卷积滤波,得到滤波后的投影。
3. 将滤波后的投影进行反投影,得到满足x_r=r cos((θ - φ_i))方向上的原图像的密度。
4. 将所有反投影进行叠加,得到重建后的投影。
3. 滤波器(滤波函数)和内插函数的选取
由于直接使用反投影算法会存在两个对实验结果影响很不好的因素:
不准确的数据重建图像就会产生各种伪影。
投影的数据是天然离散的,处理不当的话会产生很大的误差。
常见的滤波器有R-S滤波函数和S-L滤波函数。R-L滤波函数滤波计算简单,避免了大量的正弦、余弦计算,得到的采样序列分是分段现行的,并没有明显的降低图像质量,所以重建图像轮廓清楚,空间分辨率高。
常见的插值方法有最近邻插值和双线插值,最近邻插值即将离散点中间的缺失值用离它最近的整数处的投影值来替代。
4. FBP的matlab实现
使用R-L滤波器和最近邻插值方法
clc,clear;
%% 各个参数信息
%重建后图片像素个数
M=512;%建议先和接收传感器的个数一样
%旋转的角度 180次旋转
theta=xlsread('angles_180_3.xlsx','Sheet1','a2:a181');
%投影为512行,180列的数据,列的数据对应每一次旋转,512个接收传感器
R=xlsread('Accessory_A.xls','附件3');
%由投影进行反变换
size(R,1);%512
% 设置快速傅里叶变换的宽度
width = 2^nextpow2(size(R,1));
%% 对投影做快速傅里叶变换并滤波
%傅立叶变换
proj_fft = fft(R, width);
% filter 滤波
% R-L是一种基础的滤波算法
filter = 2*[0:(width/2-1), width/2:-1:1]'/width;
% 滤波后结果 proj_filtered
proj_filtered = zeros(width,180);
for i = 1:180
proj_filtered(:,i) = proj_fft(:,i).*filter;
end
figure
subplot(1,2,1),imshow(proj_fft),title('傅立叶变换')
subplot(1,2,2),imshow(proj_filtered),title('傅立叶变换+滤波')
%% 逆快速傅里叶变换并反投影
% 逆快速傅里叶变换 proj_ifft
proj_ifft = real(ifft(proj_filtered));
figure,imshow(proj_ifft),title('逆傅立叶变换')
%反投影到x轴,y轴
fbp = zeros(M); % 假设初值为0
for i = 1:180
rad = theta(i);%弧度, %这个rad 是投影角,不是投影线与x轴夹角,他们之间相差 pi/2
for x = 1:M
for y = 1:M
%{
%最近邻插值法
t = round((x-M/2)*cos(rad)-(y-M/2)*sin(rad));%将每个元素舍X入到最接近的整数。
if t-size(R,1)/2
fbp(x,y)=fbp(x,y)+proj_ifft(round(t+size(R,1)/2),i);
end
%}
t_temp = (x-M/2) * cos(rad) - (y-M/2) * sin(rad)+M/2 ;
%最近邻插值法
t = round(t_temp) ;
if t>0 && t<=512
fbp(x,y)=fbp(x,y)+proj_ifft(t,i);
end
end
end
end
fbp = (fbp*pi)/180;%512x512 原图像每个像素位置的密度
xlswrite('problem2_origin.xlsx',fbp,'Sheet1');%将得到的重建后的图像数据写入
% 显示结果
figure,imshow(fbp),title('反投影变换后的图像')
其中每一个文件都有作用的说明,如需源文件请留言哈。(如有错误请指正)
fbp算法实现案例
github代码下载 别忘了给star哟~
参考文献:
【1】 范慧赟.CT 图像滤波反投影重建算法的研究[D].硕士学位论文,西北工业大学,2007.
【2】 余晓锷,龚剑,马建华等.CT 原理与技术[M].北京:科学出版社,2013,95-97.
【3】 毛小渊. 二维CT图像重建算法研究[D].南昌航空大学,2016.
【4】 洪虹. CT中金属伪影的校正研究[D].南方医科大学,2013.
【5】 范慧赟. CT图像滤波反投影重建算法的研究[D].西北工业大学,2007.
更多相关内容 -
CT 滤波反投影重建 直接反投影重建
2018-12-13 14:34:19其余为自己编写,通过两种不同插值的方法,实现直接反投影和滤波反投影,最终script实现3种不同投影个数的重建效果。 适合CT重建算法初学者调试学习,直观了解不同算法,不同投影个数引起的不同结果。 phantom 为一... -
滤波反投影重建算法
2018-11-16 17:14:25二维滤波反投影重建算法,旋转角度为0-180度,测试后发现略有角度偏移,希望各位指正。 -
扁平构件的三维CT滤波反投影重建算法研究 (2008年)
2021-05-28 13:47:47对扁平构件的仿真结果表明:在射线源为锥束入射扫描方式下,通过分布在锥面上的ρ滤波器进行滤波反投影重建,得到的重建切片图像能够明显区分物体的边界及内部缺陷的边界和密度,空间分辨率可达到2 lp/ mm,密度分辨率... -
CT平行束滤波反投影重建程序
2014-08-20 11:05:27CT平行束滤波反投影重建程序,利用matlab自带pantom进行正向投影,然后通过滤波反投影恢复出图像 -
实验一平行束投影数据采集与滤波反投影重建实验
2019-01-17 14:30:54实验一平行束投影数据采集与滤波反投影重建实验实验报告,附有matlab源码 -
基于matlab的平行束滤波反投影重建算法
2011-07-22 22:31:09基于matlab的平行束滤波反投影重建算法。基于matlab的平行束滤波反投影重建算法 -
滤波反投影重建
2014-05-08 22:29:03滤波反投影重建,此为经典的滤波反投影重建 -
CT扇形束滤波反投影图像重建算法优化
2021-02-09 02:51:25基于等距扇形束滤波反投影(FBP)算法推导了一种新的算法求导希尔伯特反投影(DHB)算法,研究了DHB算法在频域对投影的滤波特性。通过理论分析和实验验证,指出由于DHB滤波函数在高频段对于锐截止特性的改善,很大程度上... -
FBP 滤波反投影重建
2021-08-10 20:37:56为什么光有反投影不足以得到质量较好的图像,下面这个图像能很好的说明问题,图像的边缘模糊 二…中心切片定理 二维图像的中心切片定理指出:二维函数 f(x, y) 的投影 p(s) 之傅里叶变换 P(ω) 等于函数 f(x, y) 的...一.为什么光有反投影不足以得到质量较好的图像,下面这个图像能很好的说明问题,图像的边缘模糊
二…中心切片定理
二维图像的中心切片定理指出:二维函数 f(x, y) 的投影 p(s) 之傅里叶变换 P(ω) 等于函数 f(x, y) 的傅里叶变换 F(ωx, ωy) 沿与探测器平行的方向过原点的片段1.一维连续傅里叶变换对:
二维连续傅里叶变换对:
2.根据中心切片的定义,如果探测器绕物体旋转至少180°,物体的二维傅里叶变换 ) , F (ωx, ωy) 所对应于探测器方向的中心片段就能覆盖整个傅里叶空间,也就是说,知道物体的二维的傅里叶变换,二维傅里叶反变换就可以恢复出物体
3.中心切片定理的证明:
三.FBP (Filtered Backprojection 先滤波后反投影) 算法
从上面的频域图来看,每一个角度的投影的傅里叶变换,是穿过频域坐标中心的一条直线,最后形成一个点散射的形状,中心片段在 ωx-ωy 平面的原点的密度高于在远离原点的区域的密度,而在傅里叶空间原点附近的区域是低频区域。对低频分量的过分加权导致图像变得模糊。为了消除模糊的效果,我们对傅里叶空间要进行加权矫正,使其密度均匀。因此使用了一个低频滤波器,|w|,抑制低频成分,提高图像的清晰度近期补上剩下的部分
-
滤波反投影的c++实现
2018-10-25 09:32:13基于MFC的图片处理,根据radon变换获得数据进行滤波反投影显示原始图像,shepp-logon模型 -
滤波反投影fbp算法matlab
2018-05-16 15:33:39用matlab实现ct滤波反投影fbp算法,其中投影可以直接用radon变化实现,但代码中手动编写投影部分的代码,使用的滤波器为R-L滤波器 -
滤波反投影matlab实现(matlab源程序)
2017-04-13 15:50:06滤波反投影 -
CT图像滤波反投影重建算法的研究
2014-06-07 09:58:22滤波反投影算法 CT,代码,介绍,反投影算法 -
实验一平行束投影数据采集与滤波反投影重建实验宣贯.pdf
2022-02-13 19:54:32实验一平行束投影数据采集与滤波反投影重建实验宣贯.pdf -
实验一平行束投影数据采集与滤波反投影重建实验[参照].pdf
2021-10-29 13:57:30实验一平行束投影数据采集与滤波反投影重建实验[参照].pdf -
ctmatlab代码-CTReconstruction:Matlab代码用于...通过应用反投影,滤波反投影和卷积反投影来重建CT图像;2.最
2021-05-27 05:33:33ct Matlab代码CT重建 Matlab代码,通过应用反投影,滤波反投影和卷积反投影来重建CT图像。 -
MATLAB滤波反投影算法
2017-10-31 18:42:24利用MATLAB实现滤波反投影技术,编写的一个程序。。。。 -
基于扇形滤波的反投影重建算法.zip
2020-07-09 20:19:36利用MATLAB实现了基于扇形滤波的反投影重建算法,对学习反投影重建算法有一定的帮助,以及扇形滤波等知识 -
【youcans 的 OpenCV 例程 200 篇】112. 滤波反投影重建图像
2022-02-23 13:55:09图像重建的基本思想,就是通过探测物体的投影数据,重建物体的实际内部...滤波反投影重建算法在反投影前将每一个采集投影角度下的投影进行卷积处理,从而改善点扩散函数引起的形状伪影,有效地改善了重建的图像质量。欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中
欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中
【youcans 的 OpenCV 例程 200 篇】112. 滤波反投影重建图像
7. 投影重建图像
图像重建的基本思想,就是通过探测物体的投影数据,重建物体的实际内部构造。
7.3 滤波反投影重建图像 (Filtered back projection)
直接由正弦图得到反投影图像,会存在严重的模糊,这是早期 CT 系统所存在的问题。
傅立叶中心切片定理表明,投影的一维傅立叶变换是得到投影区域的二维傅立叶变换的切片。滤波反投影重建算法在反投影前将每一个采集投影角度下的投影进行卷积处理,从而改善点扩散函数引起的形状伪影,有效地改善了重建的图像质量。
以 f ( x , y ) f(x,y) f(x,y) 表示需要重建的图像, F ( u , v ) F(u,v) F(u,v) 的二维傅里叶反变换是:
f ( x , y ) = ∫ − ∞ ∞ ∫ − ∞ ∞ F ( u , v ) e j 2 π ( u x + v y ) d u d v f(x,y) = \int^{\infty}_{-\infty} \int^{\infty}_{-\infty} F(u,v) e^{j 2 \pi (ux+vy)} dudv f(x,y)=∫−∞∞∫−∞∞F(u,v)ej2π(ux+vy)dudv
利用傅里叶切片定理,可以得到:
f ( x , y ) = ∫ 0 π [ ∫ − ∞ ∞ ∣ ω ∣ G ( ω , θ ) e j 2 π ω ρ d ω ] d θ f(x,y) = \int^{\pi}_{0} \big[ \int^{\infty}_{-\infty} |\omega|G(\omega,\theta) e^{j 2 \pi \omega \rho} d\omega \big] d\theta f(x,y)=∫0π[∫−∞∞∣ω∣G(ω,θ)ej2πωρdω]dθ
括号 [] 内部是一个一维傅里叶反变换,可以认为这是一个一维滤波器的传递函数。由于 ∣ ω ∣ |\omega| ∣ω∣ 是一个不可积的斜坡函数(Slope function),可以通过对斜坡加窗进行限制,典型地如汉明窗(Hamming window)、韩窗(Hann window)。该式也可以使用空间卷积来实现:
f ( x , y ) = ∫ 0 π [ ∫ − ∞ ∞ ∣ ω ∣ G ( ω , θ ) e j 2 π ω ρ d ω ] d θ = ∫ 0 π [ ∫ − ∞ ∞ g ( ρ , θ ) s ( x c o s θ + y s i n θ − ρ ) d ρ ] d θ f(x,y) = \int^{\pi}_{0} \big[ \int^{\infty}_{-\infty} |\omega|G(\omega,\theta) e^{j 2 \pi \omega \rho} d\omega \big] d\theta \\ = \int^{\pi}_{0} \big[ \int^{\infty}_{-\infty} g(\rho,\theta) s(xcos \theta + ysin \theta - \rho) d\rho \big] d\theta \\ f(x,y)=∫0π[∫−∞∞∣ω∣G(ω,θ)ej2πωρdω]dθ=∫0π[∫−∞∞g(ρ,θ)s(xcosθ+ysinθ−ρ)dρ]dθ
这表明,将对应的投影 g ( ρ , θ ) g(\rho, \theta) g(ρ,θ) 与斜坡滤波器传递函数 s ( ρ ) s(\rho) s(ρ) 的傅里叶反变换进行卷积,可以得到角度 θ \theta θ 的各个反投影,整个反投影图像可以通过对所有反投影图像积分得到。
例程 9.25:滤波反投影重建图像
SL 滤波器是使用 Sinc 函数对斜坡滤波器进行截断产生,其离散形式为:
h S L ( n δ ) = − 2 π 2 δ 2 ( 4 ∗ n 2 − 1 ) , n = 0 , ± 1 , ± 2 , . . . h_{SL}(n \delta) = - \frac{2}{\pi ^2 \delta ^2 (4*n^2 -1)}, \ n=0,\pm 1,\pm 2,... hSL(nδ)=−π2δ2(4∗n2−1)2, n=0,±1,±2,...
利用投影值和 SL 滤波器进行卷积,然后再进行反投影,就可以实现图像重建。# 9.25: 滤波反投影重建图像 from scipy import ndimage def discreteRadonTransform(image, steps): # 离散雷登变换 channels = image.shape[0] resRadon = np.zeros((channels, channels), dtype=np.float32) for s in range(steps): rotation = ndimage.rotate(image, -s * 180/steps, reshape=False).astype(np.float32) resRadon[:, s] = sum(rotation) return resRadon def inverseRadonTransform(image, steps): # 雷登变换反投影重建图像 channels = image.shape[0] backproject = np.zeros((steps, channels, channels)) for s in range(steps): expandDims = np.expand_dims(image[:, s], axis=0) repeat = expandDims.repeat(channels, axis=0) backproject[s] = ndimage.rotate(repeat, s * 180/steps, reshape=False).astype(np.float32) invRadon = np.sum(backproject, axis=0) return invRadon def SLFilter(N, d): # SL 滤波器, Sinc 函数对斜坡滤波器进行截断 filterSL = np.zeros((N,)) for i in range(N): filterSL[i] = - 2 / (np.pi**2 * d**2 * (4 * (i-N/2)**2 - 1)) return filterSL def filterInvRadonTransform(image, steps): # 滤波反投影重建图像 channels = len(image[0]) backproject = np.zeros((steps, channels, channels)) # 反投影 filter = SLFilter(channels, 1) # SL 滤波器 for s in range(steps): value = image[:, s] # 投影值 valueFiltered = np.convolve(filter, value, "same") # 投影值和 SL 滤波器进行卷积 filterExpandDims = np.expand_dims(valueFiltered, axis=0) filterRepeat = filterExpandDims.repeat(channels, axis=0) backproject[s] = ndimage.rotate(filterRepeat, s * 180/steps, reshape=False).astype(np.float32) filterInvRadon = np.sum(backproject, axis=0) return filterInvRadon # 读取原始图像 img1 = cv2.imread("../images/Fig0534a.tif", 0) # flags=0 读取为灰度图像 img2 = cv2.imread("../images/Fig0534c.tif", 0) # 雷登变换 imgRadon1 = discreteRadonTransform(img1, img1.shape[0]) # Radon 变换 imgRadon2 = discreteRadonTransform(img2, img2.shape[0]) # 雷登变换反投影重建图像 imgInvRadon1 = inverseRadonTransform(imgRadon1, imgRadon1.shape[0]) imgInvRadon2 = inverseRadonTransform(imgRadon2, imgRadon2.shape[0]) # 滤波反投影重建图像 imgFilterInvRadon1 = filterInvRadonTransform(imgRadon1, imgRadon1.shape[0]) imgFilterInvRadon2 = filterInvRadonTransform(imgRadon2, imgRadon2.shape[0]) plt.figure(figsize=(9, 7)) plt.subplot(231), plt.axis('off'), plt.title("origin image"), plt.imshow(img1, 'gray') # 绘制原始图像 plt.subplot(232), plt.axis('off'), plt.title("inverse Radon trans"), plt.imshow(imgInvRadon1, 'gray') plt.subplot(233), plt.axis('off'), plt.title("filter inv-Radon trans"), plt.imshow(imgFilterInvRadon1, 'gray') plt.subplot(234), plt.axis('off'), plt.title("origin image"), plt.imshow(img2, 'gray') plt.subplot(235), plt.axis('off'), plt.title("inverse Radon trans"), plt.imshow(imgInvRadon2, 'gray') plt.subplot(236), plt.axis('off'), plt.title("filter inv-Radon trans"), plt.imshow(imgFilterInvRadon2, 'gray') plt.tight_layout() plt.show()
(本节完)
版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/123088438)
Copyright 2022 youcans, XUPT
Crated:2022-2-22
欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中
欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中【youcans 的 OpenCV 例程200篇】01. 图像的读取(cv2.imread)
【youcans 的 OpenCV 例程200篇】02. 图像的保存(cv2.imwrite)
【youcans 的 OpenCV 例程200篇】03. 图像的显示(cv2.imshow)
【youcans 的 OpenCV 例程200篇】04. 用 matplotlib 显示图像(plt.imshow)
【youcans 的 OpenCV 例程200篇】05. 图像的属性(np.shape)
【youcans 的 OpenCV 例程200篇】06. 像素的编辑(img.itemset)
【youcans 的 OpenCV 例程200篇】07. 图像的创建(np.zeros)
【youcans 的 OpenCV 例程200篇】08. 图像的复制(np.copy)
【youcans 的 OpenCV 例程200篇】09. 图像的裁剪(cv2.selectROI)
【youcans 的 OpenCV 例程200篇】10. 图像的拼接(np.hstack)
【youcans 的 OpenCV 例程200篇】11. 图像通道的拆分(cv2.split)
【youcans 的 OpenCV 例程200篇】12. 图像通道的合并(cv2.merge)
【youcans 的 OpenCV 例程200篇】13. 图像的加法运算(cv2.add)
【youcans 的 OpenCV 例程200篇】14. 图像与标量相加(cv2.add)
【youcans 的 OpenCV 例程200篇】15. 图像的加权加法(cv2.addWeight)
【youcans 的 OpenCV 例程200篇】16. 不同尺寸的图像加法
【youcans 的 OpenCV 例程200篇】17. 两张图像的渐变切换
【youcans 的 OpenCV 例程200篇】18. 图像的掩模加法
【youcans 的 OpenCV 例程200篇】19. 图像的圆形遮罩
【youcans 的 OpenCV 例程200篇】20. 图像的按位运算
【youcans 的 OpenCV 例程200篇】21. 图像的叠加
【youcans 的 OpenCV 例程200篇】22. 图像添加非中文文字
【youcans 的 OpenCV 例程200篇】23. 图像添加中文文字
【youcans 的 OpenCV 例程200篇】24. 图像的仿射变换
【youcans 的 OpenCV 例程200篇】25. 图像的平移
【youcans 的 OpenCV 例程200篇】26. 图像的旋转(以原点为中心)
【youcans 的 OpenCV 例程200篇】27. 图像的旋转(以任意点为中心)
【youcans 的 OpenCV 例程200篇】28. 图像的旋转(直角旋转)
【youcans 的 OpenCV 例程200篇】29. 图像的翻转(cv2.flip)
【youcans 的 OpenCV 例程200篇】30. 图像的缩放(cv2.resize)
【youcans 的 OpenCV 例程200篇】31. 图像金字塔(cv2.pyrDown)
【youcans 的 OpenCV 例程200篇】32. 图像的扭变(错切)
【youcans 的 OpenCV 例程200篇】33. 图像的复合变换
【youcans 的 OpenCV 例程200篇】34. 图像的投影变换
【youcans 的 OpenCV 例程200篇】35. 图像的投影变换(边界填充)
【youcans 的 OpenCV 例程200篇】36. 直角坐标与极坐标的转换
【youcans 的 OpenCV 例程200篇】37. 图像的灰度化处理和二值化处理
【youcans 的 OpenCV 例程200篇】38. 图像的反色变换(图像反转)
【youcans 的 OpenCV 例程200篇】39. 图像灰度的线性变换
【youcans 的 OpenCV 例程200篇】40. 图像分段线性灰度变换
【youcans 的 OpenCV 例程200篇】41. 图像的灰度变换(灰度级分层)
【youcans 的 OpenCV 例程200篇】42. 图像的灰度变换(比特平面分层)
【youcans 的 OpenCV 例程200篇】43. 图像的灰度变换(对数变换)
【youcans 的 OpenCV 例程200篇】44. 图像的灰度变换(伽马变换)
【youcans 的 OpenCV 例程200篇】45. 图像的灰度直方图
【youcans 的 OpenCV 例程200篇】46. 直方图均衡化
【youcans 的 OpenCV 例程200篇】47. 图像增强—直方图匹配
【youcans 的 OpenCV 例程200篇】48. 图像增强—彩色直方图匹配
【youcans 的 OpenCV 例程200篇】49. 图像增强—局部直方图处理
【youcans 的 OpenCV 例程200篇】50. 图像增强—直方图统计量图像增强
【youcans 的 OpenCV 例程200篇】51. 图像增强—直方图反向追踪
【youcans 的 OpenCV 例程200篇】52. 图像的相关与卷积运算
【youcans 的 OpenCV 例程200篇】53. Scipy 实现图像二维卷积
【youcans 的 OpenCV 例程200篇】54. OpenCV 实现图像二维卷积
【youcans 的 OpenCV 例程200篇】55. 可分离卷积核
【youcans 的 OpenCV 例程200篇】56. 低通盒式滤波器
【youcans 的 OpenCV 例程200篇】57. 低通高斯滤波器
【youcans 的 OpenCV 例程200篇】58. 非线性滤波—中值滤波
【youcans 的 OpenCV 例程200篇】59. 非线性滤波—双边滤波
【youcans 的 OpenCV 例程200篇】60. 非线性滤波—联合双边滤波
【youcans 的 OpenCV 例程200篇】61. 导向滤波(Guided filter)
【youcans 的 OpenCV 例程200篇】62. 图像锐化——钝化掩蔽
【youcans 的 OpenCV 例程200篇】63. 图像锐化——Laplacian 算子
【youcans 的 OpenCV 例程200篇】64. 图像锐化——Sobel 算子
【youcans 的 OpenCV 例程200篇】65. 图像锐化——Scharr 算子
【youcans 的 OpenCV 例程200篇】66. 图像滤波之低通/高通/带阻/带通
【youcans 的 OpenCV 例程200篇】67. 空间域图像增强的综合应用
【youcans 的 OpenCV 例程200篇】68. 空间域图像增强的综合应用
【youcans 的 OpenCV 例程200篇】69. 连续非周期信号的傅立叶系数
【youcans 的 OpenCV 例程200篇】70. 一维连续函数的傅里叶变换
【youcans 的 OpenCV 例程200篇】71. 连续函数的取样
【youcans 的 OpenCV 例程200篇】72. 一维离散傅里叶变换
【youcans 的 OpenCV 例程200篇】73. 二维连续傅里叶变换
【youcans 的 OpenCV 例程200篇】74. 图像的抗混叠
【youcans 的 OpenCV 例程200篇】75. Numpy 实现图像傅里叶变换
【youcans 的 OpenCV 例程200篇】76. OpenCV 实现图像傅里叶变换
【youcans 的 OpenCV 例程200篇】77. OpenCV 实现快速傅里叶变换
【youcans 的 OpenCV 例程200篇】78. 频率域图像滤波基础
【youcans 的 OpenCV 例程200篇】79. 频率域图像滤波的基本步骤
【youcans 的 OpenCV 例程200篇】80. 频率域图像滤波详细步骤
【youcans 的 OpenCV 例程200篇】81. 频率域高斯低通滤波器
【youcans 的 OpenCV 例程200篇】82. 频率域巴特沃斯低通滤波器
【youcans 的 OpenCV 例程200篇】83. 频率域低通滤波:印刷文本字符修复
【youcans 的 OpenCV 例程200篇】84. 由低通滤波器得到高通滤波器
【youcans 的 OpenCV 例程200篇】85. 频率域高通滤波器的应用
【youcans 的 OpenCV 例程200篇】86. 频率域滤波应用:指纹图像处理
【youcans 的 OpenCV 例程200篇】87. 频率域钝化掩蔽
【youcans 的 OpenCV 例程200篇】88. 频率域拉普拉斯高通滤波
【youcans 的 OpenCV 例程200篇】89. 带阻滤波器的传递函数
【youcans 的 OpenCV 例程200篇】90. 频率域陷波滤波器
【youcans 的 OpenCV 例程200篇】91. 高斯噪声、瑞利噪声、爱尔兰噪声
【youcans 的 OpenCV 例程200篇】92. 指数噪声、均匀噪声、椒盐噪声
【youcans 的 OpenCV 例程200篇】93. 噪声模型的直方图
【youcans 的 OpenCV 例程200篇】94. 算术平均滤波器
【youcans 的 OpenCV 例程200篇】95. 几何均值滤波器
【youcans 的 OpenCV 例程200篇】96. 谐波平均滤波器
【youcans 的 OpenCV 例程200篇】97. 反谐波平均滤波器
【youcans 的 OpenCV 例程200篇】98. 统计排序滤波器
【youcans 的 OpenCV 例程200篇】99. 修正阿尔法均值滤波器
【youcans 的 OpenCV 例程200篇】100. 自适应局部降噪滤波器
【youcans 的 OpenCV 例程200篇】101. 自适应中值滤波器
【youcans 的 OpenCV 例程200篇】102. 陷波带阻滤波器的传递函数
【youcans 的 OpenCV 例程200篇】103. 陷波带阻滤波器消除周期噪声干扰
【youcans 的 OpenCV 例程200篇】104. 运动模糊退化模型
【youcans 的 OpenCV 例程200篇】105. 湍流模糊退化模型
【youcans 的 OpenCV 例程200篇】106. 退化图像的逆滤波
【youcans 的 OpenCV 例程200篇】107. 退化图像的维纳滤波
【youcans 的 OpenCV 例程200篇】108. 约束最小二乘方滤波
【youcans 的 OpenCV 例程200篇】109. 几何均值滤波
【youcans 的 OpenCV 例程200篇】110. 投影和雷登变换
【youcans 的 OpenCV 例程200篇】111. 雷登变换反投影重建图像
【youcans 的 OpenCV 例程200篇】112. 滤波反投影重建图像 -
nucmed_physics_examples:均匀圆盘和均匀同心圆盘的滤波反投影重建示例
2021-04-13 08:19:59例子 ImageRecon 统一磁盘和统一同心磁盘的过滤反投影。 汉字。 互动事项 康普顿 放射性同位素生产 Mo-99的生产示例。 洗脱发生器的示例。