• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 微信讀書排版引擎自動化測試方案(3)

    發表于:2017-03-10來源:WeRead團隊博客作者:WeRead點擊數: 標簽:微信
    那么,如何完成步驟 3 的自動化,讓機器做人類的事情呢?我們把它再細分成三個步驟: 1. 獲取排版結果的數據表示 首先,需要找到一種機器能讀懂的數

    那么,如何完成步驟 3 的自動化,讓機器做人類的事情呢?我們把它再細分成三個步驟:

    1. 獲取排版結果的數據表示

    首先,需要找到一種機器能讀懂的數據表示,這種數據表示要既能夠表示排版的結果、反映代碼的修改,也能夠通過算法來對比,對比的結果要便于可視化的展示,方便開發、測試同學判斷差異是否符合預期。

    我們的選擇有:

    1. NSAttributedString,是從 EPUB、TXT 處理后得到的中間數據,包括文字和排版樣式。這種數據結構比較抽象,沒有一種很好的差異計算方法、和差異結果可視化方法。

    2. 閱讀器屏幕截圖,位圖格式,借助各種成熟的數字圖像處理算法,容易計算差異

    考慮到 2 容易計算差異,可視化輸出效果較好,我們選取閱讀器屏幕截圖作為數據表示。

    2. 對比圖像差異

    選擇了圖像作為排版結果的數據表示,那么如何對比圖像差異呢?

    首先,我們要選取圖像特征,然后才能對比圖片差異。圖像的特征,從視覺認知概念上,有低、中、高級特征:

    • 低級特征:如像素域、頻率域、ImageHash
    • 中級特征:如 sobel 邊緣特征
    • 高級特征:抽象視覺概念,比如從 CNN 算法訓練得到的標簽,如車、槍、球

    這里我們希望每個像素的差異都能檢測到,所以選取像灰度化處理過的圖像矩陣作為特征。

    原文轉自:http://wereadteam.github.io/2016/08/23/Typesetter/

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>