一、前言
轉(zhuǎn)置操作在很多算法上都有著廣泛的應(yīng)用,在數(shù)學(xué)上矩陣轉(zhuǎn)置更有著特殊的意義。而在圖像處理上,如果說(shuō)圖像數(shù)據(jù)本身的轉(zhuǎn)置,除了顯示外,本身并無(wú)特殊含義,但是在某些情況下,確能有效的提高算法效率,比如很多行列可分離的算法,在很多情況下,行和列方向的算法邏輯隨相同,但是由于多方面原因(比如Cache miss, 優(yōu)化水平等)行列處理時(shí)間還是由很大的差異的,這個(gè)時(shí)候如果轉(zhuǎn)置的耗時(shí)和處理時(shí)間相比所占比例甚小,則可以考慮在進(jìn)行耗時(shí)處理前先轉(zhuǎn)置數(shù)據(jù),然后調(diào)用不耗時(shí)的方向的算法,處理完后再次進(jìn)行轉(zhuǎn)置。因此,一個(gè)高效的圖像轉(zhuǎn)置算法的設(shè)計(jì)時(shí)非常有必要的。
二、目前的狀況
沒(méi)怎么搜集這方面的資料,不過(guò)在百度上看到的優(yōu)化的帖子也有幾篇:
1、利用SSE優(yōu)化圖像轉(zhuǎn)置 這篇文章講到了SSE優(yōu)化轉(zhuǎn)置操作,講的很簡(jiǎn)單,我只是稍微看了下他的代碼,他似乎處理的不是普通的8位圖像,而是16位的,反正我是沒(méi)有看懂,并且他的提供比較的C代碼本身寫(xiě)法就完全沒(méi)有考慮到C語(yǔ)言自身的優(yōu)化,因此最后提出SSE代碼比C快5倍說(shuō)服力就大為打折扣,不過(guò)他這里可以值得學(xué)習(xí)的地方就是這個(gè)轉(zhuǎn)置支持In-Place操作,就是Src和Dest可以相同。
2、圖像轉(zhuǎn)置的Neon優(yōu)化代碼 Neon的代碼,沒(méi)看懂,不過(guò)后面說(shuō)10倍左右的提速,其實(shí)也要看原始的C代碼是怎么寫(xiě)的了,不過(guò)原文也明確的說(shuō),只支持RGBA 32位的圖,顯然作者也避而不談灰度或者24位的圖,當(dāng)然這于手機(jī)端似乎沒(méi)有24位的概念有關(guān)。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26