2024-03-29 04:48:54 发布
网友
我正在测试一些图像处理,从数字指纹中获取细节。到目前为止我在做:
所以,我得到的修改是:
但是,我无法获得最后一幅图像中可能的角点,它属于Mat对象的thinned实例。在
Mat
thinned
这是尝试获取弯角的代码:
corners_image = cornerHarris(thinned,1,1,0.04) corners_image = dilate(corners_image,None)
但是在结果矩阵上尝试imshow会显示如下内容:
imshow
一个黑色图像。在
那么我应该如何确定角呢?在
实际上,cv::cornerHarris返回corener响应,而不是转角本身。看起来你的图像上的响应太小了。在
cv::cornerHarris
{如果你想在原始图像上标记一些更大的点,那么你可能会得到一些更大的点:
corners = cv2.cvtColor(thinned, cv2.COLOR_GRAY2BGR) threshold = 0.1*corners_image.max() corners [corners_image>threshold] = [0,0,255] cv2.imshow('corners', corners)
然后您可以调用imshow,红色的点将对应于角点。很可能您需要调整threshold参数以获得所需的结果。在
请参阅tutorial中的更多详细信息。在
实际上,
cv::cornerHarris
返回corener响应,而不是转角本身。看起来你的图像上的响应太小了。在{如果你想在原始图像上标记一些更大的点,那么你可能会得到一些更大的点:
然后您可以调用
imshow
,红色的点将对应于角点。很可能您需要调整threshold参数以获得所需的结果。在请参阅tutorial中的更多详细信息。在
相关问题 更多 >
编程相关推荐