競爭編碼一些數字的計算問題

2021-08-10 14:29:40 字數 963 閱讀 5869

個人記錄用,不回答任何相關問題。

一些定義:

六角度競爭編碼圖,乙個畫素的特徵占用3bit,相鄰角度間的差距值為1.(相鄰角度間1的個數差1)。

1)隔三個點取樣的原因?

a:startpoint=18,endpoint=112。18+3*k=112的話k=32個編碼點,乙個編碼點佔3 bit,sizeof(int )= 4 byte = 32 bit,因此一行的影象編碼後正好可以用3個int,即12個byte記錄。

2)為何會占用 384 byte?

a: 乙個特徵占用3 bit,每行取樣點k=32,取樣行數k=32,共占用32*32*3 =3072 bit ,3072 / 8 =384 byte。即,可以用384 / 4 =96個int型別變數儲存。

3)匹配的planenum和planesize是什麼?

a:用按位異或操作進行匹配,因此編碼後特徵的三個bit分開按位異或,每一位是乙個plane,因此planenum=3,384 / 3=128.因此整個特徵乙個plane的planesize=128(byte)。

4)為何用乙個union來記錄匹配值?

a: 匹配按異或與後,需要查詢「1」的個數,因此需要事先儲存乙個十進位制數到1個數的對映陣列,unsigned int有32位,對映陣列過大。因此建立乙個union

採用的模式,對於乙個int數拆分成兩個short,對映陣列僅需65536大小。

5)如何計算得分?

a:對於沒有位移的兩特徵,共匹配特徵點32*32對,planenum=3,因此共有共得到匹配值32*32*3次匹配,因此得分值等於 bitcount/(32*32*3=3072)。

編碼的一些問題

utf 8 是1byte 4byte的變換,漢字utf 8儲存的,乙個漢字佔3byte gbk 漢字gbk儲存的,乙個漢字佔2byte utf 16be 漢字 字母都是2byte utf8和utf16都是uincode 中國abc 分別對應的編碼,按順序gbk,utf 8,utf 16be 1101...

python中的一些編碼問題

宣告python原始碼編碼方式 在程式的開始寫上 coding utf 8 coding gbk 注 decode是將其它編碼方式轉換成unicode編碼encode是將unicode編碼轉換成其它編碼方式,如 decode gbk gbk unicode encode gbk unicode gb...

常見的一些編碼

對於密碼學來說編碼並不是密碼,但也是很常見的使用了,因此在這裡簡單的總結一下各種編碼。1.ascii 對於ascii來說其前1 31為非列印字元,後面的才是列印字元。可以說是用的很廣泛的一種一種編碼了。例如在sql注入中我們都會經常遇到他,在各種語言中都會遇到為其設定的函式,等等。廢話不說上圖 可以...