OpenCV(python)で外接長方形にそって画像を切り出す
調べるより書いたほうが速いコードですけどブログのネタがないんですね.
対象画像
ここから赤丸の外接長方形にそって画像を切り出します.
コード
def bounding_rect_img(img): """ 外接長方形を切り出して画像として返す :param img: 入力画像 :return: 出力画像 """ img_g = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # boundingRectが1チャンネルしか対応してないため変換する x, y, w, h = cv2.boundingRect(img_g) crop = img[y:y+h, x:x+w] return crop def main2(): img = cv2.imread("image_path") crop = bounding_rect_img(img) cv2.imwrite("save_path", crop) if __name__ == '__main__': main2()
結果
コメント
白背景の場合はcv2.bitwise_not()とか使ってください.