パイソン----- OpenCVの画像境界拡張

画像のコンボリューション処理は、テンプレートのコンボリューション(畳み込みカーネル)が大きすぎると、元の境界を拡大した上で、画像のサイズを処理した後に得られるつながるされていない場合は、深刻な歪みである、あまりにも小さくなると。

そして、境界を拡大する多くの方法があり、本論文では、これらの方法を埋める方法を説明します。

  1. これは、元の画像です。

    画像(のpython-のOpenCV)の境界を拡張するには?
     
     
  2.  外向きの画像を拡大画像の境界ピクセルの値を、各方向に50個の画素の拡張。

    = cv2.copyMakeBorder(IMG、50,50,50,50、cv2.BORDER_REPLICATE)

    画像(のpython-のOpenCV)の境界を拡張するには?
     
     
  3.  境界50近傍の画素は、(軸対称)を折られます。

    = cv2.copyMakeBorder(IMG、50,50,50,50、cv2.BORDER_REFLECT)

    画像(のpython-のOpenCV)の境界を拡張するには?
     
     
  4.  これは別の屈折です。

    = cv2.copyMakeBorder(IMG、50,50,50,50、cv2.BORDER_REFLECT_101)

    私は何の違いを知りません。

    画像(のpython-のOpenCV)の境界を拡張するには?
     
     
  5. 定数中綿:

    = cv2.copyMakeBorder(IMG、50,50,50,50、cv2.BORDER_CONSTANT、値= [0,255,0])

    画像(のpython-のOpenCV)の境界を拡張するには?
     
     
  6. = cv2.copyMakeBorder(IMG、50,50,50,50、cv2.BORDER_WRAP)

    画像(のpython-のOpenCV)の境界を拡張するには?

 

 

  Srcは、次の行列を想定します

  

 

 

  私たちは最初の一方向だけでは、そのようなトップ方向との議論、:

  トップ= 5または10、底部= 0、右= 0、0を左、トップ値、すなわち、行数行SRCより大きい故意ここで注意してください。表示結果

  borderType = BORDER_REFLECT:反射

  

 

 

 

  説明:プレスBORDER_REFLECTは、SRC反射SRCに従って、境界まで追加追加されます。
  borderType = BORDER_REPLICATE:コピー

  

 

 

   

  説明:BORDER_REPLICATEは、境界のみを代表してコピーします。

  = 5、ボトム= 5、左場合

  

 

 

 

  BORDER_TYPE = BORDER_REFLECT_101:

  

 

  説明:101、0は反射に参加しないことが示されています。その動作は第1のミラーで、反射が行います

 

  サンプルコード:

  

インポートCV2の
pic_path = R ' F:\ TEMP \ temp_0807 \デフ\ coco_0717 \ JPEGImages \ 000000049901.jpg ' 
IMG = cv2.imread(pic_path)
tar_img = cv2.copyMakeBorder(IMG、0,50,0,50、cv2.BORDER_CONSTANT 、値= [0,0,0])
cv2.imwrite(pic_path、tar_img)

 

 

  オリジナルリンクします。https://jingyan.baidu.com/article/e73e26c096074e24adb6a736.html

  オリジナルリンクします。https://blog.csdn.net/zhangping1987/article/details/51141658

おすすめ

転載: www.cnblogs.com/xiaodai0/p/11589881.html