【发布时间】:2021-12-27 17:14:00
【问题描述】:
我希望你做得很好。 我想计算给定颜色图像中的角点。就像蓝色有两种形状我怎么能找到和计算角点
我使用了以下代码,但它发现形状的角不是颜色
import cv2
import numpy as np
import matplotlib.pyplot as plt
def cornerpoint(img):
img = cv2.imread(img)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv2.cornerHarris(gray,5,3,0.04)
ret, dst = cv2.threshold(dst,0.1*dst.max(),255,0)
dst = np.uint8(dst)
ret, labels, stats, centroids = cv2.connectedComponentsWithStats(dst)
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 100, 0.001)
corners = cv2.cornerSubPix(gray,np.float32(centroids),(5,5),(-1,-1),criteria)
for i in range(1, len(corners)):
print(corners[i])
img[dst>0.1*dst.max()]=[0,0,0]
plt.imshow(img)
cornerpoint('/content/shapes.png')
如何计算给定颜色图像中的角点?
【问题讨论】:
-
这是实物图还是说明图?
-
@YvesDaoust 这是真实的图像我要处理这个图像
-
@Piglet 但这就像我不想使用它的跟踪栏
-
对颜色的过滤并不太难(擦除所有不是很接近纯色的像素)。
标签: python opencv image-processing opencv-contour