gpt4 book ai didi

opencv - 如何找到图像中的极角点?

转载 作者:太空宇宙 更新时间:2023-11-03 21:12:53 24 4
gpt4 key购买 nike

source image1 source image2

destination image1 destination image2

形成上面的源图像(source image1、image2),我想找到极端角点并得到像目标image1、image2这样的点,我画红圈点。

其实我研究过Harris、Shi Tomasi算法,但都没有那么极端。

实际上我已经尝试使用 java 代码goodFeaturesTotrack,喜欢:

goodFeaturesToTrack(basedImg,corners,10,0.2,10,maskMat,3,false,0.04);  for (int j=0;j<cornerArray.length;j++){
Point curP = cornerArray[j];
Imgproc.circle(retImg,curP,3,new Scalar(255,0,0),-1);
}

效果图如下:

magnify to find blue corner point

虽然它能找到一些蓝色的特征点,但没有我展示的目标image1、image2那么极端。

那么你有什么好主意来找到特殊字符的角点吗?

最佳答案

您可以使用 cv2.goodFeaturesToTrack() 进行角点检测。该函数有四个参数

corners = cv2.goodFeaturesToTrack(image, maxCorners, qualityLevel, minDistance)
  • image - 输入 8 位或浮点 32 位灰度单 channel 图像
  • maxCorners - 返回的最大角数
  • qualityLevel - 0-1 之间的最低接受质量级别。所有低于质量水平的角落都被拒绝
  • minDistance - 拐角之间可能的最小欧氏距离

enter image description here

import cv2

image = cv2.imread('1.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

corners = cv2.goodFeaturesToTrack(gray,10,0.2,20)

for corner in corners:
x,y = corner.ravel()
cv2.circle(image,(x,y),5,(36,255,12),-1)

cv2.imshow('image', image)
cv2.waitKey()

关于opencv - 如何找到图像中的极角点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58405171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com