画像の拡大と縮小


画像の拡大と縮小


  • 寸法の変換
  • の画像のサイズを元の画像
  • より大きくまたは小さくする.
  • xおよびy軸方向で
  • をスケーリングする.


  • 画像サイズの変換
  • cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None) -> dst

  • src:ビデオ入力

  • dsize:結果としてビデオサイズは(w,h)tupleであった.(0,0)fxとfy値から決定

  • dst:ビデオを出力する

  • fx、fy:xおよびy方向のスケール(dsize=0の場合有効)

  • 補間:補間を指定します.デフォルトはcv 2です.INTER_LINEAR
  • cv2.INTER NEAREST:一番近い部屋の隣人補間
  • cv2.INTER LINEAR:リニア補間(2*2隣接画素)
  • cv2.INTER CUBIC:三次線補間(4*4隣接画素)
  • cv2.INTER LANCPOS 4:Lanczos補間(8*8隣接画素)
  • cv2.INTER AREA:
  • ビデオ圧縮に適しています
  • src = cv2.imread('rose.bmp') # 480x320
    
    dst1 = cv2.resize(src, (0, 0), fx=4, fy=4, interpolation=cv2.INTER_NEAREST)
    dst2 = cv2.resize(src, (1920, 1280)) # cv2.INTER_LINEAR
    dst3 = cv2.resize(src, (1920, 1280), interpolation=cv2.INTER_CUBIC)
    dst4 = cv2.resize(src, (1920, 1280), interpolation=cv2.INTER_LANCZOS4)
    
    cv2.imshow('src', src)
    cv2.imshow('dst1', dst1[500:900, 400:800])
    cv2.imshow('dst2', dst2[500:900, 400:800])
    cv2.imshow('dst3', dst3[500:900, 400:800])
    cv2.imshow('dst4', dst4[500:900, 400:800])
    cv2.waitKey()
    
    cv2.destroyAllWindows()

  • ビデオの削減に関する注意事項
  • ディテール消失時は
  • 入力ビデオ平滑フィルタリング後縮小、多段縮小
  • cv2.resize()関数では、cv 2です.INTER AREAフラグ
  • の使用

    ミラーリング

  • ミラー

  • ミラー
  • cv2.flip(src, flipCode, dst=None) -> dst

  • src:ビデオ入力

  • flipcode:逆方向
  • 正数(+1):左右対称
  • 0:上下対称
  • 負数(-1):左右対称

  • dst:ビデオを出力する