首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测材料

检测材料
EN

Stack Overflow用户
提问于 2019-03-02 10:48:49
回答 1查看 57关注 0票数 1

嗨,我正在调查下面这样的材料:

我试着去探测棕色的晶体,做圆形的探测或矩形的检测,但是仍然有很多噪声。

我试着在下面使用hsv:

代码语言:javascript
复制
canny = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower_red = np.array([15,10,50])
upper_red = np.array([150,110,160])
edged = cv2.inRange(canny, lower_red, upper_red)

..。或者用这个。但没人帮我。

代码语言:javascript
复制
imgray= cv2.GaussianBlur(imgray, (7,7),0)
ret, thresh = cv2.threshold(imgray, 237, 28, 37)
edged = cv2.Canny(imgray, 5, 5)
edged = cv2.dilate(edged, None, iterations=1)
edged = cv2.erode(edged, None, iterations=1)

有什么我能做的吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-02 11:17:53

我认为你正在寻找的是一个形态学密切的操作。

代码语言:javascript
复制
from PIL import Image
import cv2
import matplotlib.pyplot as plt

img = Image.open('./n2JCm.png')

img_np = np.array(img)

img_np_rgb = cv2.cvtColor(AA,cv2.COLOR_RGBA2RGB)

plt.figure(figsize=(35,35))
plt.imshow(cv2.morphologyEx(img_np_rgb,cv2.MORPH_CLOSE,np.ones((2,2)),iterations=10))

你会得到这样的东西:

应该能把你的小污垢清除掉。

我也会尝试使用KMeans或DBScan进行聚类。

代码语言:javascript
复制
from sklearn import cluster

model = cluster.KMeans(3)

plt.figure(figsize=(35,35))
plt.imshow(model.fit_predict(img_np_rgb.reshape((-1,3))).reshape(img_np_rgb.shape[:2]))

或者其他的聚类算法。

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

https://stackoverflow.com/questions/54957670

复制
相关文章

相似问题

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