前提・実現したいこと
輪郭から作成したマスク画像と元の画像の&をとって、元の画像を切り抜きたい
発生している問題・エラーメッセージ
元の画像とマスク画像の&をとった結果の画像が真っ黒になる
該当のソースコード
python
1import numpy as np 2import cv2 3import matplotlib.pyplot as plt 4 5#関数定義 6def cannyprocess(img): 7 edges = cv2.Canny(img,100,200) 8 cv2.imwrite("canny\can.png",edges)#エッジ画像保存 9 can_img = cv2.imread("canny\can.png")#エッジ画像の読み込み 10 return can_img 11 12def contourprocess(img): 13 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 14 image, contours, hierarchy = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 15 return contours 16 17def maskgenerate(img): 18 back = np.zeros_like(img) 19 cont = contourprocess(cannyprocess(img)) 20 mask = cv2.drawContours(img, cont, -1, color=(0, 255, 0), thickness=-1) 21 mask = cv2.bitwise_not(mask) 22 cv2.imwrite("mask\mask.png",mask) 23 return mask 24 25def maskprocess(base_img, mask_img): 26 clip = cv2.bitwise_and(base_img,mask_img) 27 cv2.imwrite("clip\clip.png",clip) 28 return 0 29#関数定義 30 31img = cv2.imread("base\download.png",0)#元画像読み込み 32 33maskprocess(img, maskgenerate(img)) 34
試したこと
補足情報(FW/ツールのバージョンなど)
python 3.6.8
opencv 3.4.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/07/10 03:39
2019/07/10 03:47
退会済みユーザー
2019/07/10 03:59
退会済みユーザー
2019/07/10 04:05