小编k_p*_*k_p的帖子

如何获取图像中形状每边的长度?

假设我们有如下图像:

[![输入][1]][1]

我想确定边数和每边的长度。

在图像中,我们将三个边缘作为直线,上面的一个是弯曲的边缘。我能够使用 Canny 边缘检测找到三个直边的长度。我们可以有四个顶点坐标,我们可以计算出三个直边/线的长度,但无法求出曲线边的长度。

在图像python中找到边数和每边的长度以及顶点数这是获取图像中边数的一个很好的答案,我们通过上面链接中的代码获得顶点坐标。进一步使用坐标获取边的长度,如果边是直线,我们可以使用下面的代码来获取长度:

for pt in zip(points,np.roll(points,-1,0)):
#     print( pt )
    x = pt[0][0]
    y = pt[1][0]
    d = math.sqrt((x[1]-y[1])*(x[1]-y[1]) + (x[0]-y[0])*(x[0]-y[0]))
    print('length between point:',x,'and', y,'is', d)
Run Code Online (Sandbox Code Playgroud)

为了简化我的问题:如果图像形状有任何弯曲的边,我想找到图像中的形状有多少条边/边,以及它们各自的长度。

python opencv image-processing computer-vision

2
推荐指数
1
解决办法
145
查看次数

如何提高 EasyOCR 的准确性/预测?

我正在尝试从车牌中获取字符。但很少有错误的预测,比如

在此输入图像描述

我得到的输出为UP74 BD 3465,这是错误的。有许多B预测的例子8以及更多。

  • 如何提高其准确率?
  • 如何预处理图像以获得正确的预测或任何其他方法?
import matplotlib.pyplot as plt
import easyocr
from pylab import rcParams
from IPython.display import Image

rcParams['figure.figsize'] = 8, 16
reader = easyocr.Reader(['en'])

output = reader.readtext(path)
for i in range(len(output)):
    print(output[i][-2])
Run Code Online (Sandbox Code Playgroud)

python ocr text-extraction image-processing easyocr

2
推荐指数
1
解决办法
9531
查看次数