[英]Easy and quick way of getting raw data of jpeg image in Java?
我正在使用此手機應用程序作為我在PC上編寫的應用程序的眼睛。 網絡攝像頭應用程序允許我以jpeg格式下載即時快照。 我需要對這些鏡頭進行圖像處理,為了做到這一點,我想動手使用原始數據陣列-即描述圖像的像素矩陣。 如何才能做到這一點?
最簡單的方法是
ImageIO.read(new File("Image.jpeg"))
獲得BufferedImage
。 使用BufferedImage
可以使用getRGB(int x, int y)
或getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
以獲得更好的性能。 此外, getRaster()
是一個選項,我發現它是最快的(不過需要更多的努力)。
對於設置像素,存在類似的setRGB
方法。
編輯: ImageIO
是javax.imageio.ImageIO
。
也許最好的起點是閱讀有關圖像格式規范的幾句話。 那些應該解釋如何存儲不同格式的數據。 有了這些知識,您就可以真正編寫自己的解析器。
但請三思而后行:jpeg不僅是像素的光柵矩陣,例如位圖圖像。
您很可能最終將使用圖像處理庫,而不是自己處理原始數據。 這種方法更加方便,而且不易出錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.