小编use*_*314的帖子

如何通过Python找到数组中元素的位置?

我有以下数组:

scores=[2.619,3.3, 9.67, 0.1, 6.7,3.2]
Run Code Online (Sandbox Code Playgroud)

我希望通过以下代码检索超过 5 个的元素:

min_score_thresh=5
Result=scores[scores>min_score_thresh]
Run Code Online (Sandbox Code Playgroud)

因此,这将导致我的结果:

[9.67, 6.7]
Run Code Online (Sandbox Code Playgroud)

现在我希望得到这两个元素的位置,这是我预期的答案将存储在变量 x 中:

x = [2,4]

请分享我的想法,谢谢

python arrays numpy python-3.x

4
推荐指数
1
解决办法
5135
查看次数

错误:(-215) 函数 cv::batchDistance 中的类型 == src2.type() && src1.cols == src2.cols && (类型 == 5 || 类型 == 0)

我有以下使用 ORB 进行图像匹配的代码:

import numpy as np
import cv2
from matplotlib import pyplot as plt

img1 = cv2.imread('C:\\IRRNEW\\models\\research\\object_detection\\Scanner\\IMG_Hello.jpg',0)          # queryImage
img2 = cv2.imread('C:\\IRRNEW\\models\\research\\object_detection\\Image.jpg',0) # trainImage
#orb = cv2.ORB_create()
orb = cv2.ORB_create(nfeatures=10000, scoreType=cv2.ORB_FAST_SCORE)
# find the keypoints with ORB
kp1, des1 = orb.detectAndCompute(img1,None)
kp2, des2 = orb.detectAndCompute(img2,None)
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches = bf.match(des1,des2)
matches = sorted(matches, key = lambda x:x.distance)
img3 = cv2.drawMatches(img1,kp1,img2,kp2,matches[::], None,flags=2)
a=len(matches)
print(a)
b=len(des)
print(b)
plt.imshow(img3),plt.show()
Run Code Online (Sandbox Code Playgroud)

以前这段代码能够运行并显示结果,但现在突然给我这个错误:

Traceback (most recent call last):
  File "C:\Users\user\Desktop\h.py", line 13, in …
Run Code Online (Sandbox Code Playgroud)

opencv python-3.x orb

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

标签 统计

python-3.x ×2

arrays ×1

numpy ×1

opencv ×1

orb ×1

python ×1