【OpenCV】画像の一部のみ処理するROIの設定について【Python版】
はじめに
かなり前に、画像の一部のみ処理するROIの設定について【OpenCV2.x,3.x】という記事を書いていましたが、
最近は、C++を使わず、Pythonばかりいじるようになってきたので、Python版のROI設定をメモ書きしようと思います。
サンプルコード
サンプルコードは前回と同じ、画像のぼかし処理です。
##
# cording:utf-8
##
import numpy as np
import cv2
def main():
# 画像入力
img = cv2.imread("test.jpg")
print(img.shape)
# 処理領域を設定(left(x1), top(y1), right(x2), bottom(y2))
roi = (937,218, 1280, 350)
# 出力の初期化(入力画像を複製)
dst_img = img.copy()
# ROI領域を抜き出し、抜き出した画像をぼかす
# [top:bottom, left:right] 順序
s_roi = img[roi[1]: roi[3], roi[0]: roi[2]]
s_roi = cv2.blur(s_roi, (30, 30)) # ぼかし処理
# 出力画像の同じ箇所に埋め込み
dst_img[roi[1]: roi[3], roi[0]: roi[2]] = s_roi
# ぼかした領域をわかりやすくするために入力画像に矩形描画
rect_img = img.copy()
cv2.rectangle(rect_img, (roi[2],roi[3]), (roi[0],roi[1]), (0, 255, 0), 2)
# 描画
cv2.namedWindow("image", cv2.WINDOW_AUTOSIZE | cv2.WINDOW_FREERATIO)
cv2.namedWindow("dst_image", cv2.WINDOW_AUTOSIZE | cv2.WINDOW_FREERATIO)
cv2.imshow("image", rect_img)
cv2.imshow("dst_image", dst_img)
cv2.waitKey()
cv2.destroyAllWindows()
if __name__ == '__main__':
main()
結果
今回もあかりちゃんに犠牲になってもらいました。
犠牲の犠牲にな・・・
緑の枠の部分をぼかしています。
Author And Source
この問題について(【OpenCV】画像の一部のみ処理するROIの設定について【Python版】), 我々は、より多くの情報をここで見つけました https://qiita.com/wakaba130/items/3a9f0dd23dfacc5b4602著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .