日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

图像配准的方法

發(fā)布時(shí)間:2023/11/27 生活经验 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图像配准的方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)自:http://blog.sina.com.cn/s/blog_4b9b714a0100d5k5.html

?圖像配準(zhǔn)的方法

1? 基于特征的圖像配準(zhǔn)

基于特征的圖像配準(zhǔn)首先提取圖像信息的特征,然后以這些特征為模型進(jìn)行配準(zhǔn)。特征提取的結(jié)果是一含有特征的表和對(duì)圖像的描述,每個(gè)特征由一組屬性表示,對(duì)屬性的進(jìn)一步描述包括邊緣的定向和弧度、區(qū)域的大小等。局部特征之間存在著相互關(guān)系,如幾何關(guān)系、輻射度量關(guān)系、拓?fù)潢P(guān)系等。可以用這些局部特征之間的關(guān)系描述全局特征。通常基于局部特征配準(zhǔn)大多都是基于點(diǎn)、線或邊緣的,而全局特征的配準(zhǔn)則是利用局部特征之間的關(guān)系進(jìn)行配準(zhǔn)的方法。

由于圖像的特征點(diǎn)比圖像的像素點(diǎn)要少很多,因此大大減少了配準(zhǔn)過程的計(jì)算量,但特征提取方法的計(jì)算代價(jià)通常較大,不便于實(shí)時(shí)應(yīng)用。特征點(diǎn)的配準(zhǔn)度量值對(duì)位置的變化比較敏感,可以大大提高配準(zhǔn)的精確程度。對(duì)于紋理較少的圖像區(qū)域提取的特征的密度通常比較稀少,局部特征的提取就比較困難。特征點(diǎn)的提取過程可以減少噪聲的影響,對(duì)灰度變化、圖像形變和遮擋等都有較好的適應(yīng)能力。因此,在圖像配準(zhǔn)領(lǐng)域得到了廣泛應(yīng)用。基于特征的圖像配準(zhǔn)方法有兩個(gè)重要環(huán)節(jié):特征提取和特征配準(zhǔn)。

2? 基于互信息的圖像配準(zhǔn)

醫(yī)學(xué)圖像配準(zhǔn)技術(shù)從基于特征的配準(zhǔn)方法發(fā)展到基于統(tǒng)計(jì)的配準(zhǔn)方法有其突破性的意義。與基于特征的配準(zhǔn)方法相比,基于統(tǒng)計(jì)的配準(zhǔn)方法的突出優(yōu)點(diǎn)為魯棒性好、配準(zhǔn)精度高、人工干預(yù)少。基于統(tǒng)計(jì)的配準(zhǔn)方法通常是指最大互信息的圖像配準(zhǔn)方法。

基于互信息的圖像配準(zhǔn)是用兩幅圖像的聯(lián)合概率分布與完全獨(dú)立時(shí)的概率分布的廣義距離來估計(jì)互信息,并作為多模態(tài)醫(yī)學(xué)圖像配準(zhǔn)的測度。當(dāng)兩幅基于共同的解剖結(jié)構(gòu)的圖像達(dá)到最佳配準(zhǔn)時(shí),它們的對(duì)應(yīng)像素的灰度互信息應(yīng)為最大。由于基于互信息的配準(zhǔn)對(duì)噪聲比較敏感,首先,通過濾波和分割等方法對(duì)圖像進(jìn)行預(yù)處理。然后進(jìn)行采樣、變換、插值、優(yōu)化從而達(dá)到配準(zhǔn)的目的。

基于互信息的配準(zhǔn)技術(shù)屬于基于像素相似性的方法。它基于圖像中所有的像素進(jìn)行配準(zhǔn),基于互信息的圖像配準(zhǔn)引入了信息論中的概念,如熵、邊緣熵、聯(lián)合熵和互信息等,可使配準(zhǔn)精度達(dá)到亞像素級(jí)的高精度。????

基于互信息只依賴于圖像本身的信息,不需要對(duì)圖像進(jìn)行特征點(diǎn)提取和組織分類等預(yù)處理,是一種自動(dòng)而有效的配準(zhǔn)算法。該算法可靠,對(duì)圖像中的幾何失真、灰度不均勻和數(shù)據(jù)的缺失等不敏感。不依賴于任何成像設(shè)備,可應(yīng)用于多模態(tài)醫(yī)學(xué)圖像配準(zhǔn)。基于互信息的圖像配準(zhǔn)也有其缺點(diǎn),它運(yùn)算量大,對(duì)噪聲敏感,要求待配準(zhǔn)圖像間聯(lián)合概率分布函數(shù)必須是嚴(yán)格正性的。

【例1】計(jì)算兩幅圖像的互信息。

function mi = MI(a,b)

%Caculate MI of a and b in the region of the overlap part

%計(jì)算重疊部分

[Ma,Na] = size(a);

[Mb,Nb] = size(b);

M=min(Ma,Mb);

N=min(Na,Nb);

%初始化直方圖數(shù)組

hab = zeros(256,256);

ha = zeros(1,256);

hb = zeros(1,256);

%歸一化

if max(max(a))~=min(min(a))

a = (a-min(min(a)))/(max(max(a))-min(min(a)));

else

a = zeros(M,N);

end

if max(max(b))-min(min(b))

b = (b-min(min(b)))/(max(max(b))-min(min(b)));

else

b = zeros(M,N);

end

a = double(int16(a*255))+1;

b = double(int16(b*255))+1;

%統(tǒng)計(jì)直方圖

for i=1:M

for j=1:N

indexx = a(i,j);

indexy = b(i,j) ;

hab(indexx,indexy) = hab(indexx,indexy)+1;%聯(lián)合直方圖

ha(indexx) = ha(indexx)+1;%a圖直方圖

hb(indexy) = hb(indexy)+1;%b圖直方圖

end

end

%計(jì)算聯(lián)合信息熵

hsum = sum(sum(hab));

index = find(hab~=0);

p = hab/hsum;

Hab = sum(sum(-p(index).*log(p(index))));

%計(jì)算a圖信息熵

hsum = sum(sum(ha));

index = find(ha~=0);

p = ha/hsum;

Ha = sum(sum(-p(index).*log(p(index))));

%計(jì)算b圖信息熵

hsum = sum(sum(hb));

index = find(hb~=0);

p = hb/hsum;

Hb = sum(sum(-p(index).*log(p(index))));

%計(jì)算a和b的互信息

mi = Ha+Hb-Hab;

%計(jì)算a和b的歸一化互信息

%mi = hab/(Ha+Hb);

3? 醫(yī)學(xué)圖像配準(zhǔn)

目前,圖像配準(zhǔn)技術(shù)在醫(yī)學(xué)領(lǐng)域應(yīng)用得相當(dāng)廣泛。醫(yī)學(xué)圖像配準(zhǔn)具有很重要的臨床應(yīng)用價(jià)值。對(duì)各種使用相同或者不同的成像手段所獲得的醫(yī)學(xué)圖像進(jìn)行配準(zhǔn)不僅可以應(yīng)用于醫(yī)療診斷,也可以應(yīng)用于手術(shù)計(jì)劃的制定、治療計(jì)劃的制定、病理情況的跟蹤和治療效果的評(píng)價(jià)等各個(gè)方面。

下面給出一個(gè)具體的圖像配準(zhǔn)的例子來形象說明配準(zhǔn)的應(yīng)用。

?

(1) 讀取圖像數(shù)據(jù)。因?yàn)樵磮D像以矩陣形式存在一個(gè)二進(jìn)制的文件里,用fread可將其讀取到變量矩陣中。將讀取文件編制成一個(gè)子函數(shù)(RTIread.m)。源代碼如下:

function imMatrix=RTIread(FILENAME,SIZE)

%RTIread Read the image matrix from binary "Registration Test Image" file.

% imMatrix=RTIread(FILENAME,SIZE) opens the file FILENAME, and reads the

% number of elements specified by SIZE.

%

% FILENAME is a string containing the name of the file to be opened.

% Valid entries for SIZE are:

% N read N elements into a column vector.

% inf read to the end of the file.

% [M,N] read elements to fill an M-by-N matrix, in column order.

% N can be inf, but M can't.

%

% It returns the image matrix.

fid=fopen(FILENAME,'r');

imMatrix=fread(fid,SIZE,'uint8=>uint8');

fclose(fid);

這里選取了兩張256×256的圖片,文件名為sag1.tif和sag2.tif。

?

運(yùn)行以下代碼讀取圖像矩陣:

base=RTIread('sag1.tif',[256,256]);

input=RTIread(sag2.tif,[256,256]);

(2) 選取匹配點(diǎn)。根據(jù)預(yù)定的配準(zhǔn)方法,選定足夠的匹配點(diǎn)對(duì)。運(yùn)行下列代碼:

cpselect(input,base); %please select 15 points for test.

?

注意:

這里允許選擇15個(gè)點(diǎn)進(jìn)行測試。

操作很簡單,只需注意選點(diǎn)要均勻布開,以增加其代表性。選定完畢,再選擇File→Save Points to Workspace命令將數(shù)據(jù)保存到工作區(qū)中。Workspace立刻多出兩個(gè)N×2的數(shù)組(其中N為選定的匹配點(diǎn)對(duì)數(shù)),分別為input_points和base_points。

(3) 利用十字相關(guān)法調(diào)整選定了的匹配點(diǎn)。如果對(duì)上面一個(gè)步驟的選點(diǎn)工作不滿意,可以進(jìn)行這一步。如果感覺尚可,則跳過這一步,以減小運(yùn)算量。

運(yùn)行代碼:

input_points_corr = cpcorr(input_points,base_points,input,base);

%優(yōu)化選擇點(diǎn)的作用

input_points_corr為優(yōu)化后在輸入圖片的對(duì)應(yīng)匹配點(diǎn)。

(4) 計(jì)算變換公式的參數(shù)。利用cp2tform選定變換類型(配準(zhǔn)方法),計(jì)算變換參數(shù)。以下只需選定一種即可。

% (1) not Fine-tune points

Tlinear = cp2tform(input_points,base_points,'linear conformal');

Taffine = cp2tform(input_points,base_points,'affine');

Tprojective = cp2tform(input_points,base_points,'projective');

Tpolynomial2 = cp2tform(input_points,base_points,'polynomial',2);

Tpolynomial3 = cp2tform(input_points,base_points,'polynomial',3);

Tpolynomial4 = cp2tform(input_points,base_points,'polynomial',4);

Tpiecewise = cp2tform(input_points,base_points,'piecewise linear');

Tlwm = cp2tform(input_points,base_points,'lwm');

% (2)Fine-tune points

fTlinear = cp2tform(input_points_corr,base_points,'linear conformal');

fTaffine = cp2tform(input_points_corr,base_points,'affine');

fTprojective = cp2tform(input_points_corr,base_points,'projective');

fTpolynomial2 = cp2tform(input_points_corr,base_points,'polynomial',2);

fTpolynomial3 = cp2tform(input_points_corr,base_points,'polynomial',3);

fTpolynomial4 = cp2tform(input_points_corr,base_points,'polynomial',4);

fTpiecewise = cp2tform(input_points_corr,base_points,'piecewise linear');

fTlwm = cp2tform(input_points_corr,base_points,'lwm');

(5) 變換圖像。

% Transform the unregistered image to bring it into alignment.

title('image registration polynomial method');

subplot(2,2,1);

imshow(base);

title('Base image');

subplot(2,2,2);

imshow(input);

title('Input image');

subplot(2,2,3);

imshow(imtransform(input,Tpolynomial2));

title('registered image');

subplot(2,2,4);

imshow(imtransform(input,fTpolynomial2));

title('registered image(fine-tune points)');

?

小結(jié):

(1) 選擇適當(dāng)?shù)姆椒▉斫⑥D(zhuǎn)換參數(shù),并非算法越復(fù)雜越好,應(yīng)參考成像因素(退化因素)。

(2) 利用cpselect選擇匹配點(diǎn),cpselect可以返回一個(gè)GUI句柄。在使用中,應(yīng)當(dāng)盡量選擇恰當(dāng)?shù)钠ヅ鋮^(qū)域,這樣能夠得到較好的效果。

上面的這個(gè)例子典型地說明了圖像配準(zhǔn)的步驟:提取圖像特征,根據(jù)特征對(duì)進(jìn)行幾何變換,執(zhí)行整個(gè)變換。

總結(jié)

以上是生活随笔為你收集整理的图像配准的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

歡迎分享!

轉(zhuǎn)載請說明來源于"生活随笔",并保留原作者的名字。

本文地址:图像配准的方法