我想识别图像中的特定形状(在这种情况下为椭圆形),该形状具有笛卡尔坐标或极坐标中的坐标,或者该形状的精确图像。我目前正在处理要在图片中匹配的图像。
我对Python比较陌生,我目前正在学习这个项目,这是我自己写的。现在,我试图弄清楚如何识别正确的解决方案变体。
这是用于透明对象的自动处理系统,该系统应该检测到对象,覆盖现有形状的图像,然后计算中间值。
我尝试了某种Canny,然后与findContours一起使用,由于图片中有很多杂色和其他多边形,这给了我不愉快的结果。
我使用ORB方法进行了尝试,但这也没有给出我想要的结果。
此后,我使用Blob检测器进行了尝试,但效果不佳。
import cv2
import numpy as np
import imutils
from matplotlib import pyplot as plt
from pylab import rcParams
rcParams['figure.figsize'] = 18, 18
#Read Image for matching in GRAY
match = cv2.imread('/home/robin/Bilder/match3.png', 0)
#Read Image to match in GRAY
orig = cv2.imread('/home/robin/Bilder/IMG_2848.JPG', 0) #Image for Searching
thresh2 = cv2.adaptiveThreshold(match, 255, cv2.ADAPTIVE_THRESH_MEAN_C,
cv2.THRESH_BINARY, 7, 5)
resized = imutils.resize(orig, width=1000)
ratio = resized.shape[0] / float(resized.shape[0])
blur = cv2.GaussianBlur(resized, (5, 5), 0)
bilat = cv2.bilateralFilter(blur, 10, 5, 1)
deno = cv2.fastNlMeansDenoising(bilat,None,18,5,10)
thresh = cv2.adaptiveThreshold(deno, 255, cv2.ADAPTIVE_THRESH_MEAN_C,
cv2.THRESH_BINARY, 7, 5)
plt.subplot(121), plt.imshow(thresh, cmap = 'gray')
@HansHirse对不起,我完全忘记添加图片了!
我试图在摄像机快照(Pic1)中检测到一个椭圆,在该椭圆中我的形状是短轴和长轴(此处为70mm和60mm)。基本上,我想为程序提供某种形式(圆形,椭圆形等),并且应该在原始图片中标记出这种确切形式(带有旋转和平移)。