水平匀速直线运动模糊图像复原实验 | 您所在的位置:网站首页 › 匀速直线运动的公式及图像怎么画 › 水平匀速直线运动模糊图像复原实验 |
近期花了点时间学习图像复原,研究了一下最基本的水平匀速直线运动图像复原方法,在此总结一下。不当之处,还请大家批评指正。 研究背景:变速非直线运动在某些条件下可被分解为匀速直线运动,从而我们可以将变速非直线运动模糊过程简化为匀速直线运动模糊过程。在此基础上,我们再次将匀速直线运动模糊过程简化为水平匀速运动模糊过程。 具体问题:自己亲手拍摄的图片:图一 构造约束优化模型(时域): 手动模糊图片: #模糊图片 import matplotlib.pyplot as plt import numpy as np import matplotlib.image as img data = img.imread("1.jpg") data = data[:,:,0] newdata = np.zeros_like(data,dtype="int64") l, w = data.shape v = 20 num = 10 for i in range(num): datatemp = np.zeros_like(data,dtype="int64") #print((datatemp[:,10*i:,:].shape), (data[:,:w-10*i,:]).shape) datatemp[:,v*i:] = data[:,:w-v*i] newdata += datatemp for i in range(num): newdata[:,10*i:10*(i+1)] = newdata[:,10*i:10*(i+1)]/(i+1) newdata[:,10*num:] = newdata[:,10*num:]/num newdata = newdata.astype(np.uint8) print(newdata.shape,type(newdata)) newdata.tofile("uniadd20.raw") plt.figure() plt.subplot(121) plt.imshow(data,cmap="gray") plt.subplot(122) plt.imshow(newdata,cmap='gray') plt.show()约束最小二乘复原(改了拉普拉斯算子部分,这是本文的创新部分): #约束最小二乘复原 # 利用最小二乘法复原图像 import cv2 import numpy as np from numpy import fft from matplotlib import pyplot as plt import cmath def degradation_function(m,n,a,b,T): ''' 用于得到退化矩阵 :param m: 图像形状的第一个参数 :param n: 图像形状的第二个参数 :param a: 竖直方向的偏移量 :param b: 水平方向的偏移量 :param T: 避免除数为0添加的一个极小量 :return:退化函数 ''' P = m / 2 + 1 Q = n / 2 + 1 Mo = np.zeros((m, n), dtype=complex) for u in range(m): for v in range(n): temp = cmath.pi * ((u - P) * a + (v - Q) * b) if temp == 0: Mo[u, v] = T else: Mo[u, v] = T * cmath.sin(temp) / temp * cmath.exp(-1j * temp) return Mo def image_mapping(image): #把图像大小转换到200)]=0 res2.tofile("result.raw") plt.figure() plt.subplot(131) plt.imshow(img,cmap='gray') plt.xlabel('原图', fontproperties='FangSong', fontsize=12) plt.subplot(132) plt.imshow(res1,cmap='gray') plt.xlabel('复原后的图', fontproperties='FangSong', fontsize=12) plt.subplot(133) plt.imshow(res2,cmap='gray') plt.xlabel('复原后的图直方图均衡化', fontproperties='FangSong', fontsize=12) plt.figure() plt.imshow(res2,cmap="gray") plt.show() 实验结果:
构造了约束最小二乘方法对水平运动的图像进行了复原.从复原的结果可以发现该方法基本复原了图片的文本内容,且文本内容清晰可辨认.在复原图像细节方面,若目标区域在原图,选用a>0的约束优化模型,可以得到更为清晰的复原图像;若原图整体较亮,选用a |
CopyRight 2018-2019 实验室设备网 版权所有 |