是否可以從jpeg,png或tiff文件中提取圖像?不是PDF!假設我有一個包含jpeg格式文本和圖像的文件(所以它基本上是一張圖片);我希望能夠以編程方式提取圖像(最好使用Java)。如果有人知道有用的圖書館,請讓我知道。我已經嘗試過AspriseOCR和tesseract-ocr,他們已經成功地只提取文本(顯然)。 謝謝。從圖像中提取圖像
從圖像中提取圖像
回答
嘗試:
int startProintX = xxx;
int startProintY = xxx;
int endProintX = xxx;
int endProintY = xxx;
BufferedImage image = ImageIO.read(new File("D:/temp/test.jpg"));
BufferedImage out = image.getSubimage(startProintX, startProintY, endProintX, endProintY);
ImageIO.write(out, "jpg", new File("D:/temp/result.jpg"));
這點是要提取圖像的區域。從PDF文件
提取圖像,我建議改變你的後瓦。您可以使用pdfbox
或iText
api。以下示例從pdf文件中提取所有圖像。 可能有一些資源給你。如果pdf中有大量圖像,可能會發生java.lang.OutOfMemoryError
。
下載pdfbox.xx.jar
here。從PDF文件
import java.io.File;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.pdfbox.PDFBox;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDResources;
import org.apache.pdfbox.pdmodel.graphics.xobject.PDXObjectImage;
import org.jdom.Document;
public class ExtractImagesFromPDF {
public static void main(String[] args) throws Exception {
PDDocument document = PDDocument.load(new File("D:/temp/test.pdf"));
List pages = document.getDocumentCatalog().getAllPages();
Iterator iter = pages.iterator();
while(iter.hasNext()) {
PDPage page = (PDPage)iter.next();
PDResources resources = page.getResources();
Map images = resources.getImages();
if(images != null) {
Iterator imageIter = images.keySet().iterator();
while(imageIter.hasNext()) {
String key = (String)imageIter.next();
System.out.println("Key : " + key);
PDXObjectImage image = (PDXObjectImage)images.get(key);
File file = new File("D:/temp/" + key + "." + image.getSuffix());
image.write2file(file);
}
}
}
}
}
提取特定的圖像要提取特定的圖像,你要知道index of page
和頁面index of image
。否則,你不能提取。
以下示例程序提取first image
的first page
。
int targetPage = 0;
PDPage firstPage = (PDPage)document.getDocumentCatalog().getAllPages().get(targetPage);
PDResources resources = firstPage.getResources();
Map images = resources.getImages();
int targetImage = 0;
String imageKey = "Im" + targetImage;
PDXObjectImage image = (PDXObjectImage)images.get(imageKey);
File file = new File("D:/temp/" + imageKey + "." + image.getSuffix());
image.write2file(file);
謝謝,那種幫助。如果圖像的座標未知,我該怎麼辦? @CycDemo – iAmIronMan
@iAmIronMan :),我不確定,你必須知道'座標點'區域來提取。如果是這樣,請嘗試再試一次以達到您的目標。 – CycDemo
@iAmIronMan檢查更新文章'從PDF文件中提取圖像' – CycDemo
如果你有興趣出的現成的產品,可以用最少的非編程組態通過暗箱處理做到這一點(因爲你嘗試過其他產品),然後ABBYY FlexiCapture能做到這一點。它可以配置爲在鬆散定義的區域或頁面上的任何位置查找動態大小的圖片/對象,並完全控制搜索邏輯。我曾經使用它來提取特定形狀和粗細的線條來分隔書籍的各個章節,其中每一行都表示一個新章節,並且可能位於頁面上的任何位置。
- 1. 從RichTextBox中提取圖像
- 2. 從圖像中提取x%
- 3. 從圖像中提取
- 4. 從PDF中提取圖像
- 5. 從PDF中提取圖像
- 6. 從圖像中提取圖案
- 7. 從圖像中提取圖層
- 8. 從圖像中提取像素,作爲新的小圖像
- 9. 提取圖像
- 10. 從RTF提取圖像
- 11. 從網站提取圖像
- 12. 從asp.net提取pdf圖像
- 13. vb.net Aspose.OCR - 提取從圖像
- 14. 提取像素從圖像GDI +
- 15. 如何從掃描中提取圖像。如何在圖像中查找圖像?
- 16. 如何從JAVA中的圖像URL中提取圖像屬性?
- 17. 如何從窗體中的圖像中提取圖像?
- 18. 需要從提交的圖像更新圖像ID提取?
- 19. 在Android中從html中提取圖像
- 20. 在android中,你將如何從圖像按鈕提取圖像?
- 21. 從圖像中提取子圖像使用c#
- 22. 從div中提取圖像並添加爲背景圖像
- 23. 從CGPDFPageRef提取縮略圖圖像
- 24. 從圖像id中獲取圖像android
- 25. SWT:從圖像中獲取子圖像
- 26. 從URL提取圖像後圖像視圖不更新
- 27. PDFClown圖像提取圖像反轉
- 28. Android圖像提取
- 29. 提取圖像flexslider
- 30. 提取CAPTCHA圖像
你有一些代碼嗎?或者你在尋找想法? – guisantogui
我使用Xuggler進行圖像和視頻處理。 – Fabinout
我正在尋找想法。我可以使用的圖書館。謝謝。 – iAmIronMan