2016-06-16 3 views
0

カメラからディスクに画像を保存したくないので、以下のコードのようにPIL画像をパラメータとして渡そうとしていますPython PIL画像をパラメータとして渡して別の関数で処理する方法

私は別の関数からこれをアクセスして、いくつかの画像処理を行いたい

配列= np.array(配列) イム= Image.fromstring( "RGB"、(imageWidth、imageHeight)、配列) 戻りイム

以下:

lower_blue = np.array([50, 0, 0]) 
upper_blue = np.array([255, 50, 50]) 

lower = np.array(lower_blue, dtype = "uint8") 
upper = np.array(upper_blue, dtype = "uint8") 

mask = cv2.inRange(image, lower, upper) 
cv2.imwrite("mask.png",mask) 
output = cv2.bitwise_and(image, image, mask = mask)  
cv2.imwrite("output.png",output) 
thresh = 90 

gray = cv2.cvtColor(output,cv2.COLOR_BGR2GRAY) 
edges = cv2.Canny(gray,thresh,thresh*2) 
cv2.imwrite("edges.png",edges) 

私はgetanエラー "srcはnumpyの配列やスカラーではありません" これをどのようにパラメータとして渡すことができますか?もしそうでなければ、どうやって画像をメモリに渡してから読み込むことができますか?

私はnp.arrayを使って変換しようとしましたが、得られるのは赤い画像です。元の画像はうまく解釈されません。

答えて

0

私は以下のコードを使用して動作させることができましたが、これは正しい方法ですか? image = cv2.imdecode(np.fromstring(im、dtype = 'uint8')、cv2.IMREAD_UNCHANGED)

関連する問題