專利名稱:基于頻域擾動的藝術圖案生成方法
技術領域:
本發明涉及一種利用計算機生成藝術圖案的方法,屬計算機應用及電子信息處理技術領域。
藝術圖案在現代社會中應用極廣,其創作是設計者發揮想象力和創造力,并逐步探索的過程。目前,藝術圖案大都是由專業美工人員手繪或進一步用電腦協作處理產生,這種方法需耗用較多材料,由專業美工人員試探性地模擬出藝術圖案,整個過程煩瑣,耗用創作人員勞動及精力大,且一般人無法完成,創作的圖案種類也有限。曾有日本人在水面上滴入顏料,利用水的表面張力及顏料在水面上呈現的吸引和排斥等作用產生出許多豐富的圖案;這種方法簡化了人的勞動,同時豐實了圖案的類型,但試探性很強,為產生一幅滿意圖案需大量的顏料進行創作,為保存及使用水面上生成的圖案,還需用特殊手段將其吸附到其它固定載體上,既耗材料,圖案又不穩定,保存圖案更加困難,因而不具備實用性。
近年來,隨著計算機應用技術及電子信息技術的發展,利用計算機來產生藝術圖案已被廣泛應用。但目前利用計算機產生藝術圖案多是根據分形學的原理,采用不同的分形集和參數來模擬出和自然界事物相似的圖案。由于目前所研究出的分形集較少(用得較多的分形集是julia集和Mandelbort集,它們都是由關系式zn+1=z2n+c所定義的不同復數序列產生的圖形,式中c是一個復常數。julia集的定義是固定c,讓z0在復數域中變動,而Mandelbort集的定義是固定z0而讓參數c變化),能產生圖形的參數也有限,因而圖形不豐富。同時,用分形集產生出的圖案不夠自然和諧,常帶有人工雕琢的痕跡。這此缺點都大在限制了利用計算機產生藝術圖案的應用。
本發明的目的在于克服現有計算機生成藝術圖案方法之不足,提供一種能產生豐富自然的藝術圖案、方便快捷、節省創作材料和時間的基于頻域擾動的藝術圖案生成方法。
本發明的技術方案是基于頻域擾動的藝術圖案生成方法,利用計算機,根據分形理論產生分形圖案,其特殊之處在于以分形圖案作為基本模板圖形,對分形圖形進行頻域隨機擾動,得到(顯示、保存、打印)更加自然和諧的藝術圖案。由計算機根據分形理論,產生的圖形具有隨機性強的特點,其形態較好,但缺乏自然度,不夠自然和諧。以分形圖為其礎作頻域隨機擾動,可改變原圖案的形態,增加其自然度,并豐富圖案的類型。對分形圖形進行頻域隨機擾動的過程為在分形基本模版圖形的基礎上,用普通頻域變換方法將分形圖形作頻域正變換,得到圖像頻譜D(為一個M×N的距陣),在D中任意選取L個分量作為待擾動的頻譜向量V,同時用普通程序任意構造一個長為L的隨機數序列W=w1,w2,…,wL,作為對圖像頻譜D進行擾動的參量;然后用W對V進行擾動,得到擾動后的頻譜V′,再將V′返回到原圖像頻譜中,得到擾動后的圖像頻譜D′,最后利用普通頻域交換方法將D′進行頻域逆變換到空域,恢復圖像,即得到更加自然和諧、豐富的藝術圖案。整個頻域擾動過程均由計算機采用普通的頻域擾動程序隨機進行,W對V的擾動可用公式表現為νi′=vi(1+αwi),式中,α為一個比例因子,可根據實際需要任意確定,i=1,2,…,L,與數序列w1,w2,…,wL對應,W可以是任意分布的隨機數序列。數序列的長度L以及比例因子α視實際需要W對V擾動的強度而定,L或α大些,則W對V的擾動就大,原基本圖像(分形圖形)的改變就大;L或α小,則W對V的擾動就小,原基本圖像的改變就,這可根據分形模版具體情況來選擇。一般地,如果分形模版圖案具有較好的形態和色彩,而只是缺少自然的成分,則可選取較小的L或α,使圖案改變小些,盡量保持原圖的形態,僅通過頻譜的擾動加入自然的成分,使得到的圖案更自然;如果模版圖案的形態和色彩均缺乏藝術性,則應選取較大的L或α,使圖案改變大些,使圖案顯得隨機性大而彌補原圖的不足。D中的L個分量也是隨機選取,而沒有特殊要求,例如可取D中能量最大的L個分量組成V,也可選D中能量大小不一的L個分量組成V。W、L、α以及V的不同,其產生的圖像都會有很大的差異,只需改變W、L、α和V,就可方便、快捷地生成變化萬千的豐富、自然、和諧的藝術圖案。W、L、α和V可據實際需要隨意選定,而不受限制;實際操作中,圖像的創作者可隨意設定這四種參數、在不同參數下生成不同的圖案,再比較各幅圖案選出需要的藝術圖案,并通過計算機將選定的圖案保存或打印出來而應用于各種需要的場合。
實現頻域隨機擾動的計算機程序為普通的頻域擾動程序,它由計算機將分形模板圖形以文件名作為函數參數傳遞到函數中進行處理,最后顯示產生的圖形。而頻域變換的方法及程序也為普通的頻域變換及程序,如FFT變換、DCT變換及WHT變換等及相應程序均可。
圖1為本發明流程圖,圖2為本發明計算機程序流程圖,圖3、4、5為實施例圖案。
以下進一步闡述
具體實施例方式例1該基于領域擾動的藝術圖案生成方法是利用計算機,根據分形理論,采用現有Julia分形集及相應程序,以(-0.481762,-0.531657,1.5,1.5)為參數產生一分形圖形作為基本模板。在此基本模板的基礎上,采用普通DCT頻域變換方法及程序將分形圖形作頻域正變換,得到圖像頻譜D。在D中任意選取能量最大的1000個分量作為待擾動的頻譜向量V,同時任意構造一個長度為1000、服從N(0,1)正態分布的隨機數序列W=w1,w2,…,w1000,然后按式νi′=νi(1+αwi),α=0.1,用W對V進行擾動,得到擾動后的頻譜V′,再將V′返回到原圖像頻譜中,得到擾動后的圖像頻譜D′,最后再用普通DCT頻域變換方法及程序將D′進行頻域逆變換,恢復圖像到空域,在計算機顯示器上顯示(或經計算機打印機打印、或保存)得到自然和諧的藝術圖案。圖3最后得到的擾動圖案。采用Matlab實現該過程的程序為function disturb_dct(varargin)[filename,msg]=parse_inputs(varargin{∶});if(~isempty(msg))error(msg);end%Initial DataN=1000;arpha=0.1;data=randn(1,N);%Read in Image[OrgIm,map]=imread(filename);imshow(OrgIm,map);OrgIm=double(OrgIm)/255;[R,C]=size(OrgIm);ImageSize=R*C;%Frequency TransformIm2Dct=dct2(OrgIm);%Find the frequency Vector to be disturbedDisturbDct=Im2Dct;temp=abs(Im2Dct);temp=temp1;temp=temp();temp=temp1;[Y,I]=sort(temp);rl=zeros(1,N);cl=zeros(1,N);for k=1Nrl(k)=ceil(I(ImageSize-k)/C);cl(k)=mod(I(ImageSize-k),C);ifcl(k)=0cl(k)=C;endend%Frequency Disturbingfor k=1NDisturbDct(rl(k),cl(k))=Im2Dct(rl(k),cl(k))*(1+arpha*data(k));end%Inverse Frequency TransformDisturbed=idct2(DisturbDct);Disturbed=uint8(round(Disturbed));%Show the Resultfigure,imshow(Disturbed,map);function[filename,msg]=parse_inputs(varargin)%Parase the input parpameut is right or not.filename=";msg=";switch(nargin)case 0msg=1Too few input arguments1;return;case 1filename=Varargin{1};otherwisemsg=1Too many input arguments1;return;end例2該基于領域擾動的藝術圖案生成方法是利用計算機,根據分形理論,采用現有Mandelbort分形集及相應程序,以(-1.254024,-1.252861,0.046252,0.047125)為參數產生一分形圖形作為基本模板。在此基本模板的基礎上,采用普通FFT頻域變換方法及程序將分形圖形作頻域正變換,得到圖像頻譜D。在D中選取前1000個分量作為待擾動的頻譜向量V,同時構造一個長度為1000,在(0,10)間服從均勻分布的隨機數序列W=w1,w2,…,w1000。然后按vi′=vi(1+αwi),α=0.1,用W對V進行擾動,得到擾動后的頻譜V′,再將V′返回到原圖像頻譜中,得到擾動后的圖像頻譜D′,最后再用普通FFT頻域變換方法及程序將D進行頻域逆變換,恢復圖像到空域,在計算機顯示器上顯示(或經計算機打印機打印、或保存)得到自然和諧的藝術圖案。圖4是最后得到的擾動圖像。采用Matlab實現該過程的程序為function disturb_fft(varargin)[filename,msg]=parse_inputs(varargin{:});if(~isempty(msg))error(msg);end%Initial DataN=1000;arpha=0.1;data=rand(1,N);[OrgIm,map]=imread(filename);imshow(OrgIm,map);OrgIm=double(OrgIm)/255;[R,C]=size(OrgIm);ImageSize=R*C;Im2Fft=fft2(OrgIm);DisturbFft=Im2Fft;fori=1: Rforj=1:Cifi*R+j<=NDisturbFfft(i,j)=Im2Fft(i,j)*(1+arpha*data(i*(R-1)+j);endendendDisturbed=ifft2(DisturbFff);DisturbedIm=abs(Disturbed);DisturbedIm=uint8(round(DisturbedIm));figure,imshow(DisturbedIm,map);例3該基于領域擾動的藝術圖案生成方法是利用計算機,根據分形理論,采用現有Julia分形集及相應程序,以(O.11031,—0.67037,1.5,1.5)為參數產生一分形圖形作為基本模板。在此基本模板的基礎上,采用普通DCT頻域變換方法及程序將分形圖形作頻域正變換,得到圖像頻譜D。在D中任意選取能量最大的1500個分量作為待擾動的頻譜向量V,同時任意構造一個長度為1500、服從N(0,1)正態分布的隨機數序列W=w1,w2,…,w1500,然后按式νi′=νi(1+αwi),α=0.5,用W對V進行擾動,得到擾動后的頻譜V′,再將V′返回到原圖像頻譜中,得到擾動后的圖像頻譜D′,最后再用普通DCT頻域變換方法及程序將D′進行頻域逆變換,恢復圖像到空域,在計算機顯示器上顯示(或經計算機打印機打印、或保存)得到自然和諧的藝術圖案。圖5是最后得到的仿大理石擾動圖案。采用Matlab實現該過程的程序為function disturb_dct(varargin)[filename,msg]=parse_inputs(varargin{:});if(~isempty(msg))error(msg);end%Initial DataN=1500;arpha=0.5;data=randn(1,N);%Read in Image[OrgIm,map]=imread(filename);imshow(OrgIm,map);OrgIm=double(OrgIm)/255;[R,C]=size(OrgIm);ImageSize=R*C;%Frequency TransformIm2Dct=dct2(OrgIm);%Find the frequency Vector to be disturbedDisturbDct=Im2Dct;temp=abs(Im2Dct);temp=temp1;temp=temp();temp=temp1;[Y,I]=sort(temp);rl=zeros(1,N);cl=zeros(1,N);for k=1Nrl(k)=ceil(I(ImageSize-k)/C);cl(k)=mod(I(ImageSize-k),C);ifcl(k)=0cl(k)=C;endend%Frequency Disturbingfor k=1NDisturbDct(rl(k),cl(k))=Im2Dct(rl(k),cl(k))*(1+arpha*data(k));end%Inverse Frequency TransformDisturbed=idct2(DisturbDct);Disturbed=uint8(round(Disturbed));%Show the Resultfigure,imshow(Disturbed,map);一般地,在頻域中對圖像頻譜的局部處理對應到空域中就成為對圖像的全局處理,即對圖像頻譜某個分量所作的修改變換到空域中即是對整幅圖像像素點的處理。這樣,頻域中對單個頻譜分量確定性的修改在空域中就是對所有象素點的隨機擾動。各種藝術圖案大都具有隨機性和不確定性形態和色彩的特點,正是由于這種不確定性,使我們可能利用頻域處理方法來對藝術圖案加以摸擬。通過在頻域中對圖像頻譜的分量有目的的修改,將使圖案的不確定性在空域中呈現出來。這樣,藝術圖案的不確定性模擬可以轉化到頻域中的確定性處理,通過普通頻域處理方法,在頻域中對圖像頻譜作隨機擾動,使擾動在空域中分布到整圖像中,從而得到更自然、和諧、豐富的圖像。采用普通頻域干擾技術,經計算機對現有分形圖形進行處理可方便、快捷地實現這一過程。這樣就避免了為使圖像自然而直接在空域中對圖像作處理的盲目性,以及由此而帶來的勞動量大,財力、物力耗費大,圖形不夠豐富,非專業美術人員無法創作等現有方法的缺點。
本發明具有巧妙快捷,產生的藝術圖案類型豐富,自然和諧,具有較高藝術性,消耗原材料少,產生的圖案可方便地保存、復制,普通計算機及普通人即可操作,便于推廣應用等優點。
權利要求
1.一種基于頻域擾動的藝術圖案生成方法,利用計算機,根據分形理論產生分形圖形,其特征在于以分形圖形作為基本模板圖形,用普通頻域變換方法及相應程序對該分形圖形進行頻域隨機擾動處理,得到豐富、自然、和諧的藝術圖案。
2.根據權利要求1所述的基于頻域擾動的藝術圖案生成方法,其特征在于對分形圖形進行頻域隨機擾動處理的過程為在分形圖形基本模版的基礎上,用普通頻域變換方法及程序將分形圖形作頻域正變換,得到圖像頻譜D,再在D中任意選取L個分量作為待擾動的頻譜向量V,同時任意構造一個長為L的隨機數序列W=w1,w2,…,wL,然后用W對V進行擾動,得到擾動后的頻譜V′,再將V′返回到原因像頻譜中,得到擾動后的圖像頻譜D′,最后再用普通頻域變換方法將D′進行頻域逆變換,恢復圖像到空域,得到藝術圖案;整個過程均由計算機用普通頻域擾動程序及方法進行。
3.根據權利要求2所述的基于頻域擾動的藝術圖案生成方法,其特征在于V′與W的關系式為νi′=νi(1+αwi)其中,i=1,2,…,L,α為比例因子。
全文摘要
本發明提供一種用計算機基于頻域擾動生成藝術圖案的方法,屬計算機應用技術領域。先產生分形圖形,再以其作為基本模板圖形,將其作頻域正變換,得圖像頻譜D,在D中任選L個分量作為待擾動的頻譜向量V,同時任意構造L長的隨機數序列W,用W對V進行擾動得頻譜V’,再將V’返回到原頻譜中,得圖像頻譜D’,最后將D’頻域逆變換,恢復圖像到空域,得到自然和諧的藝圖案。具有巧妙快捷、圖案類型豐富、自然和諧等優點。
文檔編號G06T15/10GK1278632SQ9910996
公開日2001年1月3日 申請日期1999年6月22日 優先權日1999年6月22日
發明者劉兵, 梁勇, 李海燕, 李天牧 申請人:云南大學