在上面的源图像(源图像1,图像2)中,我想找到最拐角点,并得到与目标图像1,图像2类似的点,就像我画出的红色圆圈点一样。
实际上,我研究了Harris,Shi Tomasi算法,但并不是那么极端。
实际上,我已经尝试使用Java代码 goodFeaturesTotrack ,例如:
az login
# upload certificate to Azure key vault
az keyvault certificate import --file "E:\Cert\P2SChildCert.pfx" --password "" --name "test1234" --vault-name "testkey08"
# download certificate as pfx file
az keyvault secret download --file "test2.pfx" --vault-name "testkey08" --name "test1234" --encoding base64
# upload the pfx file to Azue web app
az webapp config ssl upload --certificate-file "test2.pfx" --name "andywebsite" --resource-group "andywebbot" --certificate-password "" --query thumbprint --output tsv
结果图像如下:
虽然它可以找到一些蓝色的特征点,但是却不如我显示的目标图像1,图像2那样极端。
那么,您是否有个好主意来找到具有特殊字符的角点?
答案 0 :(得分:0)
您可以使用cv2.goodFeaturesToTrack()
进行拐角检测。该函数有四个参数
corners = cv2.goodFeaturesToTrack(image, maxCorners, qualityLevel, minDistance)
image
-输入8位或浮点32位灰度单通道图像maxCorners
-要返回的最大拐角数qualityLevel
-0-1之间的最小可接受角点质量等级。低于质量级别的所有角落minDistance
-拐角之间的最小欧几里得距离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()
答案 1 :(得分:0)