Das klare Gas ist mit bloßem Auge unsichtbar. Trotzdem gibt es Zeiten, in denen ich es sehen möchte. Dort sind Fluidvisualisierungstechnologien wie die Schlieren-Methode und die Shadow-Graph-Methode nützlich. Dieses Mal werde ich versuchen, diese Flüssigkeit mit etwas zu Hause zu visualisieren. Grundsätzlich brauchen Sie nur eine Kamera.
Ich habe damit experimentiert. Wir empfehlen, dass Sie hier für detaillierte Theorien lesen. Verbesserung der Dichtegradienten-Visualisierungsmethode basierend auf der BOS-Methode
Wenn der Dichtegradient groß ist, sehen Sie möglicherweise etwas mit bloßem Auge, z. B. den im Sommer beobachteten Hitzeschleier und das Gas des Feuerzeugs. Die Schattendiagrammmethode visualisiert diese nach dem gleichen Prinzip, dass sie mit bloßem Auge sichtbar sind. Die Schlieren-Methode ist eine Methode, um die Empfindlichkeit dieser Methode weiter zu erhöhen. NOBBY TECH Schlierens Gerät
Dieses optische System hat eine solche Konfiguration.
Das von der Punktlichtquelle emittierte Licht wird an einem Punkt von der Linse gesammelt. In Wirklichkeit hat der Fokus eine gewisse Breite. Installieren Sie die Messerkante so, dass dieses Licht um etwa die Hälfte blockiert ist. Wenn sich auf dem Strahlengang ein Dichtegradient (Ungleichmäßigkeit der Dichte) befindet, wird das Licht gebrochen und nicht an einem Punkt gesammelt. Wenn es zur Messerkantenseite gebogen wird, wird es blockiert und das Bild auf dem Sensor wird abgedunkelt. Wenn es zur gegenüberliegenden Seite gebogen wird, wird es aufgehellt. Auf diese Weise kann der Dichtegradient als Helligkeitsinformation aufgezeichnet werden.
Diese Methode ist sehr empfindlich und kann schöne Bilder aufnehmen, ist jedoch zu Hause etwas schwierig zu reproduzieren. Schwierig ist, dass es viele Dinge gibt, die zuerst vorbereitet werden müssen.
Als nächstes kommt die Schwierigkeit, das optische System zu installieren. Das Ausrichten der optischen Achse ist sehr aufwändig. Insbesondere muss sich die Messerkante in der exakten Fokusposition befinden. Es wäre schön, wenn es eine feine Bewegungsphase gäbe, aber wenn nicht, wäre ein gewisser Einfallsreichtum erforderlich.
Diese BOS-Methode ist eine Methode, die den Dichtegradienten auf die gleiche Weise wie die Schlieren-Methode visualisieren kann. Dies erfordert keine Messerschneide.
Das optische System ist auch sehr einfach.
Nehmen Sie zwei Bilder auf, eines nur mit Hintergrund und eines mit einem Dichtegradienten, und berechnen Sie den Dichtegradienten aus der Differenz. Es gibt auch eine BOS-Methode, die ein zufälliges Muster im Hintergrund verwendet, das Programm jedoch umständlich macht, da es die gegenseitige Korrelation berechnet und die Abweichung wie PIV findet. Dieses Mal verwenden wir die SPBOS-Methode, die ein Streifenmuster verwendet, das das Programm einfacher macht.
Die diesmal verwendeten sind wie folgt.
Ich denke, dass der Bildschirm mit einem Smartphone oder einem Drucker auf Papier gedruckt werden kann.
Es ist wünschenswert, dass die Kamera in RAW gespeichert werden kann. Die Bittiefe von D5100 beträgt 14 Bit (16383 Gradation), aber wenn sie als JPG gespeichert wird, beträgt sie je nach Gradation der Anzeige nur 8 Bit (255 Gradation). Außerdem ist die Gammakorrektur effektiv, sodass die Rückkehr zur Linearität die Situation noch verschlimmert. Es wäre schön, ein Stativ zu haben, aber ich denke, es ist in Ordnung, es auf den Boden zu stellen. Achten Sie darauf, die Kamera nicht zu schütteln, wenn Sie den Auslöser drücken.
Diesmal habe ich es so installiert. Die Brennweite beträgt 300 mm, die Belichtungszeit 1/60, der F-Wert 20 und die ISO-Empfindlichkeit 400.
Fokussieren Sie die Kamera auf den Bildschirm.
Sie müssen auf den Abstand zwischen dem Bildschirm und dem zu messenden Objekt achten. Wenn es zu nahe ist, wird die Empfindlichkeit nicht erhalten. Selbst wenn sich in unmittelbarer Nähe des Bildschirms ein Dichtegradient befindet und sich das Licht biegt, wird das gebogene Licht an derselben Position abgebildet, an der es sich nicht gebogen hat. Im Gegenteil, wenn es zu weit ist, wird das gemessene Objekt unscharf. Erhöhen Sie den F-Wert, um die Sichttiefe zu erhöhen.
Das Hintergrundbild wurde mit dem folgenden Programm erstellt.
import numpy as np
#Anzeige
ppi = 326 # 1inch(25.4mm)Anzahl der Pixel pro
x_pix = 750 #Horizontale Auflösung
y_pix = 1334 #Vertikale Auflösung
pix_per_mm = ppi / 25.4
x_mm = x_pix / pix_per_mm
y_mm = y_pix / pix_per_mm
lam = 1.0 # mm
def sin_img(direction="x",bit=8):
if direction == "x":
x = np.linspace(0.0,x_mm,x_pix)
sin = np.sin(2.0*np.pi*x/lam)
img = np.tile(sin,(y_pix,1)).T
img = 0.5 * (img + 1.0) * (2**bit-1.0)
elif direction == "y":
y = np.linspace(0.0,y_mm,y_pix)
sin = np.np.sin(2.0*np.pi*y/lam)
img = np.tile(sin,(x_pix,1))
img = 0.5 * (img + 1.0) * (2**bit-1.0)
if bit == 8:
img = img.astype(np.uint8)
elif bit == 16:
img = img.astype(np.uint16)
else:
print("Die Anzahl der Bits beträgt 8 oder 16")
return img
Hintergrund genommen
Es gibt eine Messung
Fügen Sie zunächst das für die Analyse verwendete Programm ein.
RAW-Bilder werden mit rawpy entwickelt. Verwendet lineare Skalenhelligkeitswerte ohne Gammakorrektur.
import rawpy
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt
import cv2
from pathlib import Path
def postproccesing(path):
raw = rawpy.imread(str(path))
return raw.postprocess(gamma=[1.0,1.0],
no_auto_bright=True,
output_color=rawpy.ColorSpace.raw,
use_camera_wb=True,
use_auto_wb=False,
output_bps=16,
no_auto_scale=True
)
ref_path = Path("data/ref2.NEF")
jet_path = Path("data/jet2.NEF")
ref_img = postproccesing(ref_path)
jet_img = postproccesing(jet_path)
ref_gray = ref_img[:,:,1] #Graustufen
jet_gray = jet_img[:,:,1]
Die Visualisierung nimmt nur den Unterschied und multipliziert den Raum. Indem Sie die Differenz nehmen, können Sie den Teil sehen, der durch den Dichtegradienten gebrochen wird. Selbst wenn sich das Licht in die gleiche Richtung biegt, wird es je nach Hintergrundmuster dunkler oder heller. Daher muss der Farbverlauf multipliziert werden.
bos = (jet_gray-ref_gray) * np.gradient(0.5*(jet_gray+ref_gray))[1]
Wenden Sie einen Tiefpassfilter an. Bestimmen Sie das Band, während Sie das Erscheinungsbild entsprechend betrachten.
def fft_lpf(img,r):
#Frequenzraummaske
mask = np.zeros_like(img)
X,Y = np.meshgrid(np.arange(img.shape[1])-img.shape[1]/2.0,np.arange(img.shape[0])-img.shape[0]/2.0)
mask[np.sqrt(X**2 + Y**2) < r] = 1.0
#FFT
fft_img = np.fft.fftshift(np.fft.fft2(img))
fft_img *= mask
return np.abs(np.fft.fft2(np.fft.fftshift(fft_img)))
Speichern Sie nach dem Anwenden des Tiefpassfilters das Bild und beenden Sie den Vorgang.
Es gibt viel Lärm, aber der Jet kann gut sichtbar gemacht werden. Es scheint, dass Lärm mit etwas mehr Einfallsreichtum reduziert werden kann.
Nachtrag 2020/04/14 Ich habe die Kamera richtig repariert und erneut ein Bild aufgenommen und die Helligkeit später angepasst, um das Rauschen zu reduzieren. Sie können so ein schönes Bild machen.
Es wurde gezeigt, dass die Flüssigkeitsvisualisierung so durchgeführt werden kann, wie es nur bei denen zu Hause der Fall ist. Versuch es bitte.
Recommended Posts