国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

(數(shù)字圖像處理MATLAB+Python)第八章圖像復原-第五、六節(jié):盲去卷積復原和幾何失真校正

這篇具有很好參考價值的文章主要介紹了(數(shù)字圖像處理MATLAB+Python)第八章圖像復原-第五、六節(jié):盲去卷積復原和幾何失真校正。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一:盲去卷積復原

(1)概述

盲去卷積復原:當我們考慮圖像復原中的盲去卷積復原時,我們可以使用以下數(shù)學符號和方程來描述該問題

  • 原始圖像:我們用I表示原始圖像,其中I是一個二維離散函數(shù)。 I ( x , y ) I(x, y) I(x,y)表示在坐標 ( x , y ) (x, y) (x,y)處的圖像強度值
  • 模糊核:我們用 H H H表示未知的模糊核或點擴散函數(shù),它是導致圖像模糊的原因。 H ( u , v ) H(u, v) H(u,v)表示在頻域中的模糊核值,其中 ( u , v ) (u, v) (u,v)是頻域的坐標
  • 模糊圖像:我們用 B B B表示經(jīng)過模糊處理后的圖像,也稱為模糊圖像。 B ( x , y ) B(x, y) B(x,y)表示在坐標 ( x , y ) (x, y) (x,y)處的模糊圖像強度值
  • 目標:我們的目標是恢復原始圖像 I I I

在盲去卷積復原中,我們首先需要估計模糊核 H H H,然后將其應用于模糊圖像 B B B來恢復原始圖像 I I I

  • 估計模糊核:通過觀察已知的模糊圖像 B B B和未知的原始圖像 I I I之間的關(guān)系,我們可以使用各種方法估計模糊核 H H H。這可以表示為以下方程: B ( x , y ) = I ( x , y ) ? H ( x , y ) B(x, y)=I(x, y) \otimes H(x, y) B(x,y)=I(x,y)?H(x,y)
  • 恢復原始圖像:一旦模糊核H被估計出來,我們可以將其應用于模糊圖像B來恢復原始圖像 I I I。這可以表示為以下方程: I ( x , y ) = B ( x , y ) ? H ? 1 ( x , y ) I(x,y)=B(x,y)\otimes H^{-1}(x,y) I(x,y)=B(x,y)?H?1(x,y)

通過解決上述方程,我們可以實現(xiàn)盲去卷積復原,以盡可能準確地恢復原始圖像I。然而,實際中由于噪聲和估計誤差等因素,盲去卷積復原可能會面臨挑戰(zhàn),并且需要使用其他技術(shù)和算法進行輔助處理和改進

(2)程序

如下:對模糊的圖像進行最大似然估計盲復原濾波

matlab實現(xiàn)圖像復原,MATLAB+Python數(shù)字圖像處理教程,python,matlab,計算機視覺


matlab實現(xiàn)

deconvblind函數(shù)是一個用于盲去卷積復原的函數(shù)。它可以用于從經(jīng)過模糊和噪聲處理的圖像中恢復原始圖像,并盡可能估計出導致圖像模糊的未知點擴散函數(shù)(PSF)。其語法格式如下

[J, P] = deconvblind(A, PSF, NUMIT, DAMPAR, WEPS, INITPSF)

參數(shù)說明:

  • A:經(jīng)過模糊和噪聲處理的圖像。
  • PSF:初始點擴散函數(shù)的估計。
  • NUMIT:迭代次數(shù),控制算法的收斂速度。
  • DAMPAR:阻尼參數(shù),用于控制正則化項的權(quán)重,以平衡去卷積和約束條件。
  • WEPS:權(quán)重閾值,用于確定權(quán)重矩陣中的非零元素。
  • INITPSF:初始點擴散函數(shù)的估計。

返回值:

  • J:復原的圖像。
  • P:估計的點擴散函數(shù)
clear,clc,close all;
I=im2double(rgb2gray(imread('flower.jpg')));
PSF=fspecial('gaussian',7,10);%產(chǎn)生一個高斯低通濾波器,模板尺寸為[7 7],濾波器的標準差為10
V=0.0001;%高斯加性噪聲的標準差
IF1=imfilter(I,PSF);%原圖像通過高斯低通濾波器
BlurredNoisy=imnoise(IF1,'gaussian',0,V);%加入高斯噪聲
WT = zeros(size(I));WT(5:end-4,5:end-4) = 1;
INITPSF = ones(size(PSF));
[J,P] = deconvblind(BlurredNoisy,INITPSF,20,10*sqrt(V),WT);
subplot(221),imshow(BlurredNoisy),title('高斯模糊加噪聲圖像');
subplot(222),imshow(PSF,[]),title('True PSF');
subplot(223),imshow(J),title('Deblurred Image');
subplot(224),imshow(P,[]),title('Recovered PSF');
imwrite(J,'DeblurredI.jpg');


Python實現(xiàn)

import cv2
import numpy as np
import matplotlib.pyplot as plt

# 讀取圖像
image = cv2.imread('flower.jpg')
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
I = cv2.normalize(gray_image.astype('float'), None, 0.0, 1.0, cv2.NORM_MINMAX)

# 生成高斯模糊核
PSF = cv2.getGaussianKernel(7, 10) * cv2.getGaussianKernel(7, 10).T

# 加入高斯噪聲
V = 0.0001
IF1 = cv2.filter2D(I, -1, PSF)
BlurredNoisy = cv2.randn(IF1, 0, V)

# 創(chuàng)建權(quán)重矩陣
WT = np.zeros_like(I)
WT[4:-4, 4:-4] = 1

# 初始化PSF
INITPSF = np.ones_like(PSF)

# 盲去卷積復原
J, P = cv2.deconvblind(BlurredNoisy, INITPSF, 20, 10 * np.sqrt(V), WT)

# 顯示結(jié)果
plt.subplot(221), plt.imshow(BlurredNoisy, cmap='gray')
plt.title('高斯模糊加噪聲圖像')
plt.subplot(222), plt.imshow(PSF, cmap='gray')
plt.title('True PSF')
plt.subplot(223), plt.imshow(J, cmap='gray')
plt.title('Deblurred Image')
plt.subplot(224), plt.imshow(P, cmap='gray')
plt.title('Recovered PSF')
plt.savefig('DeblurredI.jpg')
plt.show()

二:幾何失真校正

(1)概述

幾何失真校正:是一種用于糾正圖像中的幾何畸變的技術(shù)。幾何畸變可以由多種因素引起,例如攝像機透視、鏡頭畸變等。幾何失真校正的目標是恢復圖像的幾何形狀和比例,使其更接近于原始場景。在幾何失真校正中,我們可以使用以下數(shù)學符號和方程來描述該問題

  • 原始圖像:我們用 I I I表示原始圖像,其中I是一個二維離散函數(shù)。 I ( x , y ) I(x, y) I(x,y)表示在坐標 ( x , y ) (x, y) (x,y)處的圖像強度值
  • 失真模型:我們假設(shè)存在一個失真模型,將原始圖像中的每個像素映射到校正后的圖像中的新位置。這個映射關(guān)系可以表示為一個函數(shù),如 F ( x , y ) F(x, y) F(x,y)
  • 校正圖像:我們用 C C C表示校正后的圖像,其中 C C C是一個二維離散函數(shù)。 C ( x , y ) C(x, y) C(x,y)表示在校正后的圖像中坐標 ( x , y ) (x, y) (x,y)處的圖像強度值
  • 逆變換:為了進行幾何失真校正,我們需要找到失真模型的逆變換,將校正后的圖像中的像素映射回原始圖像的位置。這個逆變換可以表示為函數(shù) F ? 1 ( x , y ) F^{-1}(x,y) F?1(x,y)
  • 校正過程:校正過程涉及將原始圖像中的每個像素根據(jù)失真模型的逆變換映射到校正后的圖像中的新位置,以獲得校正后的圖像C。這可以表示為以下方程: C ( x , y ) = I ( F ? 1 ( x , y ) ) C(x,y)=I(F^{-1}(x,y)) C(x,y)=I(F?1(x,y))

通過解決上述方程,我們可以實現(xiàn)幾何失真校正,將校正后的圖像中的像素重新映射回原始圖像的位置,從而恢復圖像的幾何形狀和比例

(2)程序

如下

matlab實現(xiàn)圖像復原,MATLAB+Python數(shù)字圖像處理教程,python,matlab,計算機視覺


matlab實現(xiàn)

clear,clc,close;
Image=im2double(imread('lotus.jpg'));
[h,w,c]=size(Image);
figure,imshow(Image),title('原圖');
RI=imrotate(Image,20);
tform=maketform('affine',[1 0.5 0;0.5 1 0; 0 0 1]);
NewImage=imtransform(RI,tform);
figure,imshow(NewImage),title('幾何畸變的圖像');
imwrite(NewImage,'GDImage.jpg'); 
cpselect(NewImage,Image);
input_points=[709 577;409 270;320 370];
base_points=[487 305;374 41;134 159];
tform=cp2tform(input_points,base_points,'affine');
result=imtransform(NewImage,tform,'XData',[1 w],'YData',[1 h]);
figure,imshow(result),title('校正后的圖像');
imwrite(result,'jiaozheng.jpg');

python實現(xiàn)文章來源地址http://www.zghlxwxcb.cn/news/detail-765201.html

import cv2
import numpy as np
import matplotlib.pyplot as plt

# 讀取圖像
image = cv2.imread('lotus.jpg')
Image = cv2.normalize(image.astype('float'), None, 0.0, 1.0, cv2.NORM_MINMAX)

# 顯示原始圖像
plt.figure()
plt.imshow(Image)
plt.title('原圖')

# 旋轉(zhuǎn)圖像
RI = cv2.rotate(Image, cv2.ROTATE_90_CLOCKWISE)

# 創(chuàng)建仿射變換矩陣
tform = np.array([[1, 0.5, 0], [0.5, 1, 0], [0, 0, 1]])

# 進行幾何畸變
NewImage = cv2.warpPerspective(RI, tform, (RI.shape[1], RI.shape[0]))

# 顯示幾何畸變的圖像
plt.figure()
plt.imshow(NewImage)
plt.title('幾何畸變的圖像')
plt.savefig('GDImage.jpg')

# 特征點對應
input_points = np.array([[709, 577], [409, 270], [320, 370]], dtype=np.float32)
base_points = np.array([[487, 305], [374, 41], [134, 159]], dtype=np.float32)

# 計算仿射變換矩陣
tform = cv2.getAffineTransform(input_points, base_points)

# 進行校正
result = cv2.warpAffine(NewImage, tform, (Image.shape[1], Image.shape[0]))

# 顯示校正后的圖像
plt.figure()
plt.imshow(result)
plt.title('校正后的圖像')
plt.savefig('jiaozheng.jpg')

plt.show()

到了這里,關(guān)于(數(shù)字圖像處理MATLAB+Python)第八章圖像復原-第五、六節(jié):盲去卷積復原和幾何失真校正的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包