嵌入式Linux軟件平臺系統(tǒng)設(shè)計說明書_第1頁
嵌入式Linux軟件平臺系統(tǒng)設(shè)計說明書_第2頁
嵌入式Linux軟件平臺系統(tǒng)設(shè)計說明書_第3頁
嵌入式Linux軟件平臺系統(tǒng)設(shè)計說明書_第4頁
嵌入式Linux軟件平臺系統(tǒng)設(shè)計說明書_第5頁
免費預(yù)覽已結(jié)束,剩余25頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實用文案面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺項目嵌入式Linux軟件平臺系統(tǒng)設(shè)計說明書編寫者:CY版本說明日期版本號發(fā)布說明作者批準(zhǔn)人簽字崗位文案大全11161717181 引言1.1 編寫目的11.2 背景11.3 基線11.4 范圍11.5 定義11.6 參考資料12 總體設(shè)計 2.1 概述12.2 設(shè)計思想32.3 基本處理流程52.4 產(chǎn)品的系統(tǒng)體系結(jié)構(gòu) 82.5 功能需求與系統(tǒng)單元的關(guān)系 92.6 人工處理過程113 系統(tǒng)主要數(shù)據(jù)結(jié)構(gòu)說明 3.1 數(shù)據(jù)名構(gòu)113.2 數(shù)據(jù)結(jié)構(gòu)與系統(tǒng)單元的關(guān)系 164 接口設(shè)計4.1 外部接口 164.2 內(nèi)部接口 175 運(yùn)行設(shè)計5.1 系統(tǒng)初

2、始化 175.2 運(yùn)行控制175.3 運(yùn)行結(jié)束176 系統(tǒng)出錯處理設(shè)計 6.1 出錯信息176.2 補(bǔ)救措施177 系統(tǒng)維護(hù)設(shè)計7.1 檢測點白肉設(shè)計187.2 檢測專用模塊的設(shè)計188 尚待解決的問題 18附錄A:嵌入式中文字庫關(guān)鍵技術(shù)和算法 19GLYPH的矢量表示19計算轉(zhuǎn)換系數(shù)SCALE. 20附錄B:嵌入式中文字庫數(shù)據(jù)流程圖 21附錄C :全屏手寫系統(tǒng)結(jié)構(gòu)圖 22附錄D:多媒體軟件移植系統(tǒng)流程圖231引言1.1 編寫目的本文檔是為保證“面向行業(yè)手持設(shè)備的嵌入式linux軟件平臺”項目在整個開發(fā)過程中的完整性、可追溯性,并保證軟件產(chǎn)品與面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺項目系統(tǒng)

3、需求規(guī)格說明書保持一致性而編寫的。預(yù)期讀者為項目相關(guān)開發(fā)人員、項目管理人員和SCM SQA人員、客戶代表。1.2 RJ項目名稱:面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺用戶:無線手持通信設(shè)備廠商1.3 基線面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺項目系統(tǒng)需求規(guī)格說明書1.4 范圍本軟件結(jié)構(gòu)設(shè)計說明書所涉及的內(nèi)容范圍包括總體的結(jié)構(gòu)設(shè)計,系統(tǒng)單元的結(jié)構(gòu)設(shè)計,系統(tǒng)主要數(shù)據(jù) 結(jié)構(gòu)說明,接口設(shè)計,運(yùn)行設(shè)計,系統(tǒng)出錯處理設(shè)計和維護(hù)設(shè)計。1.5 定義無。1.6 參考資料1)面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺項目系統(tǒng)需求規(guī)格說明書面向行業(yè)手持設(shè)備的嵌入式Linux開發(fā)平臺項目總體開發(fā)計劃2 )本文

4、件中引用的其他文獻(xiàn)、資料以及軟件開發(fā)標(biāo)準(zhǔn)。3 總體設(shè)計3.1 概述3.1.1 功能描述本產(chǎn)品要實現(xiàn)的功能包括:嵌入式Linux系統(tǒng)目標(biāo)系統(tǒng)的軟件開發(fā)環(huán)境對運(yùn)行平臺提供的各種接口,提供穩(wěn)定的驅(qū)動程序基于QT/embedded的圖形用戶界面中文圖形界面中英文手寫輸入、鍵盤輸入多媒體播放器個人助理套件英漢詞典瀏覽器面向交通、物流行業(yè)的應(yīng)用編程接口本參考平臺包括開發(fā)包和運(yùn)行包。要求參考平臺具備高度的可配置性,方便開發(fā)人員根據(jù)其需要在參考平臺的基礎(chǔ)上進(jìn)行添加、裁減和上層開發(fā),快速形成產(chǎn)品。3.1.2 運(yùn)行環(huán)境開發(fā)平臺的運(yùn)行環(huán)境:推薦采用PIII650以上CPU,內(nèi)存大于128M,硬盤空間大于 4G;推薦

5、完全安裝普華Linux 3.0 ,并安裝開發(fā)包和目標(biāo)系統(tǒng)源代碼。運(yùn)行包硬件環(huán)境:硬件采用PXA250開發(fā)板,規(guī)格如下:socketed processor for easy upgrades64 MBytes SDRAM32 MBytes Boot ROM32 MBytes Flash Memory1 MByte SRAMone Intel? SA -1111? Companion Chip, which provides:one PCMCIA slot-one Compact Flash slot一one USB Host portPS/2 keyboard and mouse suppor

6、tStandard Microsystems LAN91C96* Ethernet controllertouch-screen panel controllers:一Philips UCB 1400*一Burr Brown ADS7846*audio CODECs with MIC, LINE IN, and HEADPHONE connectors:一Philips UCB 1400一Cirrus CS4201*Sharp LM8V31 LCD panel, with support for other LCD typesone USB Client portpulse width mod

7、ulation controlone infrared (IrDA) transceiverFull Function and Bluetooth UART serial portsone slot for one Secure Digital memory card or MultiMediaCardI2C bus communicationslogic analyzer connectionsone expansion-card slot for custom developmentisolatable processor core voltage for precise power me

8、asurementseight 7-segment LED digits, eight discrete LEDs, eight discrete switches, and two hexadecimal-encoding switches for use by application software2.2 設(shè)計思想2.2.1 系統(tǒng)構(gòu)思本項目向用戶提供參考平臺包含開發(fā)包和運(yùn)行包,在系統(tǒng)設(shè)計中因此也分為開發(fā)平臺和運(yùn)行平臺,其中開發(fā)平臺系統(tǒng)構(gòu)思如圖1所示,運(yùn)行平臺構(gòu)思如圖 2所示。PXA250 的目標(biāo)系統(tǒng)源碼®目標(biāo)系目標(biāo)系目標(biāo)系目標(biāo)系目標(biāo)系統(tǒng)交叉統(tǒng)裁減統(tǒng)打包統(tǒng)下載統(tǒng)遠(yuǎn)程編譯工工具工具

9、工具調(diào)試工PXA開發(fā)包Linux 核心 和glibc庫PC環(huán)境標(biāo)準(zhǔn)Linux系統(tǒng)圖1開發(fā)平臺系統(tǒng)構(gòu)思基本庫和擴(kuò)展庫支持(C庫、網(wǎng)絡(luò)、多媒體(IPP)、圖形)Linux核心圖2 運(yùn)行平臺系統(tǒng)構(gòu)思2.2.2 關(guān)鍵技術(shù)與算法關(guān)鍵技術(shù):嵌入式Linux操作系統(tǒng):主要是基于IntePXA 250硬件平臺進(jìn)行嵌入式 Linux系統(tǒng)優(yōu)化,保證系統(tǒng)具備良好的可移植性和可擴(kuò)展性,此過程主要涉及的技術(shù)包括:系統(tǒng)可剪裁可配置技術(shù);支持無硬盤及閃存工作方式技術(shù);JFFS2文件系統(tǒng)技術(shù);支持隨時直接關(guān)機(jī);支持運(yùn)行時核心模塊動態(tài)加載機(jī)制;嵌入式圖形用戶界面:支持基于 Framebuffer的GUI系統(tǒng);支持GIF、JPE

10、G、XPM、PNG、BMP等常用圖像格式;提供易用的、可定制的、功能完善的人機(jī)交互界面;提供已預(yù)制的應(yīng)用模塊接口,提供對應(yīng)用程序添加的擴(kuò)展機(jī)制等;圖形界面支持完整的中文機(jī)制及環(huán)境;為提高用戶的開發(fā)效率,提供豐富的控件集和開發(fā)工具;面向行業(yè)類的應(yīng)用編程接口庫:提供具體行業(yè)的 API函數(shù)的實現(xiàn)機(jī)制;實現(xiàn)不同系統(tǒng)平臺間的通訊;使開發(fā)出的API函數(shù)能夠讓開發(fā)人員較方便地實現(xiàn)上層應(yīng)用程序與底層硬件之間的通訊;嵌入式JAVA :嵌入式Java虛擬機(jī);提供Java處理程序;支持 Java applet 和 Java application;提供Java工具;提供Java運(yùn)行環(huán)境;嵌入式中文信息處理子系統(tǒng):全

11、面的中文顯示支持;提供多種中文輸入法;嵌入式中文字體;支持嵌入式手寫輸入;本項目目的是提供系統(tǒng)平臺,所以具體算法主要由合作廠商提供相關(guān)接口,本項目設(shè)計的主要算 法有:基于IPP的多媒體編解碼算法矢量字體的輪廓描繪、填充、平滑算法(算法分析見附錄A)高效、準(zhǔn)確的手寫筆跡匹配識別算法2.2.3 關(guān)鍵數(shù)據(jù)結(jié)構(gòu)無2.3 基本處理流程(1) 系統(tǒng)流程圖3所示:開發(fā)平臺系統(tǒng)流程如圖圖3開發(fā)平臺系統(tǒng)流程圖運(yùn)行平臺系統(tǒng)流程圖如圖4所示.圖4運(yùn)行平臺系統(tǒng)流程圖實用文案(2) 數(shù)據(jù)流程圖本項目提供系統(tǒng)平臺,因此項目沒有核心數(shù)據(jù)流程,相關(guān)模塊的數(shù)據(jù)流程見附錄Bo2.4 產(chǎn)品的系統(tǒng)體系結(jié)構(gòu)系統(tǒng)單元如下例表所示單元名稱

12、標(biāo)識符功能開發(fā)平臺包kfptb交叉編譯源代碼,并打包下載到PXA開發(fā)板設(shè)備/接口驅(qū)動程序qdcx訪問設(shè)備/接口的IO端 口/寄存器/配置空間,進(jìn) 行設(shè)備檢測和參數(shù)設(shè)定, 并初始化設(shè)備。處理中斷 請求,完成數(shù)據(jù)讀寫操作 檢測錯誤和處理異常中軟嵌入式Linux操作系統(tǒng)czxt嵌入式Linux核心、基本 庫和擴(kuò)展庫(C庫、網(wǎng)絡(luò)、 多媒體、圖形庫)嵌入式中文GUIzwguiQPE圖形環(huán)境(窗口管 理、中文字庫、中文手寫)上層應(yīng)用scyyQPE下的上層應(yīng)用程序(包含個人助理套件、多媒體應(yīng)用等)2.4.1 系統(tǒng)層次結(jié)構(gòu)運(yùn)行平臺系統(tǒng)層次結(jié)構(gòu)如圖5所示:嵌入式中文GUI文案大全上層應(yīng)用(關(guān)鍵是多媒體應(yīng)用)實用

13、文案圖5運(yùn)行平臺系統(tǒng)層次結(jié)構(gòu)圖2.4.2 系統(tǒng)單元設(shè)計開發(fā)平臺:將現(xiàn)有的交叉編譯工具、調(diào)試器、軟件包下載工具等整合在一起,并增加裁減、打包工具。 設(shè)備/接口驅(qū)動程序:在現(xiàn)有的相關(guān)驅(qū)動程序源代碼基礎(chǔ)上,對PS/2, USB,以太網(wǎng)口,LCD以及音頻口進(jìn)行測試,并實現(xiàn)x86平臺到PXA平臺的移植。中軟嵌入式Linux操作系統(tǒng):使用開發(fā)平臺提供的交叉編譯工具編譯基于PXA平臺的嵌入式Linux核心和基本庫以及啟動程序,并使用開發(fā)平臺的相關(guān)工具下載到開發(fā)板上。嵌入式中文GUI :開放源碼的圖形環(huán)境 QPE的修改和漢化(另包括全屏中文手寫單元和嵌入式中文字庫單元),然后交叉編譯修改后的 QPE源碼并下載

14、到開發(fā)板上(全屏中文手寫流程圖見附錄C)上層應(yīng)用:修改一些已有源碼的應(yīng)用并交叉編譯下載到開發(fā)板上,關(guān)鍵是實現(xiàn)一個基于Intel IPP的多媒體播放器,主要方法是在分析 QPE多媒體軟件底層接口的基礎(chǔ)上,移植替換底層解碼庫。(多媒體解碼流程圖見附錄D)2.5 功能需求與系統(tǒng)單元的關(guān)系開發(fā)平臺:可以在PC機(jī)上交叉編譯PXA的應(yīng)用程序可對生成的PXA目標(biāo)代碼進(jìn)行裁減可對生成的系統(tǒng)進(jìn)行打包集成可以將軟件包下載到PXA開發(fā)板,并寫入Flash提供minicom ,可通過串口進(jìn)行調(diào)試可在PXA開發(fā)板上通過gdb/gdbserver調(diào)試二進(jìn)制代碼設(shè)備/接口驅(qū)動程序:能使用PS2接口的鍵盤和鼠標(biāo)能通過USB

15、口使用外接設(shè)備能使用10M以太網(wǎng)接口能使用LCD和觸摸屏能使用外接的音頻輸入輸出設(shè)備中軟嵌入式Linux操作系統(tǒng):在開發(fā)板上Linux核心正常啟動在開發(fā)板上能使用 Linux基本指令嵌入式中文GUI :完善穩(wěn)定的QPE圖形界面全面漢化處理手寫識別率高中文字體美觀、清晰字符顯示能夠無級縮放上層應(yīng)用:嵌入式中文套件郵件客戶端多媒體應(yīng)用軟件(能正常播放MPEG4和MP3文件,多媒體文件播放流暢,播放速率至少達(dá)到25幀/秒)文案大全實用文案2.6 人工處理過程開發(fā)平臺:根據(jù)目標(biāo)系統(tǒng)需求,修改配置文件或Makefile軟件的配置、編譯過程,包括 configure、make、make install等軟

16、件裁剪、打包和下載過程。運(yùn)行平臺:無。3系統(tǒng)主要數(shù)據(jù)結(jié)構(gòu)說明3.1 數(shù)據(jù)結(jié)構(gòu)本項目主要是提供一個系統(tǒng)平臺,因此沒有全局的數(shù)據(jù)結(jié)構(gòu),系統(tǒng)單元的數(shù)據(jù)結(jié)構(gòu)如下:a)嵌入式中文字庫主要數(shù)據(jù)結(jié)構(gòu)FT_Outline_typedef struct FT_Outline_shortn_contours;/* number of contours in glyph*/shortn_points;/* number of points in the glyph*/FT_Vector*points;/* the outline's points*/char*tags;/* the points flags

17、*/short*contours;/* the contour end points*/intflags;/* outline masks*/ FT_Outline;n_contours:表示在一個 glyph outline中所有的字形輪廓的數(shù)目 n_points:表示在一個 glyph outline的矢量表示中,所有坐標(biāo)點的數(shù)目。Points: 一個指向有'n_points'個FT_Vector元素的數(shù)組的指針,給出了 outline's點坐標(biāo)Tags: 一個指向有'n_points'個char元素的數(shù)組的指針,給出每個outline point的

18、類型。Contours: 一個'n_contours'個短整型元素的數(shù)組,給出了每個 contour的結(jié)束點的索引。Flags: 一系列bit flags用來表示outline的特征。b)全屏中文手寫主要數(shù)據(jù)結(jié)構(gòu)class QMatcher 識別庫標(biāo)準(zhǔn)接口類文案大全實用文案public:QMatcher (); 初始化virtual QMatcher(); 析構(gòu)virtual void setType();/ 設(shè)置識別類型virtual void setSpeed();/ 設(shè)置識別速度virtual unsigned long getType();/ 獲得識別類型virtual

19、 short getSpeed();/ 獲得識別速度virtual int Recognize。;/ 識別處理virtual struct rangelist *TypeRange();/ 獲得識別類型表列;struct Q_PACKED QIMPenGlyphLink/ 每個點的坐標(biāo)結(jié)構(gòu)signed char dx;signed char dy;class QIMPenStroke/記錄每一個筆畫中的各個點public:QIMPenStroke();/ 初始化void clear(); 清空bool isEmpty();/判斷是否為空int length();返回點的個數(shù)const QArr

20、ay<QIMPenGlyphLink> &chain();/返回各個點QPoint startingPoint();/ 返回開始點void beginInput( QPoint p );/ 開始記錄bool addPoint( QPoint p );/ 把點加入 links 數(shù)組void endInput();/某個筆畫結(jié)束protected:QArray<QIMPenGlyphLink> links;/某個筆畫的各個點的坐標(biāo);typedef QList<QIMPenStroke> QIMPenStrokeList;一個字的所有筆畫c)多媒體軟件移植

21、主要數(shù)據(jù)結(jié)構(gòu)(1) mp3解碼所用到的結(jié)構(gòu)typedef struct /*/1. ippsUnpackFrameHeader_MP3IppMP3FrameHeader FrameHdr;/* MP3幀頭信息*/Ipp8u HdrBufHDR_BUF_SIZE;/* MP3幀頭緩沖區(qū)*/Ipp8u *pHdrBuf;/* MP3幀頭緩沖區(qū)指針*/*2. ippsUnpackSideInfo_MP3*/IppMP3SideInfo SideInfoMAX_GRANMAX_CHAN;/* MP3 side 信息表 */*3. ippsUnpackScaleFactors_MP3_1u8s*/Ipp

22、8s ScaleFactorMAX_CHAN*IPP_MP3_SF_BUF_LEN;/* mp3 scalefactors 信息表 */int ScfsiMAX_CHAN*SCF_BANDS;/* Scalefactor信息選擇表*/*4. ippsHuffmanDecode_MP3_1u32s*/Ipp32s IsXrMAX_CHAN*IPP_MP3_GRANULE_LEN;/* Huffman解碼緩沖區(qū)和IMDCT流緩沖區(qū) */int NonZeroBoundMAX_CHAN;/* Non-zero bounds on Huffman*/IMDCT coefficient set for

23、each channel */*5. ippsReQuantize_MP3_32s_I*/Ipp32s RequantBufIPP_MP3_GRANULE_LEN;/* Work space bufferrequired by requantization primitive */*6. ippsMDCTInv_MP3_32s*/Ipp32s XsMAX_CHAN*IPP_MP3_GRANULE_LEN;/* IMDCT 輸出 /PQMF 輸入緩沖區(qū)*/Ipp32s OverlapAddBufMAX_CHAN*IPP_MP3_GRANULE_LEN;/* Overlap-add bufferr

24、equired by IMDCT primitive */int PreviousIMDCTMAX_CHAN;/* Number of IMDCTs computedon previous granule/frame */*7. ippsSynthPQMF_MP3_32s16s/* "V" buffer - used by*/Ipp32s PQMF_V_BufMAX_CHAN*IPP_MP3_V_BUF_LEN;fast DCT-based algorithm for synthesis PQMF bank */int PQMF_V_IndxMAX_CHAN;/* Inde

25、x used by the PQMF for文案大全internal maintainence of the "V" buffer */*Main Data Decoding Buffer/*數(shù)據(jù)區(qū)解碼緩沖區(qū)*/*/Ipp8u MainDataBufMAIN_DATA_BUF_SIZE;int MainDataEnd;/*數(shù)據(jù)區(qū)指針*/*Application Interface Parameters*/int Channels;/*通道數(shù)量*/int pcmLen;/* pcm輸出緩沖長度*/ MP3DecoderState;(2) mpeg4解碼所用到的結(jié)構(gòu)/*視頻屬性

26、結(jié)構(gòu)*/typedef enum IPP_VIDEO_LUMINANCE, IPP_VIDEO_CHROMINANCE, IPP_VIDEO_ALPHA IppVideoComponent;/* Macroblock Types */typedef enum IPP_VIDEO_INTERIPP_VIDEO_INTER_QIPP_VIDEO_INTER4VIPP_VIDEO_INTRAIPP_VIDEO_INTRA_QIPP_VIDEO_INTER4V_QIPP_VIDEO_DIRECTIPP_VIDEO_INTERPOLATEIPP_VIDEO_BACKWARD IPP_VIDEO_FORW

27、ARD IppMacroblockType;/*矢量動作結(jié)構(gòu)*/typedef struct _IppMotionVector Ipp16s dx;Ipp16s dy; IppMotionVector;/*亮度*/*色度*/* Alpha component */=0, /* P picture or P-VOP */1, /* P picture or P-VOP */2, /* P picture or P-VOP */3, /* I and P picture, or I- and P-VOP */4, /* I and P picture, or I- and P-VOP */5, /

28、* P picture or P-VOP(H.263)*/6, /* B picture or B-VOP (MPEG-4 only) */7, /* B picture or B-VOP */=8, /* B picture or B-VOP */9/* B picture or B-VOP */*透明狀態(tài)結(jié)構(gòu)*/enum IPP_VIDEO_TRANSPARENT = 0,IPP_VIDEO_PARTIAL=1,IPP_VIDEO_OPAQUE=2;3.2數(shù)據(jù)結(jié)構(gòu)與系統(tǒng)單元的關(guān)系嵌入式中文字庫單元,在對矢量字庫的處理中,數(shù)據(jù)Z構(gòu)FT_Outline_中描述了字形輪廓的矢量表示, 按照設(shè)置的

29、字體格式,對字形輪廓的矢量表示的進(jìn)行轉(zhuǎn)換,并以此生成位圖,輸出顯示字符。全屏中文手寫單元,在鼠標(biāo)輸入過程中,利用數(shù)據(jù)結(jié)構(gòu)QIMPenStroke記錄每一個筆畫中的各個點,利用Qmatcher識別引擎作為調(diào)用識別庫標(biāo)準(zhǔn)接口,在手寫識別程序和識別庫之間進(jìn)行數(shù)據(jù)交換,并產(chǎn)生 候選字列表。多媒體軟件移植單元,主要通過這些數(shù)據(jù)結(jié)構(gòu)在解碼過程來描述媒體文件,并在最后通過數(shù)據(jù)結(jié)構(gòu)返 回上層軟件。4 接口設(shè)計4.1 外部接口4.1.1 用戶接口開發(fā)平臺:采用命令行方式與用戶交互信息。運(yùn)行平臺:用戶通過手寫輸入或者虛擬終端同開發(fā)板交互信息。4.1.2 其它外部接口開發(fā)平臺:硬件接口:通過串口、并口、網(wǎng)口與開發(fā)板

30、通訊。軟件接口:通過 minicom、ftp、telnet與運(yùn)行環(huán)境交互信息。運(yùn)行平臺:嵌入式 GUI : TrollTech公司。中英文手寫輸入:清華文通。嵌入式中文字庫:長沙東文4.2 內(nèi)部接口運(yùn)行平臺系統(tǒng)單元接口如 6所示:上層應(yīng)用- 設(shè)備驅(qū)動QPE中文圖形環(huán)境全屏中文手寫嵌入式中文字中軟嵌入式Linux核心圖6運(yùn)行平臺系統(tǒng)單元接口5 運(yùn)行設(shè)計5.1 系統(tǒng)初始化加電復(fù)位,核心引導(dǎo),執(zhí)行初始化腳本,建立基本運(yùn)行環(huán)境,啟動圖形界面。5.2 運(yùn)行控制無5.3 運(yùn)行結(jié)束退出系統(tǒng),關(guān)閉電源。6 系統(tǒng)出錯處理設(shè)計6.1 出錯信息本項目可能出錯的信息有:運(yùn)行平臺系統(tǒng)啟動失敗,某設(shè)備不支持等。(x86平

31、臺圖形界面和應(yīng)用編程中出現(xiàn)的錯誤由開發(fā)人員根據(jù)實際情況修改調(diào)試,在此不做預(yù)測)6.2 補(bǔ)救措施根據(jù)出錯信息重新交叉編譯Linux核心源碼,寫入目標(biāo)系統(tǒng)運(yùn)行。7 系統(tǒng)維護(hù)設(shè)計7.1 檢測點的設(shè)計無7.2 檢測專用模塊的設(shè)計無8 尚待解決的問題無實用文案附錄A:嵌入式中文字庫關(guān)鍵技術(shù)和算法glyph 的矢量表示Glyph image的矢量表示被稱為 outline,outline是一系列封閉的路徑稱之為contours組成,每個contours劃定了一個glyph的外部和內(nèi)部區(qū)域,它是由線段和貝塞爾曲線組成。Contours是由一系列的points來表示,通過control points來定義曲線

32、的弧是二次還是三次的貝塞爾曲線。因此,每一個 point都對應(yīng)一個tag標(biāo)志,說明其是 normal還是control point。每一個contour對應(yīng)下列四種情況:two successive on points form aline segment總 covnc 砂poitit between tiro 如points forms 6 conic braief 包c圖四two cubic opabits between Wo。用 points forms a cubic tidier arctwo succoff"points definear rftjdi <?H p

33、oint Attktif *sactihiddle. It i£ used to join, two co me*rc£由三個數(shù)組來進(jìn)行描述:points數(shù)組包含了 contours所有的點,tags數(shù)組包含了與每一個point相對應(yīng)的flag , contours數(shù)組包含了一個contour結(jié)束點的索引。n_points 是 outline 所有的點數(shù), n_contours 是 outline 包含的 contours 的數(shù)量。Tag可以為以下的三種 value:FT_Curve_Tag_On:表示其所對應(yīng)的point在曲線上,兩個連續(xù)的FT_Curve_Tag_On的point表示一個直線段。如圖一所示。FT_Curve_Tag_Conic :表示其所對應(yīng)的point不在曲線上,但是一個control point ,在兩個FT_Curve_Tag_On的point中間有一個 FT_Curve_Tag_Conic的point 表示了一段二次貝塞爾曲線,如文案大全實用文案圖二所示。FT_Curve_Tag_Cubic :也表示所對應(yīng)的point 是一個 control poin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論