目前我正在尝试计算移动物体的光流。具体来说,是围绕圆形旋钮周围的正方形:
我的担忧在于右下方最靠近边缘的部分。当我尝试使用Canny Edge检测或GoodFeaturesToTrack时,通常无法检测到两个正方形。我目前正在尝试锐化内核和阈值,然后进行形态学变换以找到轮廓区域。但是,当我进行阈值处理时,会得到以下结果:
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
filename = 'images/Test21_1.tif'
image = cv.imread(filename)
kernel = [ [0, -1, 0], [-1, 5, -1], [0, -1, 0] ] #sharpen kernel I got from wikipedia
kernel = np.array(kernel)
dst = cv.filter2D(image, -1, kernel)
ret, thresh = cv.threshold(dst, 80, 150, cv.THRESH_BINARY_INV)
plt.subplot(121),plt.imshow(image),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(thresh),plt.title('Threshold')
plt.xticks([]), plt.yticks([])
plt.show()
我想知道如何在openCV中识别这个正方形。这些正方形是视频中移动的物体,我希望使用它们来计算光流。我目前正在考虑使用PyTorch CNN来检测特征。我会手动标注图像以进行训练/测试数据集,但我认为可能有点过度杀伤力。谢谢您的时间。