簡體   English   中英

在python和opencv中從報紙圖像中提取文章

[英]article extraction from newspaper image in python and opencv

第一張圖像:這是我嘗試過的圖像運行長度平滑算法水平和垂直,一些像素值取決於圖像的尺寸

第二張圖片:通過增加像素值但與其他文章合並來提取文章的另一張圖片

我嘗試從報紙圖像中提取文章,但是標題被 rlsa 算法在第一張圖像中的某些像素值的水平和垂直分開。 如果我嘗試使用更多像素值,文章正在合並,顯示在第二張圖片中。 任何人都可以建議將文章與python和opencv中的圖像分開的最佳方法嗎?

此循環用於圖像上的游程平滑算法水平

    for i in range(1,a):
        c = 1
        for j in range(1, b):
            if im_bw[i, j] == 0:
                if (j-c) <= 10:
                    im_bw[i, c:j] = 0
                
                c = j
            
        
        if (b - c) <= 10:
            im_bw[i, c:b] = 0
    

此循環用於圖像上的運行長度平滑算法垂直

    for i in range(1, b):
        c = 1
        for j in range(1, a):
            if im_bw[j, i] == 0:
                if (j-c) <= 9:
                    im_bw[c:j, i] = 0
                
                c = j
            
        
        if (b - c) <= 9:
            im_bw[c:b, i] = 0

a 是行數 b 是二值圖像的列數

算法如何處理二值圖像和紅色標記顯示文章的合並

我有一種適用於大多數圖像的方法。

  1. 使用 PIL/Opencv 對彩色/灰度圖像進行二進制轉換。
  2. 從圖像中刪除圖片作為與圖像中存在的所有輪廓的平均面積相比具有最大面積的輪廓。
  3. 使用canny邊緣過濾器和houghlines去除線條
  4. 在這個二值圖像上使用RLSA (運行長度平滑算法)。 RLSA 的描述和代碼可以在此存儲庫中找到https://github.com/Vasistareddy/python-rlsa

刪除行有幫助,因為一些電子論文保留行作為文章分隔符。 我們可以通過對圖像進行更多處理來獲得更好的結果。 應用上述步驟后,可以在圖像上留下的輪廓上實施平均寬度、平均高度、平均面積等啟發式方法,以獲得更好的效果。

談到上述問題,文章總是以白色背景。 沒有白色背景的顯然是“廣告”或“圖片”或“雜項”。 從上述 4 個步驟中刪除圖片清除解決了這個問題。

PS:為RLSA水平和垂直選擇一個值始終是個謎。 由於文章的差距因版本而異。

編輯:

上面的問題基本上是應用啟發式的。 通讀這個

https://medium.com/@vasista/extract-title-from-the-image-documents-in-python-application-of-rlsa-58f91237901f

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM