吳興蛟 吳 晟
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院 昆明 650500)
?
基于邊緣檢測的位圖矢量化的實(shí)現(xiàn)*
吳興蛟吳晟
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院昆明650500)
摘要論文介紹的是基于邊緣檢測與特征點(diǎn)提取的位圖矢量化方法。先將位圖進(jìn)行RGB—HSI變換,增強(qiáng)圖像對比度并進(jìn)行邊緣降噪、平滑處理,而后對圖片進(jìn)行閾值化處理。運(yùn)用Canny算子對閾值化圖像進(jìn)行邊緣檢測,并藉此提取邊緣輪廓。獲得邊緣輪廓后對其進(jìn)行特征點(diǎn)求取。得到特征點(diǎn)集合。存儲集合并在此基礎(chǔ)上借助Matlab編寫曲線處理函數(shù),使用最小二乘法對曲線進(jìn)行局部試擬合,比對SSE,找出最小值并記住當(dāng)前參數(shù),確定擬合函數(shù)。通過對所有局部曲線自動(dòng)擬合技術(shù),生成一組多項(xiàng)式方程,實(shí)現(xiàn)位圖的矢將其量化。最后得出一組圖像曲線。論文借助邊緣檢測的技術(shù)實(shí)現(xiàn)了位圖的矢量化。
關(guān)鍵詞邊緣檢測; 曲線自動(dòng)擬合; 矢量化; 特征點(diǎn)提取; Matlab; 多項(xiàng)式擬合; 最小二乘法
Bitmap Vector Quantization Based on Edge Detection
WU XingjiaoWU Sheng
(School of Information Engineering and Automation, Kunming University of Science and Technology, Kunming650500)
AbstractA bitmap vectorization methods that based on edge detection and feature point extraction is introduced in this article. Firstly, RGB-HSI transform is used to enhance the image contrast of the bitmap, to reduce the edge’s noise and smooth the edge, then applying the threshold to process the image. Using Canny operator to detect the edge of the threshold image, and to extract the edge contour. Striking the characteristic points of the edge contour, thus getting feature points set. Combining Matlab to write the curve processing function on the basis of the set storage, using the least square method to fit the curve and to compare the SSE. Then finding the minimum value and remembering the current parameters, and determining the fitting function. Through automatic fitting technique to assemble all local curves, thus generating a set of polynomial equations, then realizing the vector of bitmap and quantizing them. Finally, a set of image curves are obtained. In this paper, edge detection technology is used to achieve the vectorization of a bitmap.
Key Wordsedge detection, automatic fitting curve, vectorization, extracte of feature point, Matlab, polynomial fitting, the least square method
Class NumberTP391.41
1引言
圖形(圖像)通常以不同形式存儲在計(jì)算機(jī)中,并用不同的方式加以描述。位圖和矢量圖是其中最常用的兩種描述方式。位圖采用像素點(diǎn)來描述圖像。每個(gè)點(diǎn)用二進(jìn)制數(shù)據(jù)來描述其顏色與亮度等信息,這些點(diǎn)是類似于點(diǎn)陣的離散點(diǎn),多個(gè)像素的色彩組合形成位圖。矢量圖則是用一系列計(jì)算機(jī)指令來描述和記錄圖,圖可以分解為一系列由點(diǎn)、線、面等組成的子圖,矢量圖所記錄的是對象的幾何形狀、線條粗細(xì)和色彩等。圖像形式可隨坐標(biāo)遷移[1]。
一般來說,對色彩要求較為嚴(yán)格、表現(xiàn)力要求較強(qiáng)、圖層力求細(xì)膩、圖像層次多、細(xì)節(jié)多的圖多采用位圖來描述。矢量圖則多用在工程制圖、標(biāo)志、字體等這些構(gòu)圖較為簡單且由規(guī)律的線條組成的圖形描述。矢量圖可以任意縮放,且其圖形整體形狀變化不大。而位圖放大到一定程度后,就會(huì)產(chǎn)生模糊,甚至邊緣出現(xiàn)鋸齒。
矢量圖從本質(zhì)上是使用曲線方程對圖形進(jìn)行的精確描述,在以像素為基本顯示單元的顯示器或打印機(jī)上是無法直接表現(xiàn)的。只有通過柵格化將矢量圖轉(zhuǎn)換成以像素點(diǎn)陣來表示的信息,再加以顯示或打印。在目前技術(shù)之下,對圖像的柵格化已是較為完善的。但隨著顯示器分辨率的差距越來越大。以及大數(shù)據(jù)時(shí)代的到來。我們面臨數(shù)據(jù)存儲、顯示的難題越來越大。一幅圖,有無較好的可移植性是評判其優(yōu)劣的標(biāo)準(zhǔn)之一。以保證圖像在放大縮小的時(shí)候失真率較小。便有了位圖的矢量化。將位圖矢量化,該過程是一個(gè)離散數(shù)據(jù)連續(xù)化的過程。其間涉及對離散數(shù)據(jù)的擬合。位圖矢量化的過程就是逆柵格化。
逆柵格化就是通過一系列采樣、抽象,得到可以描繪一個(gè)圖形的點(diǎn)線集合。然后通過合理的模型提取抽象出表達(dá)函數(shù)。
采樣、抽象的過程具體來說就是數(shù)理統(tǒng)計(jì)的過程,一個(gè)對象是否能被統(tǒng)計(jì)是取決于樣本處理的結(jié)果的,所以在取樣之前,應(yīng)該對樣本進(jìn)行處理。使其滿足取樣的最低需求。在此處,取的樣本是要可以描繪圖像邊緣特征的部分,所以在取樣之前,應(yīng)該對其對比度進(jìn)行處理。以便抽取對象輪廓。要進(jìn)行曲線的擬合,就是要對邊緣曲線進(jìn)行特征點(diǎn)獲取。然后對這些點(diǎn)進(jìn)行曲線擬合。所以對于該問題可采用提取輪廓點(diǎn)、輪廓點(diǎn)矢量化的方法來完成位圖矢量化。大致分四步完成:
1) 圖像預(yù)處理;
2) 邊緣檢測;
3) 特征點(diǎn)提取;
4) 曲線擬合。
2圖像預(yù)處理
對圖像的預(yù)處理是為了平滑圖像邊緣、消除毛刺、消除干擾、提高圖像的對比度,讓其在邊緣檢測時(shí)能更加有效地提取出連續(xù)的邊緣輪廓[2~3]。
2.1采用HSI空間處理原始RGB圖像。
RGB和HSI模型是兩種最常用的顏色模型。RGB模型基于三基色原理,面向硬件,便于顏色的采集和顯示。HSI模型基于色調(diào)、飽和度和強(qiáng)度三種基本特征量來感知顏色,反映了人的視覺系統(tǒng)感知彩色的方式。而且HSI模型就是為了滿足計(jì)算機(jī)數(shù)字化顏色管理的需要而提出的對上述顏色模型的高度抽象模擬的數(shù)學(xué)模型。且在基于顏色空間劃分,RGB關(guān)聯(lián)太大,每個(gè)通道都編入了亮度信息,容易受周圍環(huán)境的影響而HSI空間就不會(huì)。HSI空間是從人的視覺系統(tǒng)出發(fā),有較好抗干擾能力,有利于優(yōu)化模型。所以適合選用HIS空間處理[4~5]。
位圖RGB—HSI變換采用如下程序?qū)崿F(xiàn):
rgb=imread('圖片名(圖片路徑)');
Info=imfinfo('./test.bmp')
rgb=im2double(rgb); %轉(zhuǎn)換成雙精度
r=rgb(:,:,1); %RGB圖像中R分量
g=rgb(:,:,2); %RGB圖像中G分量
b=rgb(:,:,3); %RGB圖像中B分量
num=0.5*((r-g)+(r-b));
den=sqrt((r-g).^2+(r-b).*(g-b));
theta=acos(num./(den+eps));
H=theta;
H(b>g)=2*pi-H(b>g);
H=H/(2*pi);
num=min(min(r,g),b);
den=r+g+b;
S=1-3.*num./(den+eps);
H(S==0)=0;
I=(r+g+b)/3;
S=im2uint8(S);
H=im2uint8(H);
I=im2uint8(I);
2.2增大圖像對比度
為了得到更易于提取邊緣的圖像,采用一些技術(shù)去改善圖像的視覺效果,將圖像轉(zhuǎn)換成一種更適合于人或機(jī)器進(jìn)行分析處理的形式。有選擇地突出某些對人或機(jī)器分析有意義的信息,抑制無用信息,提高圖像的使用價(jià)值。故而在此增加圖像的對比度。采用式(1)實(shí)現(xiàn):
imadjust(I,[low_in;high_in],[low_out;high_out])
(1)
2.3閾值化圖像
圖像閾值化,就是將灰度圖像或者RGB彩色圖像上的像素點(diǎn)的灰度值通過閾值規(guī)范化為0或1,也就是使整個(gè)圖像呈現(xiàn)出明顯的黑白對比效果。圖像閾值化有利于統(tǒng)計(jì)的進(jìn)一步處理,使數(shù)據(jù)量得到精簡。對于簡單圖像的處理,采用全局閾值處理即可。采用式(2)實(shí)現(xiàn):
BW=im2bw(I,level)
(2)
及此完成對于圖像的初步處理。得到所需要的閾值化圖像。
3邊緣檢測
對圖像邊緣輪廓的提取有許多的研究和方法[6],常用的圖像的邊緣提取的梯度算子分為一階和二階算子。
一階:Roberts Cross算子,Prewitt算子,Sobel算子,Kirsch算子,羅盤算子;
二階:Marr-Hildreth,zerocmss算子,Canny算子,Laplacian算子。
在此做出簡要說明。
1) Soble:離散性差分算子,常運(yùn)用計(jì)算圖像亮度函數(shù)的梯度之近似值。使用此算子,將會(huì)產(chǎn)生對應(yīng)的梯度矢量或其法矢量。
2) Prewitt:一階微分算子,利用像素點(diǎn)四連通域的灰度差,利用極值檢測邊緣,去掉部分偽邊緣,具有平滑噪聲的作用。利用水平與垂直兩個(gè)方向模板與圖像進(jìn)行鄰域卷積完成邊緣檢測。
3) Roberts:利用局部差分算子尋找邊緣的算子,邊緣定位的精度較低。
4) Log:將高斯濾波和拉普拉斯檢測算子結(jié)合在一起進(jìn)行邊緣檢測的方法,圖像先與高斯濾波器進(jìn)行卷積,再進(jìn)行拉普拉斯卷積變換,最后再進(jìn)行過零判斷。
5) Canny:首先使用高斯平滑函數(shù)平滑與消除噪聲;運(yùn)用一階差分卷積模板進(jìn)行邊緣增強(qiáng);進(jìn)行非極大值抑制(NMS)。保留梯度方向上的最大值。
在對多種算子進(jìn)行檢驗(yàn)分析之后。得出如下結(jié)論:
1) Sobel算子適用于灰度漸變的圖像處理,但缺點(diǎn)是對變化不大的部位處理效果不好以及邊緣定位不準(zhǔn)確;
2) Prewitt算子對灰度漸變的圖像處理效果較好,但是提取的圖像邊緣的間斷點(diǎn)較多;Log算子比前面幾種方法要好,但是邊緣的間斷點(diǎn)也較多;
3) Roberts算子對具有陡峭的低噪聲的圖像處理效果較好,但是提取的邊緣比較粗,因此對邊緣的定位不是很準(zhǔn)確;
4) Log方法先對原始圖像進(jìn)行平滑處理,極大程度地抑制了噪聲干擾,但是處理之后仍發(fā)現(xiàn)存在對噪聲敏感,噪聲平滑能力與邊緣定位能力相矛盾等缺點(diǎn)
5) Canny方法不容易受噪聲干擾,能夠檢測到真正的弱邊緣,原因是它使用兩種不同的閾值分別檢測強(qiáng)邊緣和弱邊緣,并且當(dāng)弱邊緣和強(qiáng)邊緣相連時(shí),可以將弱邊緣包含在輸出圖像中。
故而本文最終采用Canny算子實(shí)現(xiàn)邊緣提取[7]。
對圖像進(jìn)行預(yù)處理以后,利用Canny算子對其進(jìn)行邊緣檢測,檢測過程如下:
1) 用高斯濾波模板對原圖像進(jìn)行卷積以消除噪聲;
2) 利用導(dǎo)數(shù)算子找到圖像灰度沿著兩個(gè)(x,y)方向的偏導(dǎo)數(shù),并求出梯度的大小;
3) 利用2)的結(jié)果計(jì)算出梯度的方向;
4) 把邊緣的梯度方向大致分四種:0°、45°、90°、135°方向。通過梯度的方向,找到這個(gè)像素梯度方向的鄰接像素;
5) 遍歷圖像,若某個(gè)像素的灰度值與其梯度方向上前后兩個(gè)像素的灰度值相比不是最大的,那么這個(gè)像素值為零,即不是邊緣;
6) 使用累計(jì)直方圖計(jì)算兩個(gè)閾值,大于高閾值的一定是邊緣,小于低閾值的一定不是邊緣,介于之間的,看這個(gè)像素的鄰接像素中有沒有超過高閾值的邊緣像素,如果有的話那么它就是邊緣,否則它就不是邊緣。
實(shí)現(xiàn)見式(3):
BW=edge(I,'canny',thresh)
(3)
根據(jù)所指定的敏感度閾值thresh,用Canny算子進(jìn)行邊緣檢測,它忽略了所有小于閾值的邊緣。當(dāng)thresh為空時(shí),自動(dòng)選擇閾值。
至此提取出邊緣矩陣BW。
4特征點(diǎn)提取
特征點(diǎn)的提取是位圖矢量化過程中重要的一步,該步驟主要是從檢測出的邊緣中提取出表示圖像輪廓關(guān)鍵特征的點(diǎn)。輪廓特征點(diǎn)包括角點(diǎn)、切點(diǎn)和拐點(diǎn),其中角點(diǎn)是目標(biāo)輪廓線上曲率超過一定閾值的局部極大值點(diǎn),切點(diǎn)是圓弧和直線的平滑過渡點(diǎn),拐點(diǎn)是凹圓弧和凸圓弧的平滑過渡點(diǎn)。目前絕大多數(shù)的輪廓特征點(diǎn)提取方法都是利用相鄰的一組輪廓點(diǎn)來計(jì)算輪廓線上各點(diǎn)的曲率或兩近似直線段的夾角來判定輪廓特征點(diǎn)的,角點(diǎn)的曲率較大,比較容易提取。此處采用的Harris算法是穩(wěn)定性和準(zhǔn)確度都較高的基于灰度的角點(diǎn)檢測算法[8]。
Harris算法提取特征點(diǎn)的具體步驟如下:
1) 使用高斯濾波與圖像進(jìn)行卷積,濾除噪聲;
2) 使用37像素圓形模板依次遍歷圖像,求出各點(diǎn)梯度;
3) 對于每一像素點(diǎn),計(jì)算其對應(yīng)的二階方陣;
4) 計(jì)算各像素點(diǎn)的響應(yīng);
5) 用非最大值抑制求得R(x,y)的局部最大值,則該局部最大值對應(yīng)的像素點(diǎn)即為角點(diǎn)。
具體見以下程序
f=BW;
ori_im=double(f)/255; %unit8轉(zhuǎn)化為64位雙精度double64
fx = [-2 -1 0 1 2]; % x方向梯度算子(用于Harris角點(diǎn)提取算法)
Ix = filter2(fx,ori_im); % x方向?yàn)V波 善于使用filter
fy = [-2;-1;0;1;2]; % y方向梯度算子(用于Harris角點(diǎn)提取算法)
Iy = filter2(fy,ori_im); % y方向?yàn)V波
Ix2 = Ix.^2;
Iy2 = Iy.^2;
Ixy = Ix.*Iy;
clear Ix;
clear Iy; %消除變量
h= fspecial('gaussian',[10 10],2); % 產(chǎn)生10*10的高斯窗函數(shù),sigma=2 標(biāo)準(zhǔn)偏差
Ix2 = filter2(h,Ix2);
Iy2 = filter2(h,Iy2);
Ixy = filter2(h,Ixy); %分別進(jìn)行高斯濾波
height = size(ori_im,1);
width = size(ori_im,2);
result = zeros(height,width); % 紀(jì)錄角點(diǎn)位置,角點(diǎn)處值為1 ,背景都是黑色的
R = zeros(height,width);
Rmax = 0; % 圖像中最大的R值以便設(shè)置門限
for i = 1:height
for j = 1:width
M = [Ix2(i,j) Ixy(i,j);Ixy(i,j) Iy2(i,j)]; %2*2的矩陣
R(i,j) = det(M)-0.06*(trace(M))^2; % 計(jì)算R ,求得RMAX,看來是整體求得的,角點(diǎn)響應(yīng)函數(shù)
if R(i,j) > Rmax
Rmax = R(i,j);
end;
end;
end;
cnt = 0; %記錄點(diǎn)數(shù)的
for i = 2:height-1
for j = 2:width-1 % 進(jìn)行非極大抑制,窗口3*3
if R(i,j) > 0.01*Rmax &&
R(i,j) > R(i-1,j-1) &&
R(i,j) > R(i-1,j) &&
R(i,j) > R(i-1,j+1) &&
R(i,j) > R(i,j-1) &&
R(i,j) > R(i,j+1) &&
R(i,j) > R(i+1,j-1) &&
R(i,j) > R(i+1,j) &&
R(i,j) > R(i+1,j+1)
result(i,j) = 1;
cnt = cnt+1;
end;
end;
end;
[posc, posr] = find(result == 1);
cnt; % 角點(diǎn)個(gè)數(shù)
figure;
imshow(ori_im*255) %和 X的效果是一樣的
hold on;
plot(posr,posc,'g+');
5曲線擬合
最后進(jìn)行的操作是曲線的擬合,在此我們采用的是曲線的自動(dòng)擬合。設(shè)計(jì)思想是:在確定特征點(diǎn)數(shù)組之后,便對曲線進(jìn)行動(dòng)態(tài)分組—將相鄰的幾個(gè)點(diǎn)用最小二乘法進(jìn)行試擬合[9],對比其和方差(SSE),找出最小的SSE和此時(shí)的分段數(shù)目。以及最佳的擬合系數(shù)。由于矢量圖的構(gòu)造一般由曲線或者直線等簡單線段構(gòu)造而成。所以擬用多項(xiàng)式來擬合目標(biāo)曲線。而通過對不同曲線的SSE比較找出最佳擬合曲線[10]。實(shí)現(xiàn)細(xì)節(jié)是通過兩個(gè)嵌套循環(huán)實(shí)現(xiàn)。
5.1SSE(和方差)
該統(tǒng)計(jì)參數(shù)計(jì)算的是擬合數(shù)據(jù)和原始數(shù)據(jù)對應(yīng)點(diǎn)的誤差的平方和,計(jì)算公式如式(4):
(4)
SSE越接近于0,說明模型選擇和擬合越好,數(shù)據(jù)預(yù)測也越成功。
5.2多項(xiàng)式擬合
(5)
當(dāng)擬合函數(shù)為多項(xiàng)式時(shí),稱為多項(xiàng)式擬合,滿足式(1)的稱為最小二乘擬合多項(xiàng)式。特別地,當(dāng)n=1時(shí),稱為線性擬合或直線擬合。
顯然
(6)
為a0,a1,…,an的多元函數(shù),因此上述問題即為求I=I(a0,a1,…,an)的極值問題。由多元函數(shù)求極值的必要條件,得
(7)
即
(8)
5.3多項(xiàng)式擬合的一般方法
1) 由已知數(shù)據(jù)畫出函數(shù)粗略的圖形——散點(diǎn)圖,確定擬合多項(xiàng)式的次數(shù)n;
3) 寫出正規(guī)方程組,求出a0,a1,…,an;
在實(shí)際應(yīng)用中,n 經(jīng)過實(shí)驗(yàn),發(fā)現(xiàn)當(dāng)采用傅里葉函數(shù)和高斯函數(shù)對特征點(diǎn)進(jìn)行曲線擬合時(shí),剩余平方和較大(接近10的5次方左右),擬合曲線與散列點(diǎn)的對應(yīng)較弱。故將原曲線進(jìn)行區(qū)域化擬合,即將散列點(diǎn)分組擬合。 對于分組的點(diǎn),可通過程序循環(huán)進(jìn)行控制,截取3~8個(gè)不同組成形式的點(diǎn),進(jìn)行曲線試擬合,通過對擬合曲線中小于1的剩余平方和的統(tǒng)計(jì),對比得出其剩余平方和在區(qū)間0~1的點(diǎn)數(shù)組合。 對于擬合階次的選定同樣通過循環(huán),先將原邊緣特征點(diǎn)集合分為N組,N是由點(diǎn)總數(shù)與點(diǎn)數(shù)組合相除。對多項(xiàng)式介詞的選擇根據(jù)點(diǎn)數(shù)組合求得。通過對不同系數(shù)的剩余平方和的比較,找出其中最小數(shù)標(biāo)記出來,記為該區(qū)域曲線的最佳階次。將最佳階次代入到方程中,即得到最終的方程, 下面為實(shí)現(xiàn)代碼見以下程序 for s=3:8 count(s)=oper(posr,posc,cnt,s) end fprintf('m是最大值,n是最大值的位置
'); [m n]=max(count) fprintf('對比后的擬合函數(shù)
'); count=oper(posr,posc,cnt,n) function countSSE=oper(xGet,yGet,totoal,pointGet) %函數(shù)實(shí)現(xiàn)的功能是通過x和y向量組提供橫縱坐標(biāo),然后通過坐標(biāo)點(diǎn)總數(shù),以及取點(diǎn)個(gè)數(shù)建立函數(shù)返回統(tǒng)計(jì)后剩余平方和小于1的函數(shù) %countSSE=oper(xGet,yGet,totoal,pointGet) xw=xGet; yw=yGet; cnt=totoal; point=pointGet; countSSE=0; number=floor(cnt/point)%分段數(shù) temp=cnt; cnt=cnt-mod(temp,number) for k=temp+1:1:cnt xw(k)=0; yw(k)=0; end for j=1:1:number fprintf(1,'計(jì)算第%d段函數(shù)
',j); x=xw(((j-1)*(cnt/number)+1):((j)*(cnt/number)+1)); warning('off') y=yw(((j-1)*(cnt/number)+1):((j)*(cnt/number)+1)); warning('off') nx = length(x); ny = length(y); n = length(x); if nx == ny x1 = x(1); xn = x(n); % n個(gè)數(shù)據(jù)可以擬合(n-1)階多項(xiàng)式,高階多項(xiàng)式多次求導(dǎo),數(shù)值特性變差 %自動(dòng)賦值m for m=1:point [p,S]=polyfit(x,y,m); warning('off') [yh,delta]=polyconf(p,x,S); SSE(m)=sum((y-yh).^2); end [sd,m]=min(SSE); fprintf('輸出最適m=%d',m); [p,S]=polyfit(x,y,m); fprintf('
輸出多項(xiàng)式'); poly2sym(p) disp ' 輸出多項(xiàng)式的有關(guān)信息 S' disp (S) [yh,delta]=polyconf(p,x,S); % 擬合效果和精度檢驗(yàn) SSE=sum((y-yh).^2); if SSE<1 countSSE=countSSE+1; end RMSE = sqrt(SSE / (n - 2)); R_square = sum((yh-mean(y)).^2)/sum((y-mean(y)).^2); fprintf (1,' 剩余平方和 SSE = %3.6f
',SSE) fprintf ('
') fprintf (1,' 標(biāo)準(zhǔn)誤差 RMSE = %3.6f
',RMSE) fprintf ('
') fprintf (1,' 相關(guān)指數(shù) R-square = %3.6f
',R_square) fprintf ('
') else clear zxecf end end 6結(jié)語 模型采用多項(xiàng)式擬合作為模型范式,采用SSE(剩余平方和)與零的趨近程度評價(jià)當(dāng)前擬合與數(shù)據(jù)之間的關(guān)系。該模型先采用循環(huán)篩選取值間隔,然后在同理采用循環(huán)選擇階次,最后構(gòu)造出函數(shù)。該模型自動(dòng)化程度較高[11]??蛇\(yùn)用于大部分圖形轉(zhuǎn)化。在對不同圖形選取之時(shí),只要改變選取圖片路徑,其余對于分組以及參數(shù)的選取都有程序自動(dòng)計(jì)算得出。普適性較高。同時(shí)在對圖像進(jìn)行處理之前,先對其進(jìn)行優(yōu)化處理。從而保證了輸出結(jié)果的準(zhǔn)確性。 模型通過提取位圖的函數(shù)特征。自動(dòng)構(gòu)造矢量圖函數(shù)表達(dá)式??蔀槲粓D矢量化下一步研究提供一定助力。 參 考 文 獻(xiàn) [1] 盧迪,李大輝,吳海濤.計(jì)算機(jī)圖形學(xué)原理及應(yīng)用[M].北京:國防工業(yè)出版社,2009:1-125. LU Di, LI Dahui, WU Haitao. Principles of computer graphics and applications[M]. Beijing: National Defense Industry Press,2009:1-125. [2] 嚴(yán)素蓉,朱桂林,徐從富.一種位圖矢量化新方法[J].計(jì)算機(jī)工程與應(yīng)用,2005,14:85-87. YAN Surong, ZHU Guilin, XU Congfu. A new method of vector quantization bitmap[J]. Computer Engineering and Application,2005,14:85-87. [3] Rafael C. Gonzalez, Richard E. Woods, Steven L. Eddins.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2005,9:224-272. Rafael C. Gonzalez, Richard E. Woods, Steven L. Eddins. Digital image processing[M]. Beijing: Electronic Industry Publishing House,2005,9:224-272. [4] 劉華波.RGB與HSI顏色模型的轉(zhuǎn)換方法對比研究[EB/OL].北京:中國科技論文在線[2008-04-30]. http://www.paper.edu.cn/releasepaper/content/200804-1063. LIU Huabo. The RGB and HSI color model conversion method of comparative study[EB/OL]. Beijing: China Science and Technology Papers Online[2008-04-30]. http://www.paper.edu.cn/releasepaper/content/200804-1063. [5] 王勝正,施朝健.基于兩種色彩空間的顏色選擇方法[J].計(jì)算機(jī)應(yīng)用與軟件,2004,21(2):114-116. WANG Shengzheng, SHI Chaojian. The color selection method based on two kinds of color space[J]. Journal of Computer Applications and Software,2004,21(2):114-116. [6] 柏春嵐.Matlab在圖像邊緣提取中的應(yīng)用[J].計(jì)算機(jī)與網(wǎng)絡(luò),2009,14:224-225. BAI Chunlan. Application of Matlab in image edge detection[J]. Computer and Network,2009,14:224-225. [7] 賀囊,晏立.基于LOG和Canny算子的邊緣檢測算法[J].計(jì)算機(jī)工程,2011,37(3):210-212. HE Nang, YAN Li. Edge detection algorithm based on the LOG and Canny operator[J]. Computer Engineering,2011,5(3):210-212. [8] 王崴,唐一平,任娟莉,等.一種改進(jìn)的Harris角點(diǎn)提取算法[J].光學(xué)精密工程,2008,10:6-8. WANG Wai, TANG Yiping, REN Juanli, et al. An improved Harris corner extraction algorithm[J]. Optical Precision Engineering,2008,10:6-8. [9] 陳光,任志良,孫海柱.最小二乘曲線擬合及MATLAB實(shí)現(xiàn)[J].兵工自動(dòng)化,2005,3:25-27. CHEN Guang, REN Zhiliang, SUN Haizhu. Least squares curve fitting and MATLAB[J]. These Automation,2005,3:25-27. [10] 侯超鈞,曾艷姍,吳東慶,等.全局連續(xù)的分段最小二乘曲線擬合方法[J].重慶師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,28(6):44-48. HOU Chaojun, ZENG Yanshan, WU Dongqing, et al. Global continuous piecewise least squares curve fitting method[J]. Journal of Chongqing Normal University(Natural Science Edition),2011,28(6):44-48. [11] 姜啟源,謝金星,葉俊.數(shù)學(xué)建模[M].北京:高等教育出版社,2011:1-473. JIANG Qiyuan, XIE Jinxing, YE Jun. Mathematical modeling[M]. Higher Education Press,2011:1-473. 中圖分類號TP391.41 DOI:10.3969/j.issn.1672-9722.2016.02.034 作者簡介:吳興蛟,男,碩士研究生,研究方向:軟件工程、算法設(shè)計(jì)、程序設(shè)計(jì)。吳晟,男,教授,碩士生導(dǎo)師,研究方向:信息安全,算法研究等。 基金項(xiàng)目:昆明理工大學(xué)校級項(xiàng)目資助。 *收稿日期:2015年8月7日,修回日期:2015年9月20日