我尝试在这张图片中寻找形状不同的岩石。
![image](https://istack.dev59.com/UWEGp.webp)
(来源:nasa.gov) 边缘检测没有给我满意的结果。
更新2:我有几张类似于下面这张图片的图像,其中岩石(大型)非常清晰可见。边缘检测再次在图像上产生了不令人满意的结果。我只是想寻找可以尝试的方法。如果您建议一种方法,请添加相关链接,以便我可以更多地阅读,我是opencv的新手。![](https://istack.dev59.com/XzyWT.webp)
(来源:nasa.gov)
![image](https://istack.dev59.com/UWEGp.webp)
(来源:nasa.gov) 边缘检测没有给我满意的结果。
我已经了解过grabcut,但是没有得到令人满意的结果。你有什么建议吗?
PS - 我的最终目标是用不同的颜色标记图像中的这些岩石。
更新1: 这是我用于边缘检测的代码。
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('image1.JPG',0)
edges = cv2.Canny(img,255,255)
plt.subplot(121),plt.imshow(img,cmap = 'gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(edges,cmap = 'gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])
plt.show()
更新2:我有几张类似于下面这张图片的图像,其中岩石(大型)非常清晰可见。边缘检测再次在图像上产生了不令人满意的结果。我只是想寻找可以尝试的方法。如果您建议一种方法,请添加相关链接,以便我可以更多地阅读,我是opencv的新手。
![](https://istack.dev59.com/XzyWT.webp)
(来源:nasa.gov)