小编Med*_*018的帖子

图像中土壤颗粒分水岭以外的替代分割技术

我正在寻找一种替代方法来分割以下土壤颗粒图像中的颗粒,而不是在 python 中进行分水岭分割,因为它可能会进一步误导对颗粒的正确检测,我正在研究边缘检测图像(使用 HED 算法)作为附上..我希望找到一种更好的方法来分割颗粒以进行进一步处理,因为我想在我的项目中获得图像中每个多边形的面积..在此先感谢我还询问随机游走分割或任何其他可用的方法。

在此处输入图片说明 在此处输入图片说明

python opencv image image-processing computer-vision

8
推荐指数
1
解决办法
978
查看次数

如何使用opencv python填充多边形

我想用白色填充这些多边形,并且通过对整个图像的循环重复此操作,因此我想知道可用于在 python 中使用 opencv 执行此操作的语法和函数 这是我的输入图像

在此处输入图片说明

alist=[]
img = cv2.imread('closing2.jpg',cv2.IMREAD_GRAYSCALE)
imo = cv2.imread('closing2.jpg',cv2.IMREAD_GRAYSCALE)
imr = cv2.imread('closing2.jpg',cv2.IMREAD_GRAYSCALE)*0
imac = imr
height , width  = imo.shape[:2]
a,im = cv2.threshold(img,200,255,cv2.THRESH_BINARY)
# i=100
# p=[i,i]
points = []
for j in range(0,1000,50):
    for i in range(0,1000,50):
        p=[i,j]
        poly = raypoly(im,p,5)
        st = metrics(p,poly)

        polyc=raypolyLimit(im,p,st,30)
        # print(polyc)
        # print(len(polyc))
        # for m in range(len(polyc)):
        #     point = polyc[m]
        #     cv2.fillConvexPoly(im, point, 255)
        plotpoly(polyc,imr)

        plotpolypoints(polyc,imr,255,1)
        # plotray(im,p,imr)

        am = polyArea(polyc)
        # print(am)
        if am > 5: …
Run Code Online (Sandbox Code Playgroud)

python opencv

6
推荐指数
1
解决办法
4704
查看次数

如何在opencv python中使用分水岭分割

我有一个问题,即如何使用 python 中的分水岭分割来单独分割该图像中的粒子。我的主要目标是通过应用过滤器中值模糊然后应用 Canny 边缘检测方法来去除噪声。

[![img = cv2.imread('sands.jpg')
img = cv2.medianBlur(img,7)
img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
imo = cv2.Canny(img,140,255)][1]][1]
Run Code Online (Sandbox Code Playgroud)

我想增强由 Canny 边缘检测功能产生的轮廓,因为我使用这些图像来检测图像内粒子的区域属性以估计面积。

在此处输入图片说明 在此处输入图片说明

python opencv image-processing computer-vision watershed

4
推荐指数
1
解决办法
4751
查看次数