[Pythhon3] 정현파 이미지를 표시하는 프로그램

8254 단어 Python3

개시하다


정현 줄무늬 이미지는 감지 실험의 테스트 자극, 예를 들어 대비도 민감도 측정에 사용된다.이미지 소프트웨어로도 제작할 수 있지만, 프로그램으로 설치하면 이미지의 주파수 등을 쉽게 계산할 수 있어 편리한 것으로 여겨진다.이에 따라 본 보도는 정현 줄무늬 이미지를 만드는 프로그램을 실었다.정현 줄무늬 이미지를 만드는 프로그램은 나만 검색하면 정보량이 적기 때문에 이 투고를 도와주면 좋겠다.

소스 코드


에서 만든 소스 코드를 나타냅니다.프로그램을 일본어로 간단하게 표현하다
1: 정현파를 그립니다.이때 중점은 진폭이 255이다.
2:이때는 마이너스가 나오기 때문에 밑바닥을 높여야 한다.
3: 이렇게 발생하는 정현파의 세로축 값을 픽셀 값으로 한다.
이상.출력은 다음과 같습니다.예를 들어 대비도의 민감도를 측정하려면 아래의 프로그램을 통해 주파수를 바꿀 수 있다.
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

#キャンバス生成
Width  = 512
Height = 512
img = Image.new("RGB", (Width, Height))

#各パラメータの定義
Amp    = 255.0        #振幅
T      = 32.0       #周期
f      = 1.0 / 32.0 #周波数
sec    = 1          #サンプリング時間
f_s    = 1000       #サンプリング周波数
offset = 255        #sin波を0から255の間で描画するため.

#輝度値
Brightness=[]
for t in np.arange(f_s * sec):
    y = Amp * np.sin(2.0 * np.pi * f * t) + offset
    y = y / 2
    Brightness.append(y)

#出力画像の設定.
plt.grid(True)
plt.xlabel('t', fontsize = 15)
plt.ylabel('Brightness', fontsize = 15)
plt.plot(Brightness[0:100], color = 'red')
plt.show()

#画素の書き換え.
for x in range(Width):
    for y in range(Height):

        #putpixcelの引数が整数のみなので,四捨五入して整数化した.
        r = int(round(Brightness[x]))
        g = int(round(Brightness[x]))
        b = int(round(Brightness[x]))

        img.putpixel((x,y),(r,g,b))

#正弦縞画像の表示
plt.imshow(img)
plt.tick_params(labelbottom=False, labelleft=False, labelright=False, labeltop=False)
plt.tick_params(bottom=False, left=False, right=False, top=False)
plt.savefig('SinImage.png', bbox_inches="tight",dpi=300)
plt.show()

좋은 웹페이지 즐겨찾기