2020年10月26日月曜日

Python+PillowでRGBノイズ画像を生成する

 最近、お出かけすることが減って、Pythonを勉強しています。

最終的には、Gimp-Pythonのスクリプトを自作できるようになれたらいいなと

思ったりしますが、Gimp-PythonってPython2でしか動かないっぽい?


Pythonというのは、プログラム言語の一つで、基本情報処理技術者試験に

採用されるほど業界で普及しているらしいです。

そのPython言語の、Pillowという画像ライブラリを使ったスクリプトです。

Pythonをインストールして、Pillowのライブラリをpipでインストールしておく必要があります。

以下にスクリプトのコードを書きます。


"""
PillowでRGBノイズ画像を生成する
"""
import random
from PIL import Image
def main():
    """
    RGBノイズ画像作成処理
    """
    # 画像サイズ
    WIDTH = 480
    HEIGHT = 480
    # ブロックの大きさ
    BLOCK_SIZE = 1
    # 画像サイズの端数を切り捨てる
    w = int(WIDTH / BLOCK_SIZE) * BLOCK_SIZE
    h = int(HEIGHT / BLOCK_SIZE) * BLOCK_SIZE
    # 画像インスタンスを作成
    im = Image.new("RGB", (w, h), (0, 0, 0))
    # 乱数をピクセル値とする
    for i in range(0,w, BLOCK_SIZE):
        for j in range(0,h, BLOCK_SIZE):
            r = int(random.random()*256)
            g = int(random.random()*256)
            b = int(random.random()*256)
            for k in range(BLOCK_SIZE):
                for l in range(BLOCK_SIZE):
                    im.putpixel((i+l,j+k), (r,g,b))
    # 画像を保存
    im.save("random_rgb.png")
    # 画像を表示
    im.show()
if __name__ == '__main__':
    # 画像作成処理を実行
    main()



上のスクリプトをUTF-8のエンコーディングで、拡張子 .py のファイルにして保存します。

Windowsだとコマンドプロンプト等を開いて、スクリプトを保存したフォルダにcdコマンドで移動して、


python スクリプトファイル名


で実行します。

実行すると、




こんな感じのノイズ画像が表示されると思います。

スクリプトの上のほうにある、BLOCK_SIZEを32にすると




なんかデザインっぽい画像になります。

どのくらい需要があるのか分かりませんが、お試しでコードをブログに載せてみました。




5年ほど前に中古で買ったフェンダー ジャズベースが、弦に触れるとノイズが増えるという

現象が発生しました。

ボリュームやトーンが付いている金属製のパネルに触れるとノイズが減るので、

ジャック部分の問題では無さそうだと思って、パネルを開けて、テスターで導通を確認してみたのですが、フロントのボリュームポッドはアースに繋がっているのに、リアのボリュームポッドとトーンポッドはアースから浮いているようになっていました。

それで、ボリュームポッドとトーンポッドをパネルから外して、パネルに付く部分に接点復活剤を吹き付けてポッドを装着しなおしたら、ノイズは出なくなりました。

ジャックも、もう内側にサビが出ていたので、いじりついでに、スイッチクラフトのジャックに交換しました。


0 件のコメント:

コメントを投稿