2017-08-31 60 views
1

我想从一幅图像中提取绿色矢量。图像上有红色和绿色的点,并制定电网从一幅图像中提取绿色矢量

def each_green_vector(im): 
    pixels = im.load_image(im) 
    utils.apply_to_each_pixel(pixels, lambda x: 0.0 if x >10 else 1.0) 

    msize = m_mesh.rows*m_mesh.cols; 
    (x, y) = imsize 
    vec = [] 
    for i in range(1,x -1): 
     for j in range (1, y -1): 
      grid = grid_at(pixels, i, j) 
      if grid != "none": 
       if grid ==1: 
        vec.append((i,j)); 
        gx = list[i].x/m_mesh.gWidth; 
        gy = list[i].y/m_mesh.gHeight; 
        grid = gx + gy *m_mesh.cols; 
        vec[grid] == 1; 
    return vec 
+0

一个可能的解决办法是使用OpenCV的,在HSV转换,然后绿颜色的面具。 – Mathieu

回答

0

一种可能的方式我能想到的是使用misc库SciPy的的。这link可以给你更多的细节,但基本的思路是这样的

from scipy import misc 
arr = misc.imread(im) # 640x480x3 array 
arr[20, 30] # all 3 vectors of a pixel 
arr[20, 30, 1] # only green value for a pixel