freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于糾錯(cuò)碼的冗余技術(shù)的研究——evenodd碼的設(shè)計(jì)與實(shí)現(xiàn)-論文(參考版)

2024-12-05 18:04本頁面
  

【正文】 其執(zhí)行后的效果圖如圖 11。 Data2數(shù)據(jù)域破壞后的執(zhí)行結(jié)果如圖 12: 圖 12 data2數(shù)據(jù)域圖片破壞 譯碼 譯碼 操作后的主要效果就是讓圖片恢復(fù)正常,它的主要操作步驟如:先選中要恢復(fù)的圖片的數(shù)據(jù)域,然后單擊“ Edit” →選擇 Decode”或者單擊 decode按鈕。因此我們 可以按照下列步驟執(zhí)行該功能。注意:在執(zhí)行該功能之前一定要將 data data data data data5 的 5 個(gè)復(fù)選框選中,否則系統(tǒng)會(huì)提示你選擇復(fù)選框。在選擇文件后,圖片顯示如圖 10 所示: 圖 8 打開文件出錯(cuò)提示 圖 9 選擇文件對(duì)話框 圖 10 打開圖片顯示效 果 編碼 在對(duì)數(shù)據(jù)顯示域 data data data data data5都添加了數(shù)據(jù)后,我們就可以按照下列順序生成冗余校驗(yàn)圖片了。在選擇了顯示的區(qū)域后我們按照以下的步驟可以順利打開文件。 圖 7 軟件操作主 界 面 打開 首先我們在選擇要打開的文件之前必須給打開的文件選擇存放的區(qū)域,即在數(shù)據(jù)顯示域的復(fù)選框中選擇。其中快捷鍵欄中的快捷按鈕功能在菜單欄中均能找到。 在運(yùn)行該軟件時(shí)首先出現(xiàn)在用戶面前的是一個(gè)十分友好的用戶界面,如圖 7。因此在調(diào)用該方法是我們要針 對(duì)不同的出錯(cuò)圖片數(shù)調(diào)用不同的方法。并且在獲取圖片像素時(shí),針對(duì)出錯(cuò)圖片的處理方法是直接將出錯(cuò)圖片的數(shù)據(jù)重新 賦為全部值是 0 的最大數(shù)組。 編碼功能接口流程圖 編碼功能接口的流程圖 如圖 5: 譯碼功能接口設(shè)計(jì) 譯 碼功能接口的實(shí)現(xiàn)與編碼功能類似,他們處理的對(duì)象都是圖片格式的。這樣才能通過圖像表達(dá)功能顯示出與原數(shù)據(jù)大小相符的冗余圖像。因此在調(diào)用該算法之前,我們必須依次從每個(gè)對(duì)象中取出 4 5大小的數(shù)組并再次組成一個(gè)對(duì)象數(shù)組,調(diào)用 encode算法進(jìn)行處理。從而使每個(gè)待處理圖像組成一個(gè)對(duì)象數(shù)組。因此后面的過程顯得相當(dāng)?shù)谋匾? 編碼功能接口設(shè)計(jì) 通過對(duì)“ EVENODD 編碼算法”的介紹我們可以知道,編碼算法的接口是一個(gè)pictureInComp 對(duì)象數(shù)組。 } } 算法接口實(shí)現(xiàn) 本軟件的編碼和 譯碼 功能是通過分別調(diào)用編碼和譯碼算法實(shí)現(xiàn)的。 } }else{//錯(cuò)誤 數(shù)據(jù)塊 不能找到 ( error : fail to find the error disk !!)。 }else{ ( error : fail to find the error disk !!)。 } (tempMatrix, temp)。 i++){ dataCache = (corectObj, i)。 for(int i = 0 。 tempMemory[error1].read(temp)。 tempMatrix[i] = (dataCache)。 i 。 i++){ if(i != error1){ corectObj[j++]=(pictureInComp)tempMemory[i].clone()。 error1 =0){//出錯(cuò) 數(shù)據(jù)塊 是水平校驗(yàn)位或者原數(shù)據(jù) for(int i = 0 ,j = 0。//充當(dāng)數(shù)組轉(zhuǎn)置時(shí)的臨時(shí)變量 if(error1 1 amp。 pictureInComp[] corectObj = new pictureInComp[m]。 int[][] dataCache = new int[tempMemory[0].getRow()][m]。amp。 (0)。 tempMemory[error2].read(tempMatrix2)。 tempMatrix2[j][i] = dataCache[j][error2]。 j 。 k = (k (error2 error1) + m) % m。 while(k != m 1){ dataCache[k][error2] = sd[(error2 + k + m)%m] ^ dataCache[(k + error2 error1 + m)%m][error1]。 l != error2){ sd[u] = sd[u] ^ dataCache[(u l + m)%m][l]。 l++){ if(l != error1 amp。 for(int l = 0 。 l != error2){sh[u] = sh[u] ^ dataCache[u][l]。 l++)//求 sh if(l != error1 amp。 u++){ for(int l = 0 。 /**求 sh、 sd(公式 3 38) */ for(int u = 0 。 j++) s = s ^ tempCache[j][m] ^ tempCache[j][m + 1]。 for(int j = 0 。 int k = 0。 int[] sh = new int[m]。 i tempMemory[0].getColumn() 。 tempMatrix2 = new int[tempMemory[0].getRow()][tempMemory[0].getColumn()]。 int[][] tempCache = new int[tempMemory[0].getRow()][m + 2]。 error2 2)){//兩個(gè)原數(shù)據(jù) 塊 出錯(cuò) int m = 2。(error2 = 0 amp。 error1 2)amp。 }else if((error1 = 0 amp。 } (tempMatrix2, temp)。 i++){ dataCache = (corectObj, i)。 for(int i = 0 。 tempMemory[error1].read(temp)。 tempMatrix1[i] = (dataCache)。 i m 。 i++ ){//獲取前 m+1 行的正確數(shù)據(jù) if(i != error1){corectObj[j++] = (pictureInComp)tempMemory[i].clone()。 for(int i = 0 , j = 0。 /**修復(fù) 數(shù)據(jù)塊 error1*/ corectObj = new pictureInComp[m]。amp。amp。 tempMemory[error2].read(temp)。 tempMatrix2[i] = (dataCache)。 i m。 dataCache = new int[tempMemory[0].getRow()][m]。//修復(fù)數(shù)據(jù) /**恢復(fù)第 error2 個(gè) 數(shù)據(jù)塊 的數(shù)據(jù) */ corectObj = new pictureInComp[m]。 l++){ if(l != error1){ tempMatrix1[k][i] = tempMatrix1[k][i] ^ dataCache[(k + error1 l + m)%m][l]。 for(int l = 0 。 k m 1 。 l++){ s = s ^ dataCache[(error1 l 1 + m)%m][l]。 for(int l = 0 。//獲取對(duì)象數(shù)組中每一個(gè)元素對(duì)應(yīng)列的數(shù)據(jù) dataCache = (tempCache)。 i tempMemory[0].getColumn()。 dataCache = new int[tempMemory[0].getRow() + 1][]。 tempMatrix1 = new int[tempMemory[0].getRow()][tempMemory[0].getColumn()]。 error2 == 2 ){//原數(shù)據(jù) 塊 和水平校驗(yàn) 數(shù)據(jù)塊的 數(shù)據(jù)出錯(cuò) int s = 0。 error1 2) amp。 }else if((error1 = 0 amp。 (tempMatrix2, temp)。//修復(fù) 數(shù)據(jù)塊 error2; } /**將修復(fù)的數(shù)據(jù)存入對(duì)象 */ (tempMatrix1, temp)。//獲得對(duì)象元素中的數(shù)據(jù)中的每一列 ,組成一個(gè)數(shù)組 tempMatrix1[i] = (dataCache)。 i 。 //將正確的對(duì)象數(shù) 組拷貝到 correctObj 中 dataCache = new int[tempMemory[0].getRow()][]。 error2 == 1){//兩個(gè)校驗(yàn) 數(shù)據(jù)塊 出錯(cuò) 結(jié)束i co rectOb j . len g thg etC o lu m n Data ( p ict u reIn co m p [] , in t )獲取該對(duì)象數(shù)組中每個(gè)元素第 i 列的數(shù)據(jù)并組成一個(gè)新的數(shù)組存放在( d atac ach e in t [][] ) 中horiExclusive _ OR ( int [][] )根據(jù)公式 ( 2 ) 單獨(dú)處理一個(gè)數(shù)組生成對(duì)象數(shù)組中的第 i 列水平校驗(yàn)數(shù)據(jù)i ++定義指示對(duì)象數(shù)組大小的變量 in t i = 05將正確數(shù)據(jù)塊的數(shù)據(jù)重新組合成一個(gè)對(duì)象數(shù)組 co rectOb j將修復(fù)的數(shù)據(jù)存入相應(yīng)對(duì)象否 corectObj = new pictureInComp[ 2]。//充當(dāng)數(shù)組轉(zhuǎn)置時(shí)的臨時(shí)變量 if(error1 == 2 amp。 tempMatrix2 = new int[tempMemory[0].getColumn()][tempMemory[0].getRow()]。 pictureInComp[] corectObj。amp。將恢復(fù)的值傳入相應(yīng)的數(shù)組 i ++ u ++k = ( k ( error 2 error 1 ) + m ) % m 。 2. 設(shè)計(jì)流程圖 EVENODD 譯碼設(shè)計(jì)流程圖如圖 4: 圖 4(a) EVENODD譯碼流程圖 輸入對(duì)象數(shù)組否合法結(jié)束將對(duì)象數(shù)組中的數(shù)據(jù)轉(zhuǎn)移到本地變量中 ( tem p M em o ry p ictu reI n C o m p [] )調(diào)整對(duì)象數(shù)組中每個(gè)元素的數(shù)據(jù)大小使其各行和各列的大小相同判斷有幾個(gè)數(shù)據(jù)塊出錯(cuò)定義指示對(duì)象數(shù)字大小的變量 in t i = 0調(diào)整數(shù)據(jù)塊號(hào)判斷錯(cuò)誤數(shù)據(jù)塊的位置 err o r 1 = m err o r 2 = m + 1 err o r 1 m err o r 2 = m err o r 1 m err o r 2 = m + 1 err o r 1 m err o r 2 m15開始從接口獲得待處理對(duì)象數(shù)組及錯(cuò)誤數(shù)據(jù)塊號(hào)檢查數(shù)據(jù)塊號(hào)是否合法對(duì)象數(shù)組中每個(gè)元素中的數(shù)據(jù)各行各列是否相同否否提示出錯(cuò)原因是否是Err o r 1 m + 16Err o r 1 =m + 1是否2是是否3是否4是 圖 4(b) EVENODD譯碼流程圖 圖 4(c) EVENODD譯碼流程圖 i co rectOb j . len g thg etC o lu m n Data ( p ictu reI n co m p [] , in t )獲取該對(duì)象數(shù)組中每個(gè)元素第 i 列的數(shù)據(jù)并組成一個(gè)新的數(shù)組存放在( d atacach e int [][] ) 中horiExclusive _ OR ( int [][] )根據(jù)公式 ( 2 ) 單獨(dú)處理一個(gè)數(shù)組生成對(duì)象數(shù)組中的第 i 列水平校驗(yàn)數(shù)據(jù)diagExclusive _ OR ( int [][] , S )根據(jù)公式 ( 1 ) 獲得 S ; 根據(jù)公式 ( 3 )單獨(dú)處理一個(gè)數(shù)組生成對(duì)象數(shù)組中的第 i列對(duì)角校驗(yàn)數(shù)據(jù)i ++定義指示對(duì)象數(shù)組大小的變量 int i = 01將正確數(shù)據(jù)塊的的數(shù)據(jù)重新組合成一個(gè)對(duì)象數(shù)組 co rectOb j將修復(fù)的數(shù)據(jù)存入相應(yīng)對(duì)象否是結(jié)束結(jié)束i co rectO b j . len g thg etC o lu m n D ata ( p ictu reInco m p [] , in t )獲取該對(duì)象數(shù)組中每個(gè)元素第 i 列的數(shù)據(jù)并組成一個(gè)新的數(shù)組存放在( d atacach e in t [][] ) 中diagExclusive _ OR ( int [][] , S )根據(jù)公式 ( 1 ) 獲得 S ; 根據(jù)公式( 3 ) 單獨(dú)處理一個(gè)數(shù)組生成對(duì)象數(shù)組中的第 i 列對(duì)角校驗(yàn)數(shù)據(jù)i +
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1