電子墨水屏音樂相冊

<h2>背景</h2><p>事情還要從一年前,我做的墨水屏早教機(jī)說起勤哗。https://www.zhangshengdong.com/post/baby_epaper/</p><p>雖然這個早教機(jī)寶寶的確很喜歡玩蛔趴,是吸引注意力的一大利器。但架不住這個墨水屏刷新實在太慢,幾乎要20秒谢揪,所以導(dǎo)致寶寶只有在圖片刷出來時,才會看它一眼濒持,這樣就顯得雞肋了键耕。</p><p>所以,最近我就在想柑营,有什么是不關(guān)注刷新時間的呢屈雄?</p><p>嗯,就是早年間流行過的 音樂相冊官套。</p><h2><i/>音樂相冊</h2><p>其實從早教機(jī)改成音樂相冊并不復(fù)雜酒奶。</p><p>早教機(jī)講究的是對應(yīng)的圖片和講解音頻同時出現(xiàn)蚁孔、同時切換,而音樂相冊則是照片的展示和音樂無關(guān)惋嚎。</p><p>所以我直接開兩個進(jìn)程杠氢,讓它們一個播放音樂,一個展示照片另伍,各玩各的就行啦鼻百。但由于機(jī)身上只有一對按鍵,所以最后權(quán)衡再三摆尝,決定用這一對按鈕來控制音樂的上下切換温艇。</p><p>大體程序如下:</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/6302584-eeb59b2823cf86ef.jpeg" contenteditable="false" img-data="{"format":"jpeg","size":61279,"height":528,"width":674}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><h2>自動轉(zhuǎn)換照片</h2><p>但只到這一步是不夠的,因為由于我的墨水屏只有7色堕汞,所以這時候每張照片都得要我親自打開photoshop勺爱,載入顏色表,把照片轉(zhuǎn)換成7元色表示才能用讯检。這樣一來琐鲁,照片多了工作量就大大不可接受了。</p><p>所以我需要在樹莓派上能夠自動完成任意照片的轉(zhuǎn)換人灼。</p><h3><i/>最簡單的思路:最近距離法</h3><p>第一個想到的方案自然就是最近距離法了围段,即判斷每個像素點距離色表中每個顏色的遠(yuǎn)近,從而把該像素設(shè)置為離它原有顏色最近的那個元色投放。</p><p>代碼:</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/6302584-c32a78408912a0b8.jpeg" contenteditable="false" img-data="{"format":"jpeg","size":22935,"height":288,"width":757}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><p>但這個初始方案很快就被現(xiàn)實給打臉了蒜撮。</p><p>原圖:</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/6302584-c88fb40ec4bdd7f2.jpeg" img-data="{"format":"jpeg","size":239224,"height":3880,"width":5184}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><p>最近距離法:</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/6302584-c211ba888d1f6858.jpeg" img-data="{"format":"jpeg","size":34883,"height":400,"width":640}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><p>可以發(fā)現(xiàn),最近距離法轉(zhuǎn)換出的就是色塊跪呈,變成了剪影的效果段磨,可以說毫無觀感可言,幾乎不能用了耗绿。</p><h3><i/>色彩均衡</h3><p>粗略的分析了一下苹支,感覺可能是因為這張照片的顏色大體偏黑,所以最近距離轉(zhuǎn)換出來就變成以黑白橙為主了误阻。</p><p>那如果原因是這樣的話债蜜,我是不是可以對它做一下類似白平衡的色彩均衡操作,就可以把7元色都顯示出來了呢究反?</p><p>代碼:</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/6302584-a275363edd34a0b9.jpeg" contenteditable="false" img-data="{"format":"jpeg","size":4375,"height":69,"width":276}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><p>色彩均衡:</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/6302584-cc5c40eee28e1671.jpeg" img-data="{"format":"jpeg","size":35555,"height":400,"width":640}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><p>可以發(fā)現(xiàn)寻定,紅色、藍(lán)色精耐、黃色的區(qū)域都變大了狼速,還增加了一點點綠色,可以說的確是實現(xiàn)了剛才的目的:把7元色都顯示出來卦停。但這依舊沒用啊向胡,這個效果是絕對不能夠使用的恼蓬。</p><h3><i/>Floyd-Steinberg擴(kuò)散抖動算法</h3><p>所以我就在想,那原先手動用photoshop處理時僵芹,它是用的什么算法呢处硬?</p><p>一通搜索,就發(fā)現(xiàn)了Floyd-Steinberg擴(kuò)散抖動算法拇派。</p><p>這個算法相當(dāng)于是荷辕,將像素使用我們的方法一最近距離法進(jìn)行標(biāo)準(zhǔn)化后,所產(chǎn)生的誤差疊加到相鄰像素上件豌,從而利用誤差擴(kuò)散實現(xiàn)抖動桐腌,最終使得平均量化誤差最小。</p><p>通俗一點說就是苟径,它把誤差分擔(dān)到周邊的像素上去,用周邊這一團(tuán)像素來模擬原圖中的這一團(tuán)區(qū)域躬审。</p><p>代碼:</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/6302584-4dc755eeaf0e827e.jpeg" contenteditable="false" img-data="{"format":"jpeg","size":74141,"height":790,"width":757}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><p>Floyd-Steinberg擴(kuò)散抖動算法:</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/6302584-1806da9e81ebc6dc.jpeg" img-data="{"format":"jpeg","size":136929,"height":400,"width":640}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div><p>哇棘街,效果上完勝啊承边!驚艷遭殉!</p><h2><i/>緩存</h2><p>那么最后,由于不管是哪種算法博助,都需要逐一像素點的處理险污,哪怕是在樹莓派上使用了多線程、進(jìn)程富岳,也還要近7分鐘之久蛔糯。</p><p>所以就加入了緩存機(jī)制,在讀取圖片時窖式,會先去查找有沒有已經(jīng)處理好的緩存文件蚁飒,若沒有才會真的進(jìn)行轉(zhuǎn)換處理。</p><p>最終實現(xiàn)照:</p><div class="image-package"><img src="https://upload-images.jianshu.io/upload_images/6302584-d97e5e8bbfa56854.jpeg" img-data="{"format":"jpeg","size":221600,"height":2268,"width":4032}" class="uploaded-img" style="min-height:200px;min-width:200px;" width="auto" height="auto"/>
</div>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末萝喘,一起剝皮案震驚了整個濱河市淮逻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌阁簸,老刑警劉巖爬早,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異启妹,居然都是意外死亡筛严,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門饶米,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脑漫,“玉大人髓抑,你說我怎么就攤上這事∮判遥” “怎么了吨拍?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長网杆。 經(jīng)常有香客問我羹饰,道長,這世上最難降的妖魔是什么碳却? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任队秩,我火速辦了婚禮,結(jié)果婚禮上昼浦,老公的妹妹穿的比我還像新娘馍资。我一直安慰自己,他們只是感情好关噪,可當(dāng)我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布鸟蟹。 她就那樣靜靜地躺著,像睡著了一般使兔。 火紅的嫁衣襯著肌膚如雪建钥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天虐沥,我揣著相機(jī)與錄音熊经,去河邊找鬼。 笑死欲险,一個胖子當(dāng)著我的面吹牛镐依,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播天试,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼馋吗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了秋秤?” 一聲冷哼從身側(cè)響起宏粤,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎灼卢,沒想到半個月后绍哎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡鞋真,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年崇堰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡海诲,死狀恐怖繁莹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情特幔,我是刑警寧澤咨演,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站蚯斯,受9級特大地震影響薄风,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拍嵌,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一遭赂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧横辆,春花似錦撇他、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至炫惩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間阿浓,已是汗流浹背他嚷。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留芭毙,地道東北人筋蓖。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像退敦,于是被迫代替她去往敵國和親粘咖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容