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

行程編碼壓縮實驗

2016-09-10 21:01:18陳凱
中國信息技術教育 2016年11期
關鍵詞:符號

陳凱

行程編碼的原理很容易理解,在一幅圖像中,常常有連續出現相同顏色像素的情況,所以可以用一個數字值代表連續出現該顏色像素的個數,再用一個值代表顏色。舉一個簡單的例子,aaabbcccccdeee可以表示為3a2b5c1d3e,這里用一個ASCII碼的十進制數表示連續符號的個數,用另一個ASCII碼表示顏色,至于具體是什么顏色,當然還需要另外規定。本文以XPM格式的圖片作為行程編碼壓縮實驗的對象,這樣做的好處是:第一,因為XPM格式圖像是使用ASCII碼符號編制而成的,在實施壓縮實驗時,得以回避二進制數據的存儲問題;第二,在XPM圖像文件中,可規定不使用數字符號來代表顏色,這樣在解壓縮時就不會產生混淆,如888a一定代表了888個a,而不是8個“8”和8個“a”;第三,可以直接用寫字板觀察編碼調整的效果。

與上一期的文章一樣,本文仍使用二色的XPM格式的蒙娜麗莎圖片來做壓縮實驗,用寫字板打開XPM格式的蒙娜麗莎圖片文件,抽出《蒙娜麗莎》圖像文件點陣中的某一行來說明問題,其實與上一期文章所處理的數據完全相同:“`````````````````................``````..```.....````````````````````````````............................”(如圖1)。

但這次并不是純手工壓縮,而是要體驗計算機對數據自動化進行行程編碼的過程。例如,這串符號一開始是17個反引號,可以表示為“17`”,其后是16個點,可以表示為“16.”,以此類推,對應的行程編碼是“17`16.6` 2.3`5.28`28.”。那么,怎么才能讓計算機自動把17個反引號變成“17`”,把16個點變成“16.”呢?

● 最主流的方法——編寫程序

很容易想到,可以編寫一個計算機程序,將符號串轉化為行程編碼,完全自己編寫代碼有點耗時間,不過可以在rosettacode.org網站上搜索“Run-length_encoding”,找到各種主流程序語言下的行程編碼代碼。其中比較有意思的是Ruby語言,該語言本身就提供了行程編碼的函數,所以要編寫出行程代碼的程序,只需要寥寥數行(如圖2)。

如圖3所示,在Ruby語言環境中實現行程編碼,結果被保存在一個二維的數組中,www.tutorialspoint.com/execute_ruby_online.php網頁提供了在線運行Ruby的環境。

● 最偷懶的方法——網絡在線行程編碼生成器

比編寫程序更省事的辦法,是直接使用在線的編碼生成工具。例如,網址為www.mathcelebrity.com/runlencode.php的在線編碼生成工具,編碼速度可以說是秒殺級的(如圖4)。

甚至還可以使用一款叫做look and say的小游戲來幫助實現行程編碼,因為look and say的游戲規則其實和行程編碼完全一致,若想知道“look and say”是什么意思,不妨到http://www.se16.info/js/looknsay.htm網頁上在線玩一回。

● 最燒腦也最鍛煉思維的方法——借助電子表格

還可以借助電子表格。例如,用Excel將符號串轉化為行程編碼,具體實現的辦法有很多種,所謂八仙過海,各顯神通,十分具有探索性,下面筆者給出一個比較簡單的方法:①首先把整個符號串復制到Excel中的第一行第二列,即B1單元格,注意空出第一列;②在第二行第二列,即在B2單元格中輸入數字1,C2單元格中輸入2,利用Excel的自動填充功能,自動生成該行后續的自然數,多一些也沒關系;③在第三行第一列,即在A3單元格中輸入數字1;④在第三行第二列,即在B3單元格輸入公式“=IF(MID($B1,B2,1)=MID($B1,C2,1),A3+1,1)”,然后利用自動填充功能,自動生成該行后續單元格中的數據,公式的功能是判斷相鄰符號是否相同,如果相同則做累加,如不同則累加器清零;⑤在B4單元格中輸入公式“=IF(B3=1,A3&MID ($B1,B2,1),"")”,將后續單元格自動填充即可(如圖5);⑥此時電子表格的第五行數據,其實就是圖像的行程編碼,但這些編碼分散在電子表格的各列上。為了看得更清楚,可以將這一行數據復制粘貼到Word文檔中,最后實施合并單元格操作并用“查找”“替換”功能刪除段落符號后,就得到了圖像的行程編碼“17`16.6`2.3`5.28`28.”,這么一來,105個字節被壓縮到了僅有20個字節,效果相當明顯。

當然,利用電子表格,將以上行程編碼還原為原始圖像也完全沒有問題,有興趣的朋友可以自己試試。

猜你喜歡
符號
幸運符號
符號神通廣大
學符號,比多少
幼兒園(2021年6期)2021-07-28 07:42:14
“+”“-”符號的由來
靈魂的符號
散文詩(2017年17期)2018-01-31 02:34:20
怎樣填運算符號
變符號
倍圖的全符號點控制數
圖的有效符號邊控制數
草繩和奇怪的符號
主站蜘蛛池模板: 中文字幕欧美日韩高清| 午夜精品区| 国产精品一区二区在线播放| 一本大道在线一本久道| 久久美女精品| 在线中文字幕日韩| 五月婷婷丁香色| 天天躁夜夜躁狠狠躁图片| 亚洲精品无码人妻无码| 精品视频91| 国产精品三级专区| 91小视频版在线观看www| 99视频在线免费| 亚洲国产亚综合在线区| 久操线在视频在线观看| 亚洲一区二区黄色| 亚洲香蕉在线| 欧美成人一区午夜福利在线| 强奷白丝美女在线观看| 中日韩一区二区三区中文免费视频| 69av免费视频| 日韩在线播放欧美字幕| 日韩中文字幕亚洲无线码| 亚洲黄色网站视频| 免费国产福利| 婷婷午夜影院| 精品国产Ⅴ无码大片在线观看81| 久久一色本道亚洲| 精品久久国产综合精麻豆| 亚洲最猛黑人xxxx黑人猛交 | 久久99精品久久久久久不卡| 五月丁香伊人啪啪手机免费观看| 欧美日韩国产高清一区二区三区| 精品小视频在线观看| 一区二区自拍| 一本大道东京热无码av| 国产成人三级| 伊人成人在线| 91福利在线看| 亚洲日本一本dvd高清| 天天色天天综合网| 国产成人精品视频一区二区电影 | 久久久精品国产亚洲AV日韩| 精品视频一区二区三区在线播| 热伊人99re久久精品最新地| 中文字幕日韩视频欧美一区| 亚洲 成人国产| 欧美一级爱操视频| 亚洲黄网在线| 99国产在线视频| 国产成人a毛片在线| 一区二区三区高清视频国产女人| 欧美啪啪网| 国产毛片不卡| 青青青国产视频手机| 国产乱人乱偷精品视频a人人澡| 亚洲欧美日韩动漫| 91亚瑟视频| 午夜国产理论| 久久国产免费观看| 夜夜操国产| 91无码网站| 99热国产在线精品99| 久久久久青草大香线综合精品 | 黄色网站在线观看无码| 国产精品一区二区在线播放| 欧美午夜网站| 最新国产精品第1页| 免费一级无码在线网站| 免费A∨中文乱码专区| 91毛片网| 欧美国产综合视频| 欧美中文一区| 亚洲天堂首页| 人妻无码AⅤ中文字| 亚洲第一福利视频导航| 日韩久久精品无码aV| 日韩在线影院| 无码福利日韩神码福利片| 国产成人盗摄精品| 久久婷婷六月| 国产精品无码制服丝袜|