簡體   English   中英

有沒有辦法自動識別照片中折線圖的 position 並將其數字化?

[英]Is there a way to automatically recognize the position of a line chart in a photo and to digitize it?

我有以下問題,我們應該將不同城市潮位的歷史記錄數字化。 數據是照片的形式,所有這些看起來都像這樣:

在此處輸入圖像描述

折線圖多年來保持不變,即它們都具有相同的軸、標簽、網格等。只有輸入的值和曲線每天都不同。

目前的主要問題是識別圖中的折線圖,然后識別其中的曲線,其中一些(如圖所示)非常細或非常粗。

我想要一個算法來識別圖像中的圖表,這樣我就可以專注於讀取這些值。 解決方案應該在 Python 中。 有任何想法嗎?

首先,您可以 select 圖表上的網格。 嘗試這個:

import cv2

image = cv2.imread('dia.jpg')
image=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
se=cv2.getStructuringElement(cv2.MORPH_RECT , (3,3))
close=cv2.morphologyEx(image, cv2.MORPH_CLOSE, se)
close=cv2.absdiff(close, image)
cv2.normalize(close, close,  0, 255, cv2.NORM_MINMAX, cv2.CV_8UC1)
grid=cv2.bitwise_not(close)
cv2.imshow('grid', grid)  
cv2.imwrite('grid.png',grid)

結果: 在此處輸入圖像描述

暫無
暫無

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

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