圖裂演算法
A. 圖像分割的分割方法
灰度閾值分割 法是一種最常用的並行區域技術,它是圖像分割中應用數量最多的一類。閾值分割方法實際上是輸入圖像f到輸出圖像g的如下變換:
其中,T為閾值,對於物體的圖像元素g(i,j)=1,對於背景的圖像元素g(i,j)=0。
由此可見,閾值分割演算法的關鍵是確定閾值,如果能確定一個合適的閾值就可准確地將圖像分割開來。閾值確定後,將閾值與像素點的灰度值逐個進行比較,而且像素分割可對各像素並行地進行,分割的結果直接給出圖像區域。
閾值分割的優點是計算簡單、運算效率較高、速度快。在重視運算效率的應用場合(如用於硬體實現),它得到了廣泛應用。
人們發展了各種各樣的閾值處理技術,包括全局閾值、自適應閾值、最佳閾值等等。
全局閾值是指整幅圖像使用同一個閾值做分割處理,適用於背景和前景有明顯對比的圖像。它是根據整幅圖像確定的:T=T(f)。但是這種方法只考慮像素本身的灰度值,一般不考慮空間特徵,因而對雜訊很敏感。常用的全局閾值選取方法有利用圖像灰度直方圖的峰谷法、最小誤差法、最大類間方差法、最大熵自動閾值法以及其它一些方法。
在許多情況下,物體和背景的對比度在圖像中的各處不是一樣的,這時很難用一個統一的閾值將物體與背景分開。這時可以根據圖像的局部特徵分別採用不同的閾值進行分割。實際處理時,需要按照具體問題將圖像分成若乾子區域分別選擇閾值,或者動態地根據一定的鄰域范圍選擇每點處的閾值,進行圖像分割。這時的閾值為自適應閾值。
閾值的選擇需要根據具體問題來確定,一般通過實驗來確定。對於給定的圖像,可以通過分析直方圖的方法確定最佳的閾值,例如當直方圖明顯呈現雙峰情況時,可以選擇兩個峰值的中點作為最佳閾值。
圖1(a)和(b)分別為用全局閾值和自適應閾值對經典的Lena圖像進行分割的結果。
區域生長和分裂合並法是兩種典型的串列區域技術,其分割過程後續步驟的處理要根據前面步驟的結果進行判斷而確定。 區域生長 區域生長的基本思想是將具有相似性質的像素集合起來構成區域。具體先對每個需要分割的區域找一個種子像素作為生長的起點,然後將種子像素周圍鄰域中與種子像素有相同或相似性質的像素(根據某種事先確定的生長或相似准則來判定)合並到種子像素所在的區域中。將這些新像素當作新的種子像素繼續進行上面的過程,直到再沒有滿足條件的像素可被包括進來。這樣一個區域就長成了。
區域生長需要選擇一組能正確代表所需區域的種子像素,確定在生長過程中的相似性准則,制定讓生長停止的條件或准則。相似性准則可以是灰度級、彩色、紋理、梯度等特性。選取的種子像素可以是單個像素,也可以是包含若干個像素的小區域。大部分區域生長准則使用圖像的局部性質。生長准則可根據不同原則制定,而使用不同的生長准則會影響區域生長的過程。區域生長法的優點是計算簡單,對於較均勻的連通目標有較好的分割效果。它的缺點是需要人為確定種子點,對雜訊敏感,可能導致區域內有空洞。另外,它是一種串列演算法,當目標較大時,分割速度較慢,因此在設計演算法時,要盡量提高效率。
區域分裂合並
區域生長是從某個或者某些像素點出發,最後得到整個區域,進而實現目標提取。分裂合並差不多是區域生長的逆過程:從整個圖像出發,不斷分裂得到各個子區域,然後再把前景區域合並,實現目標提取。分裂合並的假設是對於一幅圖像,前景區域由一些相互連通的像素組成的,因此,如果把一幅圖像分裂到像素級,那麼就可以判定該像素是否為前景像素。當所有像素點或者子區域完成判斷以後,把前景區域或者像素合並就可得到前景目標。
在這類方法中,最常用的方法是四叉樹分解法(如圖3所示)。設R代表整個正方形圖像區域,P代表邏輯謂詞。基本分裂合並演算法步驟如下:(1)對任一個區域,如果H(Ri)=FALSE就將其分裂成不重疊的四等份;
(2)對相鄰的兩個區域Ri和Rj,它們也可以大小不同(即不在同一層),如果條件H(Ri∪Rj)=TRUE滿足,就將它們合並起來。
(3)如果進一步的分裂或合並都不可能,則結束。
分裂合並法的關鍵是分裂合並准則的設計。這種方法對復雜圖像的分割效果較好,但演算法較復雜,計算量大,分裂還可能破壞區域的邊界。 圖像分割的一種重要途徑是通過邊緣檢測,即檢測灰度級或者結構具有突變的地方,表明一個區域的終結,也是另一個區域開始的地方。這種不連續性稱為邊緣。不同的圖像灰度不同,邊界處一般有明顯的邊緣,利用此特徵可以分割圖像。
圖像中邊緣處像素的灰度值不連續,這種不連續性可通過求導數來檢測到。對於階躍狀邊緣,其位置對應一階導數的極值點,對應二階導數的過零點(零交叉點)。因此常用微分運算元進行邊緣檢測。常用的一階微分運算元有Roberts運算元、Prewitt運算元和Sobel運算元,二階微分運算元有Laplace運算元和Kirsh運算元等。在實際中各種微分運算元常用小區域模板來表示,微分運算是利用模板和圖像卷積來實現。這些運算元對雜訊敏感,只適合於雜訊較小不太復雜的圖像。
由於邊緣和雜訊都是灰度不連續點,在頻域均為高頻分量,直接採用微分運算難以克服雜訊的影響。因此用微分運算元檢測邊緣前要對圖像進行平滑濾波。LoG運算元和Canny運算元是具有平滑功能的二階和一階微分運算元,邊緣檢測效果較好,如圖4所示。其中loG運算元是採用Laplacian運算元求高斯函數的二階導數,Canny運算元是高斯函數的一階導數,它在雜訊抑制和邊緣檢測之間取得了較好的平衡。關於微分運算元的邊緣檢測的詳細內容可參考文獻 。 與其他圖像分割方法相比,基於直方圖的方法是非常有效的圖像分割方法,因為他們通常只需要一個通過像素。在這種方法中,直方圖是從圖像中的像素的計算,並在直方圖的波峰和波谷是用於定點陣圖像中的簇。顏色和強度可以作為衡量。
這種技術的一種改進是遞歸應用直方圖求法的集群中的形象以分成更小的簇。重復此操作,使用更小的簇直到沒有更多的集群的形成。
基於直方圖的方法也能很快適應於多個幀,同時保持他們的單通效率。直方圖可以在多個幀被考慮的時候採取多種方式。同樣的方法是採取一個框架可以應用到多個,和之後的結果合並,山峰和山谷在以前很難識別,但現在更容易區分。直方圖也可以應用於每一個像素的基礎上,將得到的信息被用來確定的像素點的位置最常見的顏色。這種方法部分基於主動對象和一個靜態的環境,導致在不同類型的視頻分割提供跟蹤。
B. 圖紙所給預裂爆破只有預裂縫長度,深度,鑽孔大小和深度,沒有給面積,求面積計算方法。
我們民爆行業有個網站,叫民爆庫,那裡可以下載一些和您這個問題相關的論文看看。
民爆庫是中國民爆爆破行業網站,集民爆技術、民爆信息、民爆企業、爆破單位資訊、民爆行業政策。立足民爆技術,為了民爆生產安全、民爆技術進步,為中國民爆行業內部人士提供全面的資料。
民爆庫可以免費閱讀期刊論文、行業標准、政策法規、通知公告。
雖然有些啰嗦,相信你如果真心想要專業的民用爆破人士來回答這個問題,民爆庫應該可以幫到您。
C. CCD拍攝一幅牆壁裂縫圖像上有一道鋼筆劃痕,通過什麼演算法和程序可以識別出劃痕是雜訊不是裂縫
這個很難;
劃痕比較平滑,顏色應該比裂縫深
裂縫粗糙
通過這兩個條件嘗試下
D. 小波演算法
Function wavelet(s,wname,n,options);
Begin
{
功能:
一維序列小波消噪。
參數:
s:一維序列
wname:小波函數名
現有小波函數名(小波函數的選取依靠經驗)
Daubechies:
'db1' , 'db2', ... ,'db45' 'db1' 就是haar 小波函數
Coiflets :
'coif1', ... , 'coif5'
Symlets :
'sym2' , ... , 'sym8'
Biorthogonal:
'bior1.1', 'bior1.3' , 'bior1.5'
'bior2.2', 'bior2.4' , 'bior2.6', 'bior2.8'
'bior3.1', 'bior3.3' , 'bior3.5', 'bior3.7'
'bior3.9', 'bior4.4' , 'bior5.5', 'bior6.8'.
Reverse Biorthogonal:
'rbio1.1', 'rbio1.3' , 'rbio1.5'
'rbio2.2', 'rbio2.4' , 'rbio2.6', 'rbio2.8'
'rbio3.1', 'rbio3.3' , 'rbio3.5', 'rbio3.7'
'rbio3.9', 'rbio4.4' , 'rbio5.5', 'rbio6.8'.
n :分解層數
options : 選項
選擇欄位說明
array('brief':1, // 默認為1 採用簡單剔除高頻諧波 達到消噪的目的
// 如果為 0 採用估計序列噪音標准差剔除噪音,
'sigma':0, // 為0 默認採用 序列的高階諧波估計標准差;也可自己輸入值
'which':1, // 以 某一層諧波作為噪音估計的數據,默認第一層
'alpha':2, // 閾值懲罰系數,默認為2
"thr":0, // 閾值大小,默認0 採用諧波估計,也可以直接給出
'sorh':'s', // 閾值方式設置,'s' 軟閾值,'h'硬閾值 默認為's'
);
返回結果:
一維數字數組,消噪後的序列。
範例:
s := array(2484.82690429688,2479.05493164063,2482.34301757813,2437.794921875,
2447.7548828125,2512.962890625,2443.05688476563,2433.15893554688,
2393.18310546875,2415.05395507813,2392.06201171875,2365.34301757813,
2359.21997070313,2344.787109375,2348.51611328125,2420.00,2438.7900390625,
2431.375,2440.40209960938,2383.48510742188,2377.51196289063,2331.36596679688,
2317.27490234375,2370.3330078125,2409.67211914063,2427.47998046875,
2435.61401367188,2473.40991210938,2468.25,2470.01904296875,2504.10791015625,
2508.09008789063,2528.2939453125,2509.79907226563,2503.8359375,2524.9189453125,
2479.53588867188,2481.083984375,2528.71411132813,2529.76098632813,2466.958984375,
2463.0458984375,2416.56201171875,2415.1298828125,2412.625,2395.06494140625,
2397.55395507813,2380.22412109375,2383.03393554688,2412.39306640625,
2333.4140625,2386.86010742188,2360.6640625,2333.22900390625,2325.90502929688,
2332.72998046875,2329.82006835938,2315.27001953125,2291.544921875,2248.59008789063,
2228.52490234375,2180.89501953125,2224.84008789063,2218.23510742188,2215.92993164063,
2191.14794921875,2186.29711914063,2204.78393554688,2190.11010742188,2166.205078125,
2170.01293945313,2173.56103515625,2199.4169921875,2169.38989257813,2148.45190429688,
2163.39501953125,2225.88989257813,2285.74389648438,2276.0458984375,2275.01000976563,
2244.580078125,2206.19311523438,2298.3759765625,2266.38403320313,2296.07495117188,
2319.11791992188,2285.0380859375,2292.61010742188,2268.080078125,2312.55590820313,
2330.40502929688,2331.13598632813,2291.90209960938,2347.53002929688,2349.58911132813,
2351.98095703125,2351.85498046875,2344.77099609375,2366.70190429688,2356.86010742188,
2357.18090820313,2363.59692382813,2381.42993164063,2403.5869140625,2409.55395507813,
2439.6279296875,2447.05688476563,2451.85693359375,2428.48706054688,2426.11499023438,
2460.69311523438);
n := 2;
options := array('brief':1,'sigma':0,'which':1,'alpha':2,"thr":0,'sorh':'s');
return wavelet(s,wname,n,options) ;
天軟數學組
20120627
}
if not ifarray(options) then options := array();
defaut := wavedefaut() union options;
cout := 4;
cl:=wavedec(s,n,wname); //小波分解
if defaut['brief']=1 then
ret :=wrcoef('a',cl[0],cl[1],wname,n);
else
begin
//***************小波消噪*************************************************
k := defaut['which']; //標准差估計選項 ,k 為 1 到 n的整數 默認為1;
if defaut['sigma']=0 then sigma := wnoisest(cl[0],cl[1],k);
else //通過小波第k層細節系數(諧波)估計 ,噪音標准差
sigma := defaut['segma'];
if defaut['alpha']=0 then alpha :=2; // alpha 懲罰因子 大於1 的數 一般為默認2;
else alpha := defaut['alpha'];
if defaut['thr']=0 then
thr := wbmpen(cl[0],cl[1],sigma,alpha); //噪音信號全局閾值
else thr := defaut['thr'];
sorh := defaut['sorh'];
ret:=wdencmp('gbl',cl[0],cl[1],wname,n,thr,sorh)[0]; //採用軟閾值和近似信號進行消噪;
end //第一個參數為'gbl'為擴展介面備用,可以隨意輸入
return ret;
end;
function wavedefaut();
begin
return array('brief':1,'sigma':0,'which':1,'alpha':2,
"thr":0,'sorh':'s'
);
end
E. 分裂基FFT演算法和基2FFT演算法在matlab里怎麼模擬實現啊
matlab里不是直接可以用fft與2FFT的嗎?
你需要重寫嗎?那查看一下啊fft.m文件唄
%% FFT of Signals in Matlab
% August 31, 2010
% Robert Francis
% [email protected]
%
%% Define time vector
samplingFrequency = 1000; %Hz
timeStep = 1/samplingFrequency; %sec
T = 1; %sec
S = T*samplingFrequency; %samples
samples = 1:S; %samples
time = samples*timeStep; %sec
%% Generate Sine wave
frequency1 = 5; %Hz
frequency2 = 7; %Hz
sineWave = sin(time*frequency1*2*pi)+sin(time*frequency2*2*pi);
figure(1), plot(time,sineWave,'r')
xlabel('Time (sec)')
ylabel('Amplitude')
title(['Original Sinusoid with ' num2str(frequency1) 'Hz and ' num2str(frequency2) 'Hz'])
set(gca,'YLim',[-2.1 2.1])
%% Fast Fourier Transform of Sine Wave
L = length(sineWave);
NFFT = 2^nextpow2(L); % Next power of 2 from length of signal
FsineWave = fft(sineWave,NFFT)/L;
f = samplingFrequency/2*linspace(0,1,NFFT/2+1);
%% Plot single-sided amplitude spectrum.
figure, plot(f,2*abs(FsineWave(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of SineWave')
xlabel('Frequency (Hz)')
ylabel('|SineWave(f)|')
%% Generate square wave
pulseFrequency = 8; %Hz
squareWave = square(time*pulseFrequency*2*pi);
squareWavePos = (squareWave+1)/2;
figure, plot(time,squareWavePos,'r')
set(gca,'YLim',[-0.1 1.1])
%% Fast Fourier Transform of Square Wave
L = length(squareWave);
NFFT = 2^nextpow2(L); % Next power of 2 from length of signal
FsqWave = fft(squareWave,NFFT)/L;
f = samplingFrequency/2*linspace(0,1,NFFT/2+1);
%% Plot single-sided amplitude spectrum.
figure, plot(f,2*abs(FsqWave(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('|SquareWave(f)|')
%% Plot Single-sided Phase Plots
figure, plot(f,phase(FsqWave(1:NFFT/2+1)))
title('Single-Sided Phase Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('Phase(Y(f))')
%% Plot Amplitude and Phase in Same figure
figure,
subplot(2,1,1), plot(f,2*abs(FsqWave(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('|SquareWave(f)|')
subplot(2,1,2), plot(f,phase(FsqWave(1:NFFT/2+1)))
title('Single-Sided Phase Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('Phase(SquareWave(f))')
%% Decibels
magnitude = 2*abs(FsqWave(1:NFFT/2+1));
dbs = 20*log10(magnitude);
dbs_anotherWay = mag2db(magnitude);
dbs_yetAnotherWay = pow2db(magnitude); %Note: 10*log10(magnitude)
figure,
subplot(2,1,1), plot(f,dbs)
title('Single-Sided Amplitude Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('|SquareWave(f)| (db)')
subplot(2,1,2), plot(f,phase(FsqWave(1:NFFT/2+1)))
title('Single-Sided Phase Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('Phase(Y(f))')
%% Add noise to squareWave
noisySqW = squareWavePos + 3*randn(size(squareWavePos));
figure, plot(time,noisySqW), xlabel('Time (sec)'), ylabel('Amplitude')
%% Fourier Transform of noisySqW
L = length(noisySqW);
NFFT = 2^nextpow2(L); % Next power of 2 from length of signal
FnsqWave = fft(noisySqW,NFFT)/L;
f = samplingFrequency/2*linspace(0,1,NFFT/2+1);
%% Plot noisy Fourier Transform
figure,
subplot(2,1,1), plot(f,2*abs(FnsqWave(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('|SquareWave(f)|')
subplot(2,1,2), plot(f,phase(FnsqWave(1:NFFT/2+1)))
title('Single-Sided Phase Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('Phase(Y(f))')
%% Fourier Transform of an Impulse
impulse = [0 0 0 0 0 1 0 0 0 0 0];
L = length(impulse);
NFFT = 2^nextpow2(L); % Next power of 2 from length of signal
Fimpulse = fft(impulse,NFFT)/L;
figure, plot(abs(Fimpulse))
%% Fourier Transform of a DC Signal
DC = ones(1,1000);
L = length(DC);
NFFT = 2^nextpow2(L); % Next power of 2 from length of signal
FDC = fft(DC,NFFT)/L;
DC2 = ones(1,100000);
L2 = length(DC2);
NFFT2 = 2^nextpow2(L2); % Next power of 2 from length of signal
FDC2 = fft(DC2,NFFT2)/L2;
% Arbitrary frequency vectors
f1 = linspace(0,1,length(FDC));
f2 = linspace(0,1,length(FDC2));
figure, plot(f1,abs(FDC),'b'), hold on, plot(f2,abs(FDC2),'r')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2FFT
%% FFT of Signals in Matlab
% August 31, 2010
% Robert Francis
% [email protected]
%
%% Define time vector
samplingFrequency = 1000; %Hz
timeStep = 1/samplingFrequency; %sec
T = 1; %sec
S = T*samplingFrequency; %samples
samples = 1:S; %samples
time = samples*timeStep; %sec
%% Generate Sine wave
frequency1 = 5; %Hz
frequency2 = 7; %Hz
sineWave = sin(time*frequency1*2*pi)+sin(time*frequency2*2*pi);
figure(1), plot(time,sineWave,'r')
xlabel('Time (sec)')
ylabel('Amplitude')
title(['Original Sinusoid with ' num2str(frequency1) 'Hz and ' num2str(frequency2) 'Hz'])
set(gca,'YLim',[-2.1 2.1])
%% Fast Fourier Transform of Sine Wave
L = length(sineWave);
NFFT = 2^nextpow2(L); % Next power of 2 from length of signal
FsineWave = fft(sineWave,NFFT)/L;
f = samplingFrequency/2*linspace(0,1,NFFT/2+1);
%% Plot single-sided amplitude spectrum.
figure, plot(f,2*abs(FsineWave(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of SineWave')
xlabel('Frequency (Hz)')
ylabel('|SineWave(f)|')
%% Generate square wave
pulseFrequency = 8; %Hz
squareWave = square(time*pulseFrequency*2*pi);
squareWavePos = (squareWave+1)/2;
figure, plot(time,squareWavePos,'r')
set(gca,'YLim',[-0.1 1.1])
%% Fast Fourier Transform of Square Wave
L = length(squareWave);
NFFT = 2^nextpow2(L); % Next power of 2 from length of signal
FsqWave = fft(squareWave,NFFT)/L;
f = samplingFrequency/2*linspace(0,1,NFFT/2+1);
%% Plot single-sided amplitude spectrum.
figure, plot(f,2*abs(FsqWave(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('|SquareWave(f)|')
%% Plot Single-sided Phase Plots
figure, plot(f,phase(FsqWave(1:NFFT/2+1)))
title('Single-Sided Phase Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('Phase(Y(f))')
%% Plot Amplitude and Phase in Same figure
figure,
subplot(2,1,1), plot(f,2*abs(FsqWave(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('|SquareWave(f)|')
subplot(2,1,2), plot(f,phase(FsqWave(1:NFFT/2+1)))
title('Single-Sided Phase Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('Phase(SquareWave(f))')
%% Decibels
magnitude = 2*abs(FsqWave(1:NFFT/2+1));
dbs = 20*log10(magnitude);
dbs_anotherWay = mag2db(magnitude);
dbs_yetAnotherWay = pow2db(magnitude); %Note: 10*log10(magnitude)
figure,
subplot(2,1,1), plot(f,dbs)
title('Single-Sided Amplitude Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('|SquareWave(f)| (db)')
subplot(2,1,2), plot(f,phase(FsqWave(1:NFFT/2+1)))
title('Single-Sided Phase Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('Phase(Y(f))')
%% Add noise to squareWave
noisySqW = squareWavePos + 3*randn(size(squareWavePos));
figure, plot(time,noisySqW), xlabel('Time (sec)'), ylabel('Amplitude')
%% Fourier Transform of noisySqW
L = length(noisySqW);
NFFT = 2^nextpow2(L); % Next power of 2 from length of signal
FnsqWave = fft(noisySqW,NFFT)/L;
f = samplingFrequency/2*linspace(0,1,NFFT/2+1);
%% Plot noisy Fourier Transform
figure,
subplot(2,1,1), plot(f,2*abs(FnsqWave(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('|SquareWave(f)|')
subplot(2,1,2), plot(f,phase(FnsqWave(1:NFFT/2+1)))
title('Single-Sided Phase Spectrum of SquareWave')
xlabel('Frequency (Hz)')
ylabel('Phase(Y(f))')
%% Fourier Transform of an Impulse
impulse = [0 0 0 0 0 1 0 0 0 0 0];
L = length(impulse);
NFFT = 2^nextpow2(L); % Next power of 2 from length of signal
Fimpulse = fft(impulse,NFFT)/L;
figure, plot(abs(Fimpulse))
%% Fourier Transform of a DC Signal
DC = ones(1,1000);
L = length(DC);
NFFT = 2^nextpow2(L); % Next power of 2 from length of signal
FDC = fft(DC,NFFT)/L;
DC2 = ones(1,100000);
L2 = length(DC2);
NFFT2 = 2^nextpow2(L2); % Next power of 2 from length of signal
FDC2 = fft(DC2,NFFT2)/L2;
% Arbitrary frequency vectors
f1 = linspace(0,1,length(FDC));
f2 = linspace(0,1,length(FDC2));
figure, plot(f1,abs(FDC),'b'), hold on, plot(f2,abs(FDC2),'r')
F. 區域生長演算法為什麼不能適應所有裂縫的圖片
不是要,而是能夠在裂縫中生長,它的生命力很頑強。如果在菜地,它會生長得更好。
G. 小波演算法是什麼
王衛國 郭寶龍
(西安電子科技大學機電工程學院,西安 710071)
摘 要 隨著互聯網的普及和圖象應用范圍的不斷擴大,對圖象的編碼提出了新的要求,即不僅要求具有高的壓縮比,還要求有許多新的功能,如漸進編解碼、從有損壓縮到無損壓縮等。嵌入式零樹小波編碼較好地實現了這一思想,因此奠定了它在圖象編碼中的地位。近年來,在嵌入式零樹小波編碼(EZW)演算法的基礎上出現了許多新的改進演算法,如多級樹集合分裂演算法(SPIHT),集合分裂嵌入塊編碼(SPECK),可逆的嵌入小波壓縮法(CREW)等.本文對這些演算法從原理到性能進行了比較和討論,說明了嵌入式圖象編碼的研究方向。
關 鍵 詞 圖象編碼 嵌入式 零樹 小波變換
On Embedded Zerotree Wavelets Coding and other Improved Algorithms
WANG Wei-guo, GUO Bao-long
(School of Mechano-Electronic Engineering,Xidian Univ.,Xi』an 710071)
Abstract With the extensive application of internet and image,some new requirements on image coding,such as high compression rate ,pregressive codec,and compression from lossy to lossless ,are to be satisfied.These functions can be performed well by EZW(Embedded Zerotree Wavelets) coding.On the bases of EZW,many newly improved algorithms have been developed in recent years.They can illustrated by algorithms like SPIHT(Set Partitioning in Hierarchical Trees),SPECK(Set Partitioned Embedded block coder),In this paper,the writer discusses the principles and performances of these algorithms,thus explains the research tendency in the area of embedded image coding.
Keywords Image coding,Embedded,Zerotree,Wavelet transform
0. 引言
在基於小波變換的圖象壓縮方案中,嵌入式零樹小波 EZW(Embedded Zerotree Wavelets)[1]編碼很好地利用小波系數的特性使得輸出的碼流具有嵌入特性。它的重要性排序和分級量化的思想被許多編碼演算法所採用。近年來,在對EZW改進的基礎上,提出了許多新的性能更好的演算法,如多級樹集合分裂演算法(SPIHT :Set Partitioning In Hierarchical Trees)[2],集合分裂嵌入塊編碼(SPECK:Set Partitioned Embedded bloCK coder),可逆嵌入小波壓縮演算法(CREW:Compression with Reversible Embedded Wavelets)[3] 。本文對這些演算法進行了原理分析、性能比較,說明了嵌入式小波圖象編碼的研究方向。
H. 驗光的十字換演算法用圖裂怎樣表示
使用十字換演算法,不如列式換演算法方便。
I. QTc間期的計算方法是什麼
QTc間期的兩種計算公式:
1、Bazetts公式
該公式最常用,計算方法為QTcB = QT/(RR^0.5),RR為標准化的心率值,根據60除以心率得到。
2、Fridericia公式
計算方法為QTcF = QT/(RR^0.33),RR為標准化的心率值,根據60除以心率而得。
當心率超過60次/min時,Bazetts法對QT的校正程度超過Fridericia法,即QT/QTc臨床試驗出現陽性結論的可能性增加。反之,當心率低於60次/min時,Fridericia法與Bazett法相比會表現出一定程度的校正不足。
(9)圖裂演算法擴展閱讀:
QTc的測量雖然看似簡單,但實際上要比QT間期的測量更加復雜:要獲得QTc首先要獲得准確的QT間期。與QT間期相比,QTc還需要獲得RR間期,RR間期在竇性心律下獲取相對簡單,但在房顫等明顯心律不齊時,獲得RR間期也會變得分外復雜。
其次,《診斷學》中所介紹的QT校正方法被稱為Bazett法,除Bazett法外,現在已經發展出幾種不同的心率校正公式;這些公式主要來源於靜息心電圖,因此均需要穩定的沒有RR間期突然變化的竇性心律。QTc的測量,並不簡單,而且比QT還要復雜。
參考資料來源:網路-QTc間期
J. 大家幫我看看這樣的鋼材裂縫圖像處理下用 MATLAB 怎麼識別出來,標記出來,有沒有好的演算法我QQ88274878
學習初級模特培訓時間應該是足夠了,在去模特培訓之前,要先了解一下對方學校的入學要求,比如身高、體重、年齡之類的。在網上搜索到最多的就是哈爾濱新絲路學校的模特培訓入學內容了,一般模特培訓初級班只是需要1個月的時間就可以學完了,你現在要做的就是跟那邊的學校聯系一下,安排一下你自己的時間,祝你好運了。呵呵。