2017-02-08 5 views
0

誰でも私に好ましくはMATLAB/Python/Javaで任意のライブラリ/関数を知らせることができますか?黒で&の白い画像をカーブで取り、xとy成分を記述する2つの配列を返します?画像から曲線をxy平面に写像する

私の最初のアイデアは、そのような写真を論理的なマトリックスに写像し、そこからポジションを取ることでした。欠点は、私は整数値だけで作業し、浮動小数点数への再スケーリングは不可能であるということです。

、このような画像の例は、私は、これは、粗である知っているが、それが動作しているようです

enter image description here

+0

numpyライブラリを使用できますか? – ZdaR

+0

"xとy成分を記述する2つの配列"という意味は、私には少し不明です。すべての黒のピクセルの座標?しかし、灰色のピクセルは何ですか?私があなたを正しく理解していれば、絵を描くのに使われた実際のパスを表現したいのですか?たとえば、inkscapeを使用してビットマップをベクトル化しようとする必要があります。 – Fritz

+0

あなたは確かにpythonでそれを枕とnumpyで行うことができます。 – Jannick

答えて

0

です。

from PIL import Image 
# 
print "\nStarting script" 
# 
# Load the image 
im = Image.open('Pixels_Test_Image.png') 
px = im.load() 
# 
# Determine the image size 
width, height = im.size 
print "width, height = " + str(width) + ", " + str(height) 
# 
# Loop over each pixel and test rgb values to find black pixels 
non_white_i_pixel = [] 
non_white_j_pixel = [] 
i_pixel = 0 
set_limit = 100 
while i_pixel < width: 
    j_pixel = 0 
    while j_pixel < height: 
     r, g, b, xx = (px[i_pixel, j_pixel]) 
     #print i_pixel, j_pixel, a, b, c, d 
     if(r < set_limit and g < set_limit and b < set_limit): 
      non_white_i_pixel.append(i_pixel) 
      non_white_j_pixel.append(j_pixel) 
     j_pixel += 1 
    i_pixel += 1 
# 
print "len(non_white_i_pixel) = " + str(len(non_white_i_pixel)) 
print "len(non_white_j_pixel) = " + str(len(non_white_j_pixel)) 
print non_white_i_pixel 
print non_white_j_pixel 
# 
print "\nFinished script" 
関連する問題