前提・実現したいこと
以下の画像に対して、大きい枠ではなく小さい枠の抽出を行い、抽出できたものを別画像ファイルにして保存したいです。
具体例としては、以下のように赤い部分を検出して別画像ファイルにして保存するということです。
現状のプログラムだと、線を全部赤色にしてしまいます。そこで、小さい枠のみ検出し、別の画像として保存できる方法を教えてください。よろしくお願いいたします。
発生している問題・エラーメッセージ
小さい枠の画像のみを検出する方法
複数の画像を切り出して別画像ファイルにして保存する方法
該当のソースコード
#モジュールインポート import cv2 as cv2 import numpy as np import matplotlib.pyplot as plt # ファイルを読み込み img = cv2.imread('img/img.jpg', cv2.IMREAD_COLOR) # グレースケール化 img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) #二値化 img_niti = cv2.adaptiveThreshold(img_gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,11,9) #二値化した画像を保存 cv2.imwrite('img/niti/img_niti.jpg', img_niti) #輪郭検知 img_1, contours, hierarchy = cv2.findContours(img_niti, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) img = cv2.drawContours(img, contours, -1, (0,0,255), 3) #結果を保存 cv2.imwrite('img/result/niti_result.jpg', img)
回答1件
あなたの回答
tips
プレビュー