【发布时间】:2014-07-28 17:34:05
【问题描述】:
我的代码如下:
import cv2; import numpy as np
class MyClass:
def __init__(self,imagefile):
self.image = cv2.imread(imagefile)
#image details
self.h,self.w = self.image.shape[:2]
#self.bPoints, self.wPoints = np.array([[0,0]]),np.array([[0,0]])
self.bPoints, self.wPoints = [],[]
#CAUTION! Points are of the form (y,x)
# Point filtering
for i in xrange(self.h):
for j in xrange(self.w):
if self.th2.item(i,j) == 0:
#self.bPoints = np.append([[i,j]], self.bPoints, axis=0)
self.bPoints.append((i,j))
else:
self.wPoints.append((i,j))
#self.wPoints = np.append([[i,j]], self.wPoints, axis=0)
#self.bPoints = self.bPoints[:len(self.bPoints) - 1]
#self.wPoints = self.wPoints[:len(self.wPoints) - 1]
self.bPoints, self.wPoints = np.array(self.bPoints), np.array(self.wPoints)
我想找到并将白色与黑色点分开。我已经评论了通过 numpy 显示可能(但非常慢)解决方案的行。你能给我推荐一个更好更快的解决方案吗?如果您这样做,我将不胜感激!
谢谢
【问题讨论】:
-
也许它需要添加一个关于你想要达到的目标的句子
-
正如我上面提到的,我想将二进制图像的黑点附加到
self.bPoints,将白色点附加到形状为(2,2)的数组self.wPoints
标签: python arrays opencv numpy