- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 python 上使用 opencv。
我正在寻找一种有效的方法来使用掩码来选择落入其中的所有关键点,在已经检测到关键点之后。
要清楚 - 我知道我可以在检测阶段使用掩码,我需要的是在已经检测到关键点之后使用另一个(不同的)掩码(并且这个过程用多个子区域掩码重复,所以我不能在检测之前组合 2 个掩码)。
import cv2
image = cv2.imread(some_image_file)
mask = cv2.imread(some_mask_file)
mask_2 = cv2.imread(some_additional_mask_file)
# Defining the detector:
detector = cv2.ORB_create(scoreType=cv2.ORB_FAST_SCORE)
# Detecting keypoints inside the initial mask's region:
kp, dsk = detector.detectAndCompute(image, mask)
# Using mask_2 to select a subset of the detected keypoints:
...
最佳答案
根据 this发布后,您需要遍历所有关键点和描述符并将好的关键点和描述符添加到新列表中。
There is no possibility to mark them unnecessary.
这是一个示例代码:
import numpy as np
import cv2
some_image_file = 'graf.png'
image = cv2.imread(some_image_file)
rows, cols = image.shape[0], image.shape[1]
mask = np.full((rows, cols), 255, np.uint8) # cv2.imread(some_mask_file)
mask_2 = mask.copy() #cv2.imread(some_additional_mask_file)
mask_2[:, 0:cols//2] = 0
# Defining the detector:
detector = cv2.ORB_create(scoreType=cv2.ORB_FAST_SCORE)
# Detecting keypoints inside the initial mask's region:
kp, dsk = detector.detectAndCompute(image, mask)
good_kp = [] # List of "good keypoint"
good_dsk = [] # List of "good descriptors"
# Iterate over all keypoints and descriptors and the good ones to a new list.
# There is no possibility to mark them unnecessary.
# https://stackoverflow.com/questions/29180815/delete-matches-in-opencv-keypoints-and-descriptors
for k, d in zip(kp, dsk):
x, y = k.pt # Each keypoint as an x, y tuple https://stackoverflow.com/questions/35884409/how-to-extract-x-y-coordinates-from-opencv-cv2-keypoint-object
if mask_2[int(y), int(x)] != 0:
good_kp.append(k) # Append keypoint to a list of "good keypoint".
good_dsk.append(d) # Append descriptor to a list of "good descriptors".
# Draw keypoints for testing
image_kp = image.copy()
cv2.drawKeypoints(image, kp, image_kp)
image_good_kp = image.copy()
cv2.drawKeypoints(image, good_kp, image_good_kp)
cv2.imshow('image_kp', image_kp)
cv2.imshow('image_good_kp', image_good_kp)
cv2.waitKey()
cv2.destroyAllWindows()
关于python - 如何在检测后屏蔽 opencv 的关键点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67622830/
我正在检测图像中的 SURF 特征,然后将它们写入 yml 文件。然后我想再次从 yml 文件加载特征以尝试检测对象,但目前我无法加载关键点以将它们绘制在图像上。 我是这样写要点的: cv::File
我正在学习 OpenCV,目前我正在尝试了解存储在 KeyPoint 中的基础数据,以便我可以更好地将这些数据用于我正在处理的应用程序。 到目前为止,我已经浏览了这两个页面: http://docs.
我想了解更多关于KeyPoints的知识,谁能告诉我什么是 关键点::角度 在 OpenCV 文档中提到角度是计算关键点的方向(如果不适用则为 -1)。我无法想象那是什么。那么谁能告诉我这是什么意思或
我有 3D 多边形:实体(第一种情况)和平面(第二种情况)。如何确定主控点(key point)?例如:圆柱体的主点是其盖子的中心。 我不能使用凸包算法,因为主点可以是船体的一部分,而且我不能用平面
我想在opencv中实现一揽子单词。在检测器之后-> detect(img,keypoint);当我想使用keypoint.clear()清理关键点时,会检测到关键点;或者当函数想要返回时,将出现以下
我在 python 中有以下代码 import cv2 import numpy as np def save_keypoints(image_path, type_image): img =
我想要代码根据 SIFT 关键点匹配两张图片。? 我有以下用于 SIFT 的代码 public static Image siftFunction(Bitmap sourceBitmap) {
我正在处理生物信息学的任务,需要从一些细胞图像中提取一些特征。 我使用 SIFT 算法提取图像内部的关键点,如图所示。 正如您在图片中也看到的(红色圈出),一些关键点是异常值,我不想计算它们的任何特征
在搜索了这个(1、2、3、4)的答案后,我仍然对两者感到困惑 如果可能的话 如果是,怎么做 我希望能够从一个 .xml 文件中读取,该文件有一个包含 cv::Mat 的 Point2f keypoin
我尝试比较两个不同图像中的两个点,所以我想将坐标转换为关键点,以便稍后用它们计算描述和匹配结果。 我找到了方法: keypoint = cv2.KeyPoint(x, y, 0) vec = [k
我是一名 Asp.net 开发人员,但对 Asp.net Identity 框架非常陌生。我一直在研究示例应用程序并遵循了一些关于身份的教程,但我仍然无法完全掌握这个概念。我对 Asp.net 成员(
我是一名优秀的程序员,十分优秀!