我使用192 x 144和420v,BGRA格式的分辨率以25fps的速率從iPhone相機抓取幀圖像。在iPhone上更快,更高效地進行JPEG轉換和壓縮
我將CVImageBufferRef
s轉換成UIImage
s,然後調用UIImageJPEGRepresenation(image, compressionQuality)
以獲得圖像的壓縮JPEG版本。
在樂器中使用Time Profiler,我可以看到75%的CPU時間用於獲取圖像的JPEG表示,導致我需要在應用程序中完成的其他操作導致速度變慢。
如果我將壓縮比設置爲1.0(即無壓縮),並且如果將其設置爲0.0(即,完全壓縮),花費更多,則花費更少的時間。
是否有更有效的方式從iPhone的相機獲取圖像的JPEG表示?
我可以在不將CVImageBufferRef
轉換爲UIImage
的情況下獲得JPEG表示嗎(因此可以剪出相當昂貴的Core Graphics繪圖操作)?
你需要壓縮它們嗎?之後你在做什麼? – 2010-10-14 10:12:57
他們正在通過網絡發送給對方。網絡可能有所不同,3G,Wifi,EDGE等。沒有壓縮的圖像(即使在192 x 144)太大。 – Jasarien 2010-10-14 11:01:43
您可能想要檢查一些低複雜度的壓縮器,如JPEG-LS,以查看它們是否符合您的需求。通常JPEG-LS是無損的,但有一個接近無損的選項壓縮更多。 – gusbro 2010-10-18 18:55:32