OpenCV

画像処理 「OpenCV 4」lineTypeを確認する

引数にあった、lineTypeの挙動を確認しておきます。

  • 8 (or omitted) – 8-connected line.
  • 4 – 4-connected line.
  • CV_AA – antialiased line.

アンチエイリアスの効果がどのようなものか、実際の描画結果で確認してみます。

サンプルコード

import cv2
import numpy as np
import matplotlib.pyplot as plt

# キャンバスの準備
# キャンバスを縦横5px、BRG、8ビットの符号なしIntで作成
canvas = np.zeros((50, 50, 3), dtype="uint8")
# 黒で塗りつぶし
canvas[:] = [0, 0, 0]

cv2.line(canvas, (5, 10), (40, 45), (255, 0, 0), 1, 16)
cv2.line(canvas, (7, 7), (42, 42), (255, 0, 0), 1, 8)
cv2.line(canvas, (10, 5), (45, 40), (255, 0, 0), 1, 4)

# 描画結果を表示
fig = plt.figure(figsize=(10.0, 10.0))
plt.imshow(canvas)
plt.show()
実行結果(左下から CV_AA, 8-connected, 4-connected)