[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()
Reference
이 문제에 관하여([Pythhon3] 정현파 이미지를 표시하는 프로그램), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Daiki_P/items/3dbd9e937c23b70511ec
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
에서 만든 소스 코드를 나타냅니다.프로그램을 일본어로 간단하게 표현하다
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()
Reference
이 문제에 관하여([Pythhon3] 정현파 이미지를 표시하는 프로그램), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Daiki_P/items/3dbd9e937c23b70511ec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)