首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从颗粒图像中区分有缺陷的颗粒

从颗粒图像中区分有缺陷的颗粒
EN

Stack Overflow用户
提问于 2020-06-18 18:59:01
回答 1查看 88关注 0票数 2

我正在尝试使用图像处理工具将颗粒分为有缺陷的和无缺陷的,比如Python中的OpenCV。其中一张图片如图所示。

我首先使用HSV空间通过测距分别分割出颗粒,并应用了一些边缘检测算法,如canny,自适应阈值,但我可以找到一个特殊的方法来解决这个问题,因为我最近开始探索,我仍然在探索图像处理的能力。

有缺陷的:

无缺陷:

我有两个问题:

1)如果我使用如上所示的edge_detected图片,则使用什么度量来区分颗粒。

2)由于在无缺陷ones.Is的第三张图像中使用canny的边缘检测失败,因此我可以依赖任何其他功能。

EN

回答 1

Stack Overflow用户

发布于 2020-06-19 00:30:50

举个例子:

代码语言:javascript
复制
import cv2
import numpy as np
img=cv2.imread('YfClv.jpg')
#convert to hsv
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
#color definition
blue_lower = np.array([100,118,33])
blue_upper = np.array([119,255,160])
#blue color mask (sort of thresholding, actually segmentation)
mask = cv2.inRange(hsv, blue_lower, blue_upper)
se=cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (20, 20))
mask=cv2.dilate(mask, se)
mask=cv2.bitwise_not(mask)
edges = cv2.Canny(img,300,100) #find edges
out=cv2.bitwise_and(edges, mask) #xor for testing
#cv2.imshow('test', out)
cv2.imwrite('bad_seeds.png', out)

结果,内侧边缘:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62448433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档