小编Sne*_*cle的帖子

在字符串中查找最长的重复序列

我需要在字符串中找到最长的序列,但需要注意序列必须重复三次或更多次.所以,例如,如果我的字符串是:

fdwaw4helloworldvcdv1c3xcv3xcz1sda21f2sd1ahelloworldgafgfa4564534321fadghelloworld

然后我想要返回值" helloworld ".

我知道有几种方法可以实现这个目标,但我面临的问题是实际的字符串非常大,所以我真的在寻找一种可以及时完成的​​方法.

python regex string algorithm

40
推荐指数
2
解决办法
2万
查看次数

在opencv python2包装器中是否打破了getPerspectiveTransform?

在opencv的python2包装器中,似乎与"getPerspectiveTransform"相冲突.首先,它需要两个参数而不是预期的三个参数.

而不是第一个包装器:

cv.GetPerspectiveTransform(source,destination,3x3mat)
Run Code Online (Sandbox Code Playgroud)

下雪了:

cv2.getPerspectiveTransform(?,?)
Run Code Online (Sandbox Code Playgroud)

如果我尝试将两组四个四角顶坐标作为参数放入,如下所示:

cv2.getPerspectiveTransform(first_set_of_corners, second_set_of_corners)
Run Code Online (Sandbox Code Playgroud)

它吐出以下错误:

cv2.error: C:\slave\WinInstallerMegaPack\src\opencv\modules\imgproc\src\imgwarp.
cpp:3194: error: (-215) src.checkVector(2, CV_32F) == 4 && dst.checkVector(2, CV
_32F) == 4
Run Code Online (Sandbox Code Playgroud)

如果checkVectors不应该等于四(因此四边形中的"四边形"),那么我不确定它对我的要求.与python2包装器中的其他内容一样,此功能完全没有记录,因此我不知道它是否已损坏,或者更可能是我做错了.有没有人设法让这个正常工作?

python opencv

14
推荐指数
1
解决办法
1万
查看次数

比较数组时为什么"in1d"比"a == b"慢得多

我需要能够比较两个图像并提取任何独特的像素来创建第三个图像.为此,我做了以下事情:

import cv2
import numpy as np

img = cv2.imread("old.jpg")
img2 = cv2.imread("new.jpg")

image2 = cv2.cvtColor(img2, cv2.COLOR_RGB2RGBA)

for (x,y,z), value in np.ndenumerate(img):
    dif = img[x,y,0] == img2[x,y,0] #only checking one color for speed
    diff = str(dif)
    if "True" in diff:
        image2[x,y,3] = 0
cv2.imwrite("result.png", image2)        
Run Code Online (Sandbox Code Playgroud)

这个效果相当不错,但640 x 480的图片花了大约10秒钟,我希望能让它接近大约一半的时间.所以我改变了这一行:

dif = img[x,y,0] == img2[x,y,0]
Run Code Online (Sandbox Code Playgroud)

dif = np.in1d(img[x,y,0], img2[x,y,0])
Run Code Online (Sandbox Code Playgroud)

结果是相同的,但现在大约需要3分钟,而不是加快速度.我完全失去了原因.

我意识到迭代大型数组中的元素在python中会很费时但是为什么in1d这么慢?

(作为旁注,我只会使用" 调色板方法 ",但由于我对numpy数组的了解有限,我无法看到为此目的实现它的方法.)

python arrays opencv numpy

3
推荐指数
1
解决办法
957
查看次数

标签 统计

python ×3

opencv ×2

algorithm ×1

arrays ×1

numpy ×1

regex ×1

string ×1