Pythonでの配列内のラジアルグラデーションの作成方法


  1. 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_centercolor_outerは中心と外側の色を示します。出力は指定された幅と高さの配列です。

  1. 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_centercolor_outerは中心と外側の色を示します。出力は画像です。

これらはPythonで配列内にラジアルグラデーションを作成するための一般的な方法です。他にもさまざまなアプローチがありますが、上記のコードは基本的なものです。必要に応じて、配列の形式や色の指定方法などをカスタマイズしてください。