我有PS /聚苯乙烯(http://en.wikipedia.org/wiki/Polystyrene)塑料颜色.PS是加工后的透明材料。有时加工气泡。 我想用OpenCV检测这个气泡。我该怎么办?检测气泡的步骤是什么?
这是我想要检测的泡泡。 http://goo.gl/frnD8Y
答案 0 :(得分:0)
检测气泡的最佳方法是使用它们具有高表面曲率的事实。高曲率意味着它将反射几乎在任何方向上放置的光线,而平面表面的反射仅在有限的视点范围内可见。如果你引入一些光源,你的布雷会明显变亮,而背景则不会。然后你就可以达到它的门槛。
或者,您可能希望首先使用颜色找到一个带,然后在一个带内使用移动窗口中的总和找到一个渐变簇。要使用buc调零,可以使用openCV拟合椭圆函数将椭圆拟合到其渐变中。
答案 1 :(得分:0)
从给定的图像中,您可以使用以下代码对其进行分段。如果有气泡,边缘会变暗。所以你可以轻松分割
import numpy as np
import cv2
from matplotlib import pyplot as plt
plt.ion()
filteredContour = []
img = cv2.imread('buble.png')
grayImage = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
binaryImage = np.uint8((grayImage < 20) *1)
plt.imshow(binaryImage)
另一种检测气泡的方法是从侧面提供光线并从顶部使用相机。然后你就可以轻松分割。