OpenCV + Python で、グラデーション画像を作成する方法を紹介します。
今回は、とにかくシンプルなコードを目指します。たぶんネットで検索して出てくるサンプルコード中で最も、コードの行数が少ないのでは?と思ってます。
サンプルコード
縦方向の線形グラデーション
以下は、縦方向への線形グラデーション画像を作成するサンプルコードです。
import cv2
import numpy as np
height = 200 #縦
width = 300 #横
img = np.zeros((height, width, 3), np.uint8)
#青色のグラデーションの作成
for h in range(0, height):
color = int(255 * (height - h) / height)
img[h, :] = [255, color, color]
cv2.imwrite('color_img.jpg', img)
実行すると、以下のような画像が作成されます。
グラデーションの向きを反転させる場合は、次のように書きます。
for h in range(0, height):
color = int(255 * h / height)
img[h, :] = [255, color, color]
↓実行結果
横方向の線形グラデーション
今後は、横方向の線形グラデーションを作成してみます。
基本は縦向きのグラデーションと同じで、横方向に徐々に色を変化させていきます。
import cv2
import numpy as np
height = 200 #縦
width = 300 #横
img = np.zeros((height, width, 3), np.uint8)
#青色のグラデーションの作成
for w in range(0, width):
color = int(255 * (width - w) / width)
img[:, w] = [255, color, color]
cv2.imwrite('color_img.jpg', img)
実行すると、以下のような画像が作成されます。うん、横向きですね!
グラデーションの向きを反転させる場合は、次のように書きます。
for w in range(0, width):
color = int(255 * w / width)
img[:, w] = [255, color, color]
↓実行結果
0 件のコメント:
コメントを投稿