我正在使用Open CV来检测对象的边缘。当我使用相机拍摄图像并应用canny边缘也进行形态学操作但它没有给出物体的实际边缘点。我怎样才能得到这一点?
答案 0 :(得分:0)
您可以使用其他边缘检测算法或不同的阈值进行边缘检测。
答案 1 :(得分:0)
我正在使用扩张和高斯模糊和扩张进行边缘检测。
Imgproc.GaussianBlur(imgSource, imgSource, new Size(11, 11), 0);
// Imgproc.Canny(imgSource, imgSource, 20, 60);
// 2) AdaptiveThreshold -> classify as either black or white
Imgproc.adaptiveThreshold(imgSource, imgSource, 255,
Imgproc.ADAPTIVE_THRESH_MEAN_C, Imgproc.THRESH_BINARY, 5, 2);
// 3) Invert the image -> so most of the image is black
Core.bitwise_not(imgSource, imgSource);
// 4) Dilate -> fill the image using the MORPH_DILATE
Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_DILATE,
new Size(3, 3), new Point(1, 1));
Imgproc.dilate(imgSource, imgSource, kernel);