Bildschirmtausch bei Telefonen
Foto: $ARGUMENTS. Falls keines vorhanden ist, frage nach einem oder suche eines mit find_photos.py.
Die gesamte Vorderseite des Telefons wird durch Code ersetzt: der Bildschirm, der schwarze Rahmen und die Notch oder Insel. Außerhalb des Glases bleibt das Foto unberührt.
Für eine bereits existierende Vorlage wird dieses Skill nicht benötigt: python3 swap.py <image>.
Neue Vorlage
Nimm: ein echtes Foto eines iPhones, den Bildschirm zur Kamera. Überspringe: Android, eine Neigung über 25°, eine Seite über 1,2× der anderen (der Zuschnitt lehnt sie ab). Überspringe Fotos mit einem Finger oder Ärmel über dem Bildschirm: ohne grauen Rahmen wird er übermalt. Das gesamte Glas gehört uns, auch eine Spiegelung darauf. Nur Haut, die von außen hereinkommt, bleibt vom Foto erhalten.
P=<Name, 8 Zeichen, eindeutig>; D=templates/corners
mkdir -p out
# 1. Betrachte das Foto und lese die groben Ecken des Bildschirms, TL,TR,BR,BL
python3 tools/slide_crop.py --q '<Ecken>' <foto.jpg> templates/crop/$P.jpg # gibt die Ecken auf dem Zuschnitt aus
# 2. Die exakten geraden Kanten. Wenn `live` niedrig ist: R=34
python3 tools/slide_lines.py $P '<Ecken auf dem Zuschnitt>' out/l.jpg # verfeinerte Ecken am Ende der Ausgabe
# 3. Die Kontur: Perspektive, Linsenverzerrung, Radius, Glasumriss
python3 tools/slide_trace.py $P '<Ecken>' out/t.jpg $D/$P.json
# 4. Nachweis dessen, was die Anpassung nicht gesehen hat. Sieh dir immer das Bild an
python3 tools/slide_proof.py $P $D/$P.json out/$P-proof.jpg
# 5. Die Pose, die nur für die Reflexion verwendet wird
python3 tools/slide_sheet.py $P $D/$P.pose.json init
# 6. Miss die Notch oder Insel, die Statussymbole, die Schwarztöne
python3 tools/slide_check.py $P measure
# Rezept $D/$P.recipe.json: kopiere a841f108 (Notch) oder f5dad639 (Insel), setze dann frame=$P, pose, corners und die gemessenen Optionen
# 7. Uhrzeit und Symbole an die Stelle dieses Telefons
python3 tools/slide_status.py $P init <Zeile aus measure>; python3 tools/slide_status.py $P build
# 8. Erstellen und Rot-Test
python3 tools/slide_check.py $P build
# 9. Wärmekarte der Lecks
python3 tools/slide_check.py $P leak
# 10. Rahmenbreite
python3 tools/slide_check.py $P frame
Danach ist es eine Vorlage: python3 swap.py <image> -t $P.
Prüfe, bevor du vertraust
out/$P-split.jpg: Foto, Rot, Ergebnis. Das Rot passt, der Rahmen endet am Gehäuse, alles vom Körper nach innen gehört uns.out/$P-leak.jpg: der Rahmen auf einem schwarzen Bildschirm, Helligkeit auf einer logarithmischen Skala. Alles Leuchtende stammt aus dem Foto: eine Linie um einen Ausschnitt, Spritzer, Spiegelung. Nur ein Lautsprecher und was wirklich davor steht, darf erscheinen.out/$P-top.jpg: die grüne Kontur des Ausschnitts auf dem Foto, die Symbole an Ort und Stelle.out/$P-zoom.jpg: Ecken und Rahmen, groß, neben dem Foto.- Die Vorlage mit einem weißen Bild durch
swap.py: eine dunkle Seite verbirgt schlechte Ecken und Kanten. out/$P-frame.jpg: die vier Ecken auf einem weißen Bildschirm. Eine Vorlage ist nicht fertig, bis die Rahmenprüfung unten bestanden ist.
Rahmenprüfung
Der schwarze Rahmen ist Hardware, durchgehend eine Breite. slide_check.py $P frame erstellt auf einem weißen Bildschirm, richtet ihn aus und misst das Schwarz in der Mitte jeder Seite, in Bildschirmpixeln (591 breit). Es gibt ours und photo pro Seite aus, die Streuung und ein Urteil: bis zu 4 px ist OK, mehr ist FIX.
Die 4-px-Grenze wurde von diesen Telefonen übernommen: eine Streuung von 7,5 px war deutlich sichtbar, und 4 px war es nicht.
Wenn bei einer neuen Vorlage FIX ausgegeben wird:
- Führe
slide_trace.pyerneut aus: es liest das sichtbare Schwarz und gibt jeder Seite den Median (die Zeileframe:). - Erstelle neu, führe dann erneut
frameaus. - Immer noch
FIX: vergleicheoursmitphoto. Wenn sie übereinstimmen, verdeckt eine Spiegelung, ein Gehäuse oder eine Hand den Rahmen auf dieser Seite im Foto. Wenn nicht, ist die Kontur falsch: sieh dir-frame.jpgund-split.jpgan. - Wenn es nicht konvergiert, erkläre die Vorlage nicht für fertig. Gib an, welche Seite falsch ist und um wie viele px.
Überprüfe auch
-frame.jpgmit dem Auge: Oberseite und Seite sollten übereinstimmen. Die ausgelieferten Vorlagen:f38fe44a2.2,791866583.2 und895d3ee83.8 bestehen.f5dad6395.8,a841f1086.2 und14278a0b8.5 bestehen nicht: ihre Rahmen wurden so belassen, wie sie zuerst erstellt wurden.
Einstellungen
- Schwarz:
floor, damit der Rahmen und der Ausschnitt zum Foto passen. Beginne bei.003und senke es, wenn das Foto dunkler ist.buildgibt beide aus. - Notch: Werte aus
measure. Justierecranhand der grünen Kontur,measureliest es zu niedrig. - Lautsprecher über einer Notch:
grille=45. Wenn eine dünne Linie der alten Seite um die Notch herum erscheint:gband=1. - Insel: ihr Mittelpunkt ist Hardware, 295,5 von 591. Wenn
measuremehr als 1 px Abweichung angibt, hat etwas Helles eine Kante verschluckt: nimm die saubere Kante und spiegele sie durch den Mittelpunkt. Auf einem Sperrbildschirm nimmxvon einem Telefon mit Insel (Zeit 111, Symbole 479) undyausmeasure. - Lautsprecher über einer Insel: wenn er innerhalb der Glaskontur liegt, bringt
grille=45nur sein Relief zurück. - Ärmel über dem Glas:
sleeve=1, nur mit einem echten grauen Rahmen intemplates/grey/(f38fe44a). - Dunkel auf Dunkel:
slide_trace.pyschaltet automatisch um, wenn weniger als 400 von 720 Punkten ansteigen. Überprüfe-splitmit besonderer Sorgfalt.
Wie es funktioniert
Ein Telefon ist starr, also ist der Bildschirm ein Rechteck mit den kontinuierlichen Ecken von iOS, gesehen durch eine Perspektive und eine radiale Linsenverzerrung. Kanten werden in logarithmischer Helligkeit gefunden, sodass Dunkel auf Dunkel funktioniert, und am Halbpunkt in linearem Licht platziert. Das Bild wird auf das geradegerichtete Foto gezeichnet und dann mit dem Glas zurückgebogen.
Bekannte Fallstricke
- Nur nach einer dunklen Seite beurteilen.
- Auf eine Weise anpassen und mit einer anderen prüfen: Die Prüfung ist die Anpassung, der Nachweis ist das, was ausgelassen wurde.
- Gerade Linien direkt auf dem Foto: Es ist verbogen. Sie existieren nur auf dem geradegerichteten.
- Von außen nach innen nach einer Gehäusekante auf einem hellen Bildschirm suchen: Eine Stofffalte sieht aus wie ein Gehäuse. Gehe vom Bildschirm nach außen.