999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于改進(jìn)三層緩沖技術(shù)的大圖片處理*

2018-01-26 02:46:08馮偉桓王茂芝曾穎超
計算機(jī)工程與科學(xué) 2018年1期
關(guān)鍵詞:界面設(shè)備

馮偉桓,王茂芝,曾穎超

(成都理工大學(xué)數(shù)學(xué)地質(zhì)四川省重點實驗室,四川 成都 610059)

1 引言

為解決Windows桌面系統(tǒng)圖片操作時界面重繪導(dǎo)致的閃屏從而極大降低用戶體驗的問題,出現(xiàn)了以下圖片處理技術(shù):(1)雙緩沖技術(shù)[1]。其原理是在內(nèi)存中開辟一塊與顯示設(shè)備環(huán)境相兼容的內(nèi)存區(qū)域,將處理及繪制圖片等相對耗時的操作放在內(nèi)存區(qū)域中,即先在內(nèi)存區(qū)域中處理及繪制圖片,然后將繪制完成的圖形通過位塊傳輸法[1]拷貝到真正的顯示設(shè)備環(huán)境輸出。基于該原理的圖形處理技術(shù),對于避免閃屏有非常明顯的效果,并且編程較為簡單。雙緩沖技術(shù)的加速原理是利用內(nèi)存繪圖操作的高速性[2],從而解決界面閃屏的現(xiàn)象。但是,在實際使用雙緩沖技術(shù)繪圖過程中,出現(xiàn)的另一個費時環(huán)節(jié)是在內(nèi)存兼容位圖和圖形顯示設(shè)備位圖格式之間的轉(zhuǎn)換。為了解決這個問題,從雙緩沖技術(shù)又衍生出了緩存位圖技術(shù)[3]。(2) 緩存位圖技術(shù)[4]。緩存位圖技術(shù)通過使用GDI+(Graphics Device Interface Plus)圖形設(shè)備接口提供的CachedBitmap類[5],創(chuàng)建一個使用特定圖形輸出設(shè)備格式來存儲指定位圖數(shù)據(jù)的緩存位圖對象,從而節(jié)省格式轉(zhuǎn)換的時間[5]。(3)圖像分塊處理技術(shù)[6]。圖像分塊處理技術(shù)中最常用的是九宮格圖像分塊技術(shù)[7],其原理是:先將大圖片分割為相同寬高的九小塊,然后再按照需要分別顯示圖像的一塊或者幾塊,從而把顯示大圖片的問題轉(zhuǎn)化為顯示小圖片,在根源上解決界面重繪導(dǎo)致的閃屏問題[7]。然而,這樣的技術(shù)應(yīng)用十分有限,只適用于不需要完整顯示大圖片的情形[8]。如電子地圖、海洋遙感影像,用戶在特定的時間,只關(guān)心地圖或影像中的一部分[8],即在特定的時間,顯示相應(yīng)的圖片分塊。

上述三種典型的圖片處理技術(shù)在處理小型圖片時都可以取得不錯的效果。其中圖像分塊處理技術(shù)在電子地圖和海洋遙感影像等領(lǐng)域也能較完善地解決界面重繪導(dǎo)致的閃屏問題。但是,在其它領(lǐng)域處理大圖片或圖像的時候,直接應(yīng)用圖像分塊處理技術(shù)處理大圖片或圖像則無法達(dá)到預(yù)期效果。而使用雙緩沖技術(shù)和緩存位圖技術(shù)又會出現(xiàn)如下問題:(1)由于圖片規(guī)模較大,導(dǎo)致創(chuàng)建與顯示設(shè)備環(huán)境兼容的位圖不能清楚地顯示圖片的每一個細(xì)節(jié);(2)在使用雙緩沖繪圖時,每次重繪都要將所有處理指令執(zhí)行一遍,對于大圖片時耗太大[9,10]。為此國內(nèi)國防科技大學(xué)的竇強(qiáng)、周興銘及武漢科技大學(xué)的張哲源等人在雙緩沖的基礎(chǔ)上研究了多層緩沖條件下的消息最大響應(yīng)時間[11],提出多層緩沖技術(shù)構(gòu)想,衍生出目前應(yīng)用較為廣泛的三層緩沖技術(shù)[12],在一定程度上解決了軟件層面因顯示和操作大圖片而引發(fā)的閃屏和系統(tǒng)阻塞等問題。

然而,現(xiàn)有傳統(tǒng)的三層緩沖技術(shù)主要針對繪圖指令過于復(fù)雜時只使用雙緩沖技術(shù)無法滿足需求的情況,因而在雙緩沖的基礎(chǔ)上再添加一層內(nèi)存緩沖,并借此避免出現(xiàn)閃屏的現(xiàn)象[10]。但是,該技術(shù)添加的內(nèi)存緩沖都是與顯示設(shè)備兼容的,并且,對于每次界面重繪,該技術(shù)仍需要將所有處理指令重新執(zhí)行一遍,在重繪大圖片的時候仍會消耗大量的時間,造成系統(tǒng)出現(xiàn)阻塞。因此,傳統(tǒng)的三層緩沖技術(shù)已無法滿足大圖片處理需求。本文提出使用改進(jìn)的三層緩沖技術(shù)來處理和顯示大圖片。

2 改進(jìn)三層緩沖技術(shù)

2.1 算法原理

傳統(tǒng)的三層緩沖技術(shù)處理和顯示大圖片的主要問題在于界面重繪時會造成系統(tǒng)阻塞,其原因是在載入大圖片的時候,會產(chǎn)生一個明顯的耗時過程[4],而在界面重繪的時候,傳統(tǒng)的三層緩沖會將所有的指令重新執(zhí)行一遍。本文提出的改進(jìn)三層緩沖技術(shù)算法原理是:在內(nèi)存中開辟一塊與大圖片屬性相兼容的內(nèi)存區(qū)域,用于存放大圖片數(shù)據(jù);然后再在內(nèi)存中開辟另一塊與顯示設(shè)備環(huán)境相兼容的內(nèi)存區(qū)域,用于執(zhí)行其它的圖形處理指令;最后通過位塊傳輸法[1]將內(nèi)存中的圖形依次拷貝到真正的顯示設(shè)備環(huán)境輸出。改進(jìn)的三層緩沖技術(shù)與傳統(tǒng)技術(shù)的差異體現(xiàn)在以下幾個方面:(1)需要分別創(chuàng)建與大圖片屬性相兼容的內(nèi)存區(qū)域和與顯示設(shè)備環(huán)境相兼容的內(nèi)存區(qū)域;(2)在大圖片輸出完成之后僅僅釋放與顯示設(shè)備環(huán)境相兼容的內(nèi)存區(qū)域,保留與圖片屬性相兼容的內(nèi)存區(qū)域;(3)界面需要重繪時,直接使用之前保存的與圖片屬性兼容的內(nèi)存區(qū)域,避免重新載入圖片,從而解決系統(tǒng)阻塞問題。

2.2 算法模型

根據(jù)上述算法原理,本文提出改進(jìn)三層緩沖技術(shù),該技術(shù)在首次載入大圖片時的算法模型如圖1所示。其中,第一層緩沖將大圖片載入到與大圖片相兼容的內(nèi)存位圖中,該過程會產(chǎn)生一定耗時。第二層緩沖將大圖片兼容的內(nèi)存位圖轉(zhuǎn)換到與顯示設(shè)備相兼容的內(nèi)存位圖中,并且讓其它繪圖指令直接在該位圖上執(zhí)行。這層緩沖的功能與雙緩沖的內(nèi)存位圖功能類似。第三層緩沖將內(nèi)存中的圖像按照指定的縮放級別顯示到屏幕上。

Figure 1 First loaded model of the improved three level buffers technology圖1 改進(jìn)三層緩沖技術(shù)首次載入模型

改進(jìn)三層緩沖技術(shù)在界面重繪時的算法模型如圖2所示。圖2中第一層和第二層緩沖分別對應(yīng)首次載入模型圖1中的第二層和第三層緩沖,也就是說,改進(jìn)的三層緩沖技術(shù)在界面重繪時只需兩層(而非三層)緩沖支持。重繪界面時,該模型直接使用首次載入大圖片保存下來的內(nèi)存位圖,避免重新載入大圖片,從而避免了在載入大圖片時造成的系統(tǒng)阻塞。

Figure 2 User interface redrawing model of the improved three level buffers technology圖2 改進(jìn)三層緩沖技術(shù)界面重繪模型

2.3 算法流程

基于上述算法模型,形成本文提出的改進(jìn)三層緩沖技術(shù)算法流程,如圖3所示。

Figure 3 Algorithm flow chart of the improved three level buffers technology圖3 改進(jìn)三層緩沖技術(shù)算法流程圖

3 應(yīng)用及效果分析

3.1 應(yīng)用案例

在地質(zhì)應(yīng)用中,巖心是礦產(chǎn)資源勘探、地質(zhì)開發(fā)研究工作的第一手資料[13]。從鉆孔中取出的巖心樣本,本身包含了豐富的地質(zhì)信息,是地質(zhì)工作者認(rèn)知地下地層沉積、礦物成礦的最直接途徑,也是進(jìn)一步研究地質(zhì)構(gòu)造和成礦預(yù)測的重要依據(jù)[14]。專業(yè)人員在巖心影像分析基礎(chǔ)上繪制鉆孔柱狀圖,并進(jìn)行巖心信息化處理。由于數(shù)字化鉆孔柱狀圖可達(dá)100 MB,其數(shù)據(jù)容量遠(yuǎn)超普通圖片規(guī)模,使用普通的圖片處理和顯示技術(shù)不能取得良好的效果,為此采用改進(jìn)三層緩沖技術(shù)。基于上述算法流程,給出數(shù)字巖心圖片處理地質(zhì)應(yīng)用的關(guān)鍵解決代碼。

程序運行效果如圖4所示,圖4a為圖片整體效果,圖4b為圖片局部放大效果。實驗結(jié)果表明,基于改進(jìn)三層緩沖技術(shù)在對圖片進(jìn)行操作時,不會出現(xiàn)系統(tǒng)阻塞現(xiàn)象,并且能夠在放大之后完整顯示圖片的細(xì)節(jié)。

關(guān)鍵代碼如下。

CBitmapmemImg;

if (!memImgDC.m_hDC)

{

memImgDC.CreateCompatibleDC(dc);

}

if (alreadyLoad)

{

// 創(chuàng)建與圖片屬性兼容的內(nèi)存位圖

memImg.CreateCompatibleBitmap(dc,imgMaxWidth,imgMaxHeight);

memImgDC.SelectObject(&memImg);

alreadyLoad= FALSE;

GraphicsdcPen(memImgDC.m_hDC);

dcPen.DrawImage(bkPic,0,0,imgMaxWidth,imgMaxHeight);

}

// 創(chuàng)建與顯示設(shè)備兼容的內(nèi)存位圖

CDCmemBkDC;

CBitmapmemBk;

memBkDC.CreateCompatibleDC(dc);

memBk.CreateCompatibleBitmap(dc,windowSize.Width(),windowSize.Height());

memBkDC.SelectObject(&memBk);

GraphicsdcBrush(memBkDC.m_hDC);

dcBrush.DrawImage(bkImg,-13,-10,windowSize.Width()+26,windowSize.Height()+20);

memBkDC.SetStretchBltMode(HALFTONE);/*防止圖片失真*/

memBkDC.StretchBlt(viewPt.at(scaleIndex).x,

viewPt.at(scaleIndex).y,

viewSize.at(scaleIndex).cx,

viewSize.at(scaleIndex).cy,

&memImgDC,

0,

0,

imgMaxWidth,

imgMaxHeight,

SRCCOPY);

dc→BitBlt(0,0,windowSize.Width(),windowSize.Height(),&memBkDC,0,0,SRCCOPY);

memBk.DeleteObject();

memBkDC.DeleteDC();

程序運行效果如圖4所示。

Figure 4 Achieved results by the improved three level buffers technology圖4 改進(jìn)三層緩沖技術(shù)實現(xiàn)的效果

3.2 性能分析

為進(jìn)一步測試算法性能,使用傳統(tǒng)三層緩沖技術(shù)和改進(jìn)三層緩沖技術(shù)分別顯示一張大小為98.5 MB的鉆孔柱狀圖,并且分別執(zhí)行一次圖片放大、縮小、上移、下移、左移、右移和復(fù)位的操作,平均時間如表1所示。

Table 1 Comparison of time consumption betweenthe two image display technologies

從表1可以得到,在大圖片被載入的時候,兩種技術(shù)載入時間幾乎相同,但是在執(zhí)行圖片操作時間上有很大的差異。使用傳統(tǒng)三層緩沖技術(shù),在每一次操作圖片的時候都需要重新載入圖片,因此操作用時和載入用時基本相同。而使用改進(jìn)三層緩沖技術(shù),在操作圖片的時候不需要重新載入圖片,因此操作用時大幅減少,從而避免系統(tǒng)阻塞,提高了用戶體驗。本文提出的改進(jìn)三層緩沖技術(shù)算法解決了大圖片顯示和重繪時候的系統(tǒng)阻塞問題,因此其總的響應(yīng)時間遠(yuǎn)遠(yuǎn)短于常規(guī)圖片顯示技術(shù)的。

4 結(jié)束語

針對數(shù)字巖心鉆孔柱狀圖的處理和顯示應(yīng)用案例,使用本文提出的改進(jìn)三層緩沖技術(shù),取得了非常好的效果。需要進(jìn)一步研究的問題主要有:在大圖片載入的時候,仍然有一個明顯的耗時過程。要解決這個問題,可以使用目前最新的圖形處理單元(GPU)[15],針對圖片格式在GPU上實現(xiàn)并行圖片解壓算法,替代傳統(tǒng)在CPU上實現(xiàn)的串行圖片解壓算法,其加速比可以達(dá)到1 000倍以上[16],從根源上解決大圖片載入造成的系統(tǒng)堵塞問題。另一個需要進(jìn)一步研究的問題是:對于一些由遙感影像轉(zhuǎn)化生成,動輒上千兆的超大圖片,普通的臺式機(jī)已經(jīng)無法為其創(chuàng)建必須的內(nèi)存緩沖。為解決這個問題,可以結(jié)合圖像切片技術(shù)和硬件加速的方法[17],同時結(jié)合本文提出的改進(jìn)三層緩沖技術(shù)以達(dá)到目的。

[1] Liu Yu,Wang Ming-hui.A study on high speed drawing of graphics and image in GDI+ based application [J].Advanced Display,2006,69(11):66-69.(in Chinese)

[2] Han Li-na, Shi Hao-su.Dealing with flicker problem about GDI with double buffering[J].Computer Engineering and Design,2006,27(17):3258-3260.(in Chinese)

[3] Olafsen E,Scribner K,David K.MFC Visual C 6.0 programming insider[M].Wang Jian-hua,Chen Yi-fei,Zhang Huan-sheng, Translation.Beijing:China Machine Press,2000:687-692.(in Chinese)

[4] Chand M.Graphics programming with GDI+[M].Boston:Addison Wesley Professional,2003:532-576.

[5] Eric W, Garrett C, Robinson S.GDI+ programming-creating custom controls using C#[M].Birmingham:WROX Press Ltd,2002:432-448.

[6] Campadelli P.Color image segmentation using hopfield net works[J].Image and Vision Computing,1997,15(3):161-166.

[7] Wei Hong-bo,Lü Zhen-su.A survey of image segmentation[J].Journal of Gansu Sciences,2004,16(2):19-24.(in Chinese)

[8] Sonka M,Hlavac V,Boyle R D.Image processing analysis and machine vision[M].Second Edition.Los Angeles:Thomson Learning and PT Press,2003:308-412.

[9] Pratt W K.Digital image processing[M].New Jersey:John Wiley Sons,2009:216-232.

[10] Serban L. GDI+ custom controls with Visual C#2005[M].Birmingham:Packet Publishing,2006:327-342.

[11] Dou Qiang,Zhou Xing-ming.A worst-case response time analysis algorithm of messages with multiple-buffering[J].Acta Electronica Sinica,2002,13(5):23-28.(in Chinese)

[12] Zhang Zhe-yuan,Xiong Qing-guo,Li Wen-xiang.Based on double buffering technology to solve game development in pictures updated problem[J].Information Technology,2011,12(8):12-16.(in Chinese)

[13] Wang Ya,Wu Xiao-hong,Luo Dai-sheng,et al.Design and implementation of core image database management system[J].Computer Knowledge and Technology,2004,20(2):5-8.(in Chinese)

[14] Zhang Jin-chang.Core drilling techniques and their applications in the exploration of mineral resources[J].Exploration Engineering(Rock & Soil Drilling and Tunneling),2009,36(8):1-6.(in Chinese)

[15] Garland M,Grand S L,Nickolls J.Parallel computing experiences with CUDA [J].IEEE Computer Society,2008,27

(8):13-28.

[16] Harada T. Real-time rigid body simulation on GPU[M].Boston:Addison Wesley Professional,2007:611-632.

[17] Hu Xiao-dan,Li Wen,Liu Hai-bo.A fast image region segmentation method based on Gaussion statistical model[J].Journal of Fujian Normal University(Natural Science Edition),2011,26(2):133-135.(in Chinese)

附中文參考文獻(xiàn):

[1] 柳鈺,王明輝.基于GDI+的快速圖形圖像繪制技術(shù)研究[J].現(xiàn)代顯示,2006,69(11):66-69.

[2] 韓麗娜,石昊蘇.使用雙緩存來解決GDI下的閃爍問題[J].計算機(jī)工程與設(shè)計,2006,27(17):3258-3260.

[3] Olafsen E,Scribner K,David K.MFC Visual C 6.0編程技術(shù)內(nèi)幕[M].王建華,陳一飛,張煥生,譯.北京:機(jī)械工業(yè)出版社,2000:687-692.

[7] 魏弘博,呂振肅.圖像分割技術(shù)縱覽[J].甘肅科學(xué)學(xué)報,2004,16(2):19-24.

[11] 竇強(qiáng),周興銘.多重緩沖條件下消息最大響應(yīng)時間算法的研究[J].電子學(xué)報,2002,13(5):23-28.

[12] 張哲源,熊慶國,李文翔.基于雙緩沖技術(shù)解決游戲開發(fā)中畫面更新問題[J].信息技術(shù),2011,12(8):12-16.

[13] 王亞,吳曉紅,羅代升,等.巖心圖像數(shù)據(jù)庫管理系統(tǒng)的規(guī)劃設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2004,20(2):5-8.

[14] 張金昌.地質(zhì)巖心鉆探技術(shù)及其在資源勘探中的應(yīng)用[J].探礦工程(巖土鉆掘工程),2009,36(8):1-6.

[17] 胡小丹,李文,劉海博.基于高斯統(tǒng)計模型的快速圖像區(qū)域分割方法[J].福建師范大學(xué)學(xué)報(自然科學(xué)版),2011,26(2):133-135.

猜你喜歡
界面設(shè)備
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
國企黨委前置研究的“四個界面”
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
空間界面
金秋(2017年4期)2017-06-07 08:22:16
電子顯微打開材料界面世界之門
人機(jī)交互界面發(fā)展趨勢研究
500kV輸變電設(shè)備運行維護(hù)探討
手機(jī)界面中圖形符號的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 成人中文字幕在线| 亚洲成人网在线播放| 制服丝袜 91视频| 理论片一区| 国产无码网站在线观看| 国产成人h在线观看网站站| www.91在线播放| 国产精品分类视频分类一区| 日韩毛片免费| 国产日韩精品一区在线不卡| 国产女人在线视频| 亚洲欧美在线综合一区二区三区| 亚洲午夜福利精品无码| 99久久精品免费观看国产| 日a本亚洲中文在线观看| 人妻丝袜无码视频| 国产极品粉嫩小泬免费看| 天堂久久久久久中文字幕| 强乱中文字幕在线播放不卡| 丁香六月综合网| 青青青国产精品国产精品美女| 99九九成人免费视频精品| 欧美色亚洲| 青草视频网站在线观看| 3p叠罗汉国产精品久久| 成人夜夜嗨| 亚洲综合经典在线一区二区| …亚洲 欧洲 另类 春色| 亚洲高清国产拍精品26u| 国产国产人免费视频成18| 成人免费黄色小视频| 久久婷婷六月| 一级毛片在线播放免费| 天天综合色网| 亚洲成AV人手机在线观看网站| 久热re国产手机在线观看| 久久精品娱乐亚洲领先| 动漫精品啪啪一区二区三区| 国产视频 第一页| 免费不卡视频| 真实国产乱子伦视频| 91精品国产自产91精品资源| 久久久久中文字幕精品视频| 中文字幕亚洲乱码熟女1区2区| 亚洲AV成人一区国产精品| 67194亚洲无码| 亚洲一区二区三区麻豆| 欧美啪啪网| 亚洲美女视频一区| 国产乱人伦精品一区二区| 一级毛片在线播放免费观看| 亚洲成人精品| 久久大香香蕉国产免费网站| 亚洲国产一成久久精品国产成人综合| 亚洲三级电影在线播放| 国产精品亚洲一区二区三区z | 国产精品免费福利久久播放| 国内熟女少妇一线天| 国产永久免费视频m3u8| 一级毛片免费的| 久久久久亚洲精品成人网| 日韩中文精品亚洲第三区| 免费视频在线2021入口| 亚洲天堂视频在线免费观看| 伊人久综合| 亚洲av色吊丝无码| 成人va亚洲va欧美天堂| 婷婷六月在线| 97综合久久| 欧美一级视频免费| 国产xxxxx免费视频| 国产综合网站| 日韩AV无码一区| 97人人模人人爽人人喊小说| 国产毛片基地| 992Tv视频国产精品| 日本亚洲国产一区二区三区| 激情成人综合网| 久久久精品无码一区二区三区| 99精品在线看| 在线观看亚洲成人| 久无码久无码av无码|