2017-08-10 11 views
0

私はウェブからダウンロードした画像(キャプチャ)を持っています。cv2 imread transparencyが消えた

Initial Image

私はOpenCVのためにロードされたとき、その性質を失うように見えるか、単に暗い/黒い色で透明な背景をミックス:

Processed Image

現在のコードがロードAが、何もしませんもう一度書き直してください:

captchaImg = cv2.imread('captcha1.png') 
cv2.imwrite("captcha2.png", captchaImg) 

オプション0,1,2,3結果は同じです。

答えて

0

これはopencvの問題であり、opencvの解決策がありますが、複雑であるため、別のlibary(PIL)を使用していました。 基本的には、透明なものの後ろに白いイメージを置き、問題を解決することです。 コードは以下の通りです:

image = Image.open("captcha1.png") 
image.convert("RGBA") 
canvas = Image.new('RGBA', image.size, (255,255,255,255)) # Empty canvas colour (r,g,b,a) 
canvas.paste(image, mask=image) # Paste the image onto the canvas, using it's alpha channel as mask 
canvas.save("captcha1.png", format="PNG") 

私はそれが同じ問題を持つ人に役立ちます願っています。

0

提供された定数を使用すると役立ちます。

captchaImg = cv2.imread('captcha1.png', cv2.IMREAD_UNCHANGED) 

アルファチャンネル(ある場合)を読み込みます。 REPLによれば、cv2.IMREAD_UNCHANGEDは-1

関連する問題