- NumPyを使用してラジアルグラデーションを作成する方法: NumPyはPythonの数値計算ライブラリであり、配列操作に便利です。次のコードは、NumPyを使用してラジアルグラデーションを作成する例です。
import numpy as np
def radial_gradient(width, height, center, color_center, color_outer):
y, x = np.ogrid[:height, :width]
distance = np.sqrt((x - center[0]) 2 + (y - center[1]) 2)
gradient = (distance / distance.max()) * (color_outer - color_center) + color_center
return gradient
width = 100
height = 100
center = (50, 50)
color_center = np.array([255, 255, 255]) # 中心の色 (白)
color_outer = np.array([0, 0, 0]) # 外側の色 (黒)
gradient = radial_gradient(width, height, center, color_center, color_outer)
print(gradient)
このコードでは、radial_gradient
関数を定義して、指定された幅と高さの配列内にラジアルグラデーションを生成します。center
はグラデーションの中心座標を示し、color_center
とcolor_outer
は中心と外側の色を示します。出力は指定された幅と高さの配列です。
- OpenCVを使用してラジアルグラデーションを作成する方法: OpenCVは画像処理ライブラリであり、簡単に画像操作を行うことができます。次のコードは、OpenCVを使用してラジアルグラデーションを作成する例です。
import cv2
import numpy as np
def radial_gradient(width, height, center, color_center, color_outer):
gradient = np.zeros((height, width, 3), dtype=np.uint8)
for y in range(height):
for x in range(width):
distance = np.sqrt((x - center[0]) 2 + (y - center[1]) 2)
gradient[y, x] = (distance / distance.max()) * (color_outer - color_center) + color_center
return gradient
width = 100
height = 100
center = (50, 50)
color_center = np.array([255, 255, 255]) # 中心の色 (白)
color_outer = np.array([0, 0, 0]) # 外側の色 (黒)
gradient = radial_gradient(width, height, center, color_center, color_outer)
cv2.imshow("Radial Gradient", gradient)
cv2.waitKey(0)
cv2.destroyAllWindows()
このコードでは、radial_gradient
関数を定義して、指定された幅と高さの画像内にラジアルグラデーションを生成します。center
はグラデーションの中心座標を示し、color_center
とcolor_outer
は中心と外側の色を示します。出力は画像です。
これらはPythonで配列内にラジアルグラデーションを作成するための一般的な方法です。他にもさまざまなアプローチがありますが、上記のコードは基本的なものです。必要に応じて、配列の形式や色の指定方法などをカスタマイズしてください。