извлечь таблицу из изображения в другое изображение с помощью Python 3 - PullRequest
0 голосов
/ 21 марта 2019

Я хочу извлечь таблицу из изображения png и сохранить эту таблицу в другом изображении.у меня есть это изображение:

enter image description here

Я хотел бы найти таблицы изображений двух континентов:

## первое изображение:

enter image description here **

второе изображение:

**

enter image description here

как я могу решить это?Заранее спасибо.

1 Ответ

2 голосов
/ 21 марта 2019

Поскольку вопрос помечен python и opencv, я предполагаю, что вам нужно решение с использованием этого конвейера. Пожалуйста, взгляните на следующее решение. Отказ от ответственности: я новичок в Python в целом, и особенно в Python API OpenCV (C ++ для победы). Комментарии, улучшения, выделение Python no-gos приветствуются!

import cv2

# Read input image
img = cv2.imread('images/B81om.png', cv2.IMREAD_COLOR)

# Convert to gray scale image
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

# Simple threshold
_, thr = cv2.threshold(gray, 200, 255, cv2.THRESH_BINARY)

# Morphological closing to improve mask
close = cv2.morphologyEx(255 - thr, cv2.MORPH_CLOSE, cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3, 3)))

# Find only outer contours
contours, _ = cv2.findContours(close, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

# Save images for large enough contours
areaThr = 3000
i = 0
for cnt in contours:
    area = cv2.contourArea(cnt)
    if (area > areaThr):
        i = i + 1
        x, y, width, height = cv2.boundingRect(cnt)
        cv2.imwrite('output' + str(i) + '.png', img[y:y+height-1, x:x+width-1])

Для данного примера изображения я получаю следующие два выходных изображения:

Small table

* +1012 *Large table
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...