亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MFC的手繪圖形實(shí)時(shí)去噪研究與應(yīng)用

        2017-03-31 18:56:55隋雪潔高林楊偉萬國超劉貴彬
        軟件導(dǎo)刊 2016年8期
        關(guān)鍵詞:插值

        隋雪潔+高林+楊偉+萬國超+劉貴彬

        摘 要:分析了離散點(diǎn)數(shù)據(jù)的一般處理方法,針對(duì)慢速手繪圖形產(chǎn)生的邊緣噪點(diǎn)問題,提出一種適用于實(shí)時(shí)生成圖形的預(yù)處理算法,對(duì)采集的數(shù)據(jù)點(diǎn)進(jìn)行實(shí)時(shí)篩選插值,以保證數(shù)據(jù)準(zhǔn)確可靠。在MFC中進(jìn)行實(shí)現(xiàn),并將其應(yīng)用于軟件開發(fā),測試表明該算法繪圖效果改善極大,慢速手繪圖形平滑且不失真。

        關(guān)鍵詞關(guān)鍵詞:離散點(diǎn);MFC;GDI;插值;邊緣噪點(diǎn)

        DOIDOI:10.11907/rjdk.161468

        中圖分類號(hào):TP317.4

        文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2016)008-0183-03

        0 引言

        無論是科學(xué)研究還是實(shí)際生產(chǎn)中,人們通過采集、測量或者實(shí)驗(yàn)會(huì)獲得很多數(shù)據(jù),通常情況下,這些數(shù)據(jù)都是離散的,很難直接從一大堆離散數(shù)據(jù)中找到它們的內(nèi)在聯(lián)系。隨著計(jì)算機(jī)圖形學(xué)的發(fā)展,離散數(shù)據(jù)的重建與可視化得到越來越廣泛的研究與應(yīng)用,主要是對(duì)數(shù)據(jù)進(jìn)行插值、擬合形成曲線或曲面,用圖形圖像的方式表現(xiàn)出來。本文結(jié)合實(shí)際需求,針對(duì)手繪圖形實(shí)時(shí)輸出產(chǎn)生的噪點(diǎn)問題,提出一種新的研究方法,對(duì)干擾點(diǎn)進(jìn)行處理,并在MFC中實(shí)現(xiàn)。實(shí)驗(yàn)證明,該方法能夠很好地應(yīng)用于手繪圖形生成中。

        1 問題闡述

        激光筆打在手繪板上進(jìn)行繪圖,采樣畫筆的采樣頻率固定不變,快速書寫時(shí)點(diǎn)與點(diǎn)之間的間隔大,采集的樣點(diǎn)相對(duì)精確,所繪出的圖像圓滑,可以被視覺所接受。但在實(shí)際操作中,手繪迅速程度無法保證,當(dāng)筆觸放慢時(shí),點(diǎn)與點(diǎn)的間隔很小,相同時(shí)間段內(nèi),采集點(diǎn)的數(shù)量增多,若不對(duì)采集點(diǎn)進(jìn)行處理,則導(dǎo)致繪出的圖像產(chǎn)生邊緣噪點(diǎn)。

        2 離散點(diǎn)處理技術(shù)

        離散點(diǎn)是一些孤立的點(diǎn)集,每個(gè)元素之間都有一定的間距,在二維或者三維空間上無規(guī)律分布,復(fù)雜程度不一[1]。

        目前,國內(nèi)外學(xué)者主要用3種技術(shù)對(duì)離散點(diǎn)進(jìn)行處理,選擇何種方法取決于數(shù)據(jù)的準(zhǔn)確性,用逼近的方法處理帶有一定誤差的數(shù)據(jù);用插值的方法處理非常準(zhǔn)確的數(shù)據(jù);若部分?jǐn)?shù)據(jù)有誤差,部分?jǐn)?shù)據(jù)準(zhǔn)確,則選用擬合的方法。

        上述過程將數(shù)據(jù)分為兩部分,在閾值范圍以內(nèi)的不做處理,若將不合閾值的點(diǎn)全部刪除,曲線會(huì)更加平滑,但直接刪除的后果是數(shù)據(jù)的誤差導(dǎo)致圖像失真,因此,該部分暫留點(diǎn)進(jìn)行分析后再加以精確,保證數(shù)據(jù)的可靠性。

        考慮到筆畫的趨勢問題,將點(diǎn)按照方位進(jìn)行處理,以本次保留點(diǎn)為原點(diǎn),下一保留點(diǎn)為終點(diǎn),兩點(diǎn)連線作為參考向量,計(jì)算其余點(diǎn)向量與之夾角,夾角越小,與用戶繪制圖形相關(guān)性越大,反之,夾角太大,則極有可能為干擾點(diǎn)。

        定義相鄰保留點(diǎn)的中點(diǎn)坐標(biāo)為(x,y),干擾點(diǎn)坐標(biāo)為(xj,yj),w1=0.5,與參照線直線夾角余弦值為w2,若w2>w1將本部分點(diǎn)再次刪減,以距離加權(quán)的方式計(jì)算其余采集點(diǎn)的估計(jì)值remain,插入相應(yīng)保留點(diǎn)位置。

        當(dāng)前對(duì)已有離散點(diǎn)做好預(yù)處理,運(yùn)用GDI的DrawCurve算法,通過一定的張力,將最終保留點(diǎn)連接為基數(shù)樣條曲線,保證繪制的曲線平滑地經(jīng)過每一個(gè)點(diǎn),陡度上沒有突然的變化和尖角,確保繪制的滑順性。

        4 實(shí)現(xiàn)

        4.1 平臺(tái)

        采用VS/MFC開發(fā)環(huán)境,MFC是VC++ 的核心,徹底封裝Windows應(yīng)用程序開發(fā)包的功能和結(jié)構(gòu),提供一個(gè)應(yīng)用程序框架,并繼承C++繪圖方面的優(yōu)點(diǎn),結(jié)合圖形設(shè)備接口GDI,處理所有Windows程序的圖形輸出。MFC提供了兩種重要的類以支持GDI繪圖,一是用于設(shè)置繪圖屬性和繪制圖形的設(shè)備環(huán)境DC類,二是各種GDI繪圖對(duì)象的繪圖對(duì)象類[2]。

        4.2 雙緩沖機(jī)制

        Windows需要重畫窗口時(shí),會(huì)向窗口發(fā)出一個(gè)消息函數(shù),應(yīng)用程序?qū)⒃谙㈨憫?yīng)函數(shù)中重繪,導(dǎo)致屏幕不停閃爍,繪圖效率低,CPU占用率高,還有可能導(dǎo)致程序崩潰[3]。因此對(duì)于本次復(fù)雜繪圖,采用后緩沖區(qū)的方式,將窗口內(nèi)容拷貝到dc中,要顯示的函數(shù)先繪制在內(nèi)存虛擬dc上。為方便調(diào)用,dc作為一個(gè)全局的變量存在,當(dāng)所有操作完成后,再將內(nèi)容復(fù)制到屏幕,實(shí)質(zhì)上只是在OnPaint里貼圖,解決屏幕閃爍問題。

        主要實(shí)現(xiàn)代碼如下:

        CPaintDC dc(this);CRect rect;GetClientRect(&rect); //獲取對(duì)話框長寬CDC dcBmp; //定義并創(chuàng)建一個(gè)內(nèi)存設(shè)備環(huán)境 CBitmap MemBitmap; //定義一個(gè)位圖對(duì)象dcBmp.CreateCompatibleDC(&dc);//創(chuàng)建兼容性DC MemBitmap.CreateCompatibleBitmap(&dc,rect.Width(),rect.Height());//建立一個(gè)與屏幕顯示兼容的位圖,將位圖選入臨時(shí)內(nèi)存設(shè)備環(huán)境

        4.3 數(shù)據(jù)

        采集的離散點(diǎn)數(shù)據(jù)保存在bin文件中,每個(gè)點(diǎn)分別由X坐標(biāo)、Y坐標(biāo)、筆畫計(jì)數(shù)組成,其中筆畫用來判斷兩點(diǎn)是否相連,采集數(shù)據(jù)部分點(diǎn)的存儲(chǔ)信息如圖1所示。

        定義點(diǎn)的結(jié)構(gòu)體:

        typedef struct Po_s{ unsigned int x; 橫坐標(biāo)值 unsigned int y; 縱坐標(biāo)值 unsigned int down; 筆尖抬起與否的標(biāo)志}Po

        4.4 其它參數(shù)說明

        其它參數(shù)說明如表1所示。

        4.5 繪圖過程

        繪制過程分為畫筆連續(xù)和畫筆抬起兩種情況,分別做不同處理。畫筆抬起時(shí),調(diào)用DrawCurve算法繪圖,連接靜態(tài)數(shù)組point中已存點(diǎn),將掃描點(diǎn)存入靜態(tài)數(shù)組point[0],同時(shí)將計(jì)數(shù)器n重置為1,間隔k置為1,最后清空靜態(tài)數(shù)組point。畫筆連續(xù)時(shí),過程相對(duì)復(fù)雜,處理如下:

        (1)掃描點(diǎn)間距小于閾值。①將該點(diǎn)刪除,暫時(shí)加入動(dòng)態(tài)數(shù)組pt,間隔k加1;②若該掃描點(diǎn)為最后一點(diǎn),調(diào)用DrawCurve算法繪圖,連接靜態(tài)數(shù)組point中已存點(diǎn),將計(jì)數(shù)器n重置為0;否則,退出。

        (2)掃描點(diǎn)間距大于等于閾值。①若刪除點(diǎn)數(shù)量num超過或等于12個(gè)(經(jīng)反復(fù)試驗(yàn)的最優(yōu)臨界值):將動(dòng)態(tài)數(shù)組pt中的點(diǎn)取出,按算法求取估計(jì)點(diǎn),加入靜態(tài)數(shù)組point; 將計(jì)數(shù)器n加1,num置為0,間隔k置為1。若計(jì)數(shù)器n等于5,繪圖,并將均值點(diǎn)存入point[0],將計(jì)數(shù)器n置為1,否則退出;若刪除點(diǎn)數(shù)量num小于7個(gè),直接退出;②將掃描點(diǎn)存入靜態(tài)數(shù)組point,計(jì)數(shù)器n加1,間隔k置為1,動(dòng)態(tài)數(shù)組pt清空;③若計(jì)數(shù)器n等于5,繪圖,將掃描點(diǎn)存入point[0],計(jì)數(shù)器置為1,間隔k置為1,動(dòng)態(tài)數(shù)組pt清空;否則(計(jì)數(shù)器n<5),若該掃描點(diǎn)為最后一點(diǎn),調(diào)用DrawCurve算法繪圖,連接靜態(tài)數(shù)組point中已存點(diǎn),將計(jì)數(shù)器n重置為0;④否則,進(jìn)行下一次點(diǎn)的循環(huán)掃描。

        5 測試

        將實(shí)現(xiàn)的算法應(yīng)用于慢速繪圖,用幾種不同筆觸走向的圖形進(jìn)行測試,與未處理圖像比較,邊緣噪點(diǎn)去除效果顯著且不失真。曲線、直線、漢字的測試結(jié)果對(duì)比分別如圖2~圖4所示,可見優(yōu)化后的圖像比優(yōu)化前更加平滑。

        6 結(jié)語

        本文將一般離散點(diǎn)處理方式與實(shí)際問題相結(jié)合,針對(duì)實(shí)時(shí)生成的圖形,研究一種新型離散點(diǎn)的預(yù)處理方法,拓寬了直接曲線擬合方式的適用空間。在MFC中加以實(shí)現(xiàn),并運(yùn)用到軟件開發(fā)中,對(duì)不同類型的筆畫進(jìn)行反復(fù)測試,達(dá)到了理想效果,筆畫連接更加正確、順暢。

        參考文獻(xiàn):

        [1]蔡德福,石東源,李高望,等.基于輸入隨機(jī)變量離散數(shù)據(jù)的概率潮流計(jì)算方法[J].電網(wǎng)技術(shù),2013(9):2475-2479.

        [2]黃琛.基于MFC的繪圖軟件設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2013(10):2345-2348.

        [3]江建國,溫少營,張瑞楠.基于雙緩沖技術(shù)的GDI+無閃爍繪圖[J].計(jì)算機(jī)應(yīng)用,2012(12):137-139.

        [4]蘇江寬,基于B樣條的圖像插值算法研究[D].廣州:廣東工業(yè)大學(xué),2014(6):12-16.

        [5]顧天奇,張雷,冀世軍,等.封閉離散點(diǎn)的曲線擬合方法[J].吉林大學(xué)學(xué)報(bào),2015(3):438-441.

        [6]謝裕敏,舒輝,陳建敏,等.MFC消息響應(yīng)函數(shù)的逆向定位[J].計(jì)算機(jī)應(yīng)用,2009(5):1394-1396.

        [7]蔡山,張浩,陳洪輝,等.基于最小二乘法的分段三次曲線擬合方法研究[J].科學(xué)技術(shù)與工程,2007(2):353-355.

        [8]MU GUOWANG,DAI SHIJIE.Reconstruction of B-spline surface by interpolating boundary curves and approximating inner points[J].Computer Aided Drafting,Design and Manufacturing,2012(3):32-34.

        (責(zé)任編輯:孫 娟)

        猜你喜歡
        插值
        基于Padé-type逼近的復(fù)合重心有理插值
        構(gòu)造給定極點(diǎn)的有理插值新方法
        基于Sinc插值與相關(guān)譜的縱橫波速度比掃描方法
        混合重疊網(wǎng)格插值方法的改進(jìn)及應(yīng)用
        一種改進(jìn)FFT多譜線插值諧波分析方法
        基于四項(xiàng)最低旁瓣Nuttall窗的插值FFT諧波分析
        雙正交周期插值小波函數(shù)的實(shí)值對(duì)稱性
        基于加窗插值FFT的PMU校驗(yàn)方法
        關(guān)于埃爾米特插值的教學(xué)探討
        二元復(fù)合重心有理插值
        免费大学生国产在线观看p| 国产精品夜色视频久久| 亚洲成年国产一区二区| 中文字幕人乱码中文字幕| 午夜成人理论无码电影在线播放| 午夜tv视频免费国产区4| 91麻豆精品一区二区三区| 激情在线一区二区三区视频| 国产精品久久777777| A午夜精品福利在线| 亚洲av网一区天堂福利| 国产精品成人av大片| 国产99在线 | 亚洲| 久久aⅴ无码av免费一区| 黄色三级视频中文字幕| 喷水白浆视频在线观看| 久久精品无码av| 国产av天堂成人网| 亚洲国产精品色一区二区| 人妖av手机在线观看| 国产成人无码一区二区在线播放 | 亚洲视频高清一区二区| 色橹橹欧美在线观看视频高清| 在线观看视频亚洲| 天天综合色中文字幕在线视频| 免费a级毛片无码免费视频首页| 亚洲国产成人久久综合电影| 亚洲高清有码在线观看| 久久精品国产亚洲av网站| 国产放荡对白视频在线观看| 特级毛片a级毛片在线播放www| 精品一区二区三区人妻久久| 国产成人精品一区二三区孕妇| 激情综合色综合啪啪五月丁香 | 国产视频不卡在线| 中文字幕综合一区二区三区| 曰欧一片内射vα在线影院| 精品四虎免费观看国产高清| 国产精品黄色av网站| 人妻中文字幕乱人伦在线| 少妇spa推油被扣高潮|