Betreff: Bilder zusammenführen/zusammenfügenIch bin mir nicht sicher, wie gut das ist, aber vielleicht können Sie mit negativen Rändern herumspielen (wenn alle Bilder dieselbe Größe haben).
Names Default To Here(1);
img = Open("$SAMPLE_IMAGES/windmap.png", "png");
nw = New Window("",
Lineup Box(N Col(3),
img,img,img,
img,img,img,
img,img,img
)
);
wait(2);
pbs = nw << XPath("//PictBox");
pbs << Margin(Left(-2), Top(-2));
Auch für mich scheint es, als gäbe es keine Grenzen zwischen Bildern. Sind alle Bilder, die Sie haben, gleich groß?
Names Default To Here(1);
img = Open("$SAMPLE_IMAGES/windmap.png", "png");
nw = New Window("no borders",
V List Box(
h list box(img,img,img),
h list box(img,img,img),
h list box(img,img,img)
)
);
V-Listenfeld + H-Listenfeld (ohne Rahmen):

Lineup Box() (Ränder):

Betreff: Bilder zusammenführen/zusammenfügenJarmo, du bist unglaublich!
Mit Ihrer Hilfe konnte ich das genauer studieren. Anscheinend stammt das Problem nicht von Listenfeldern, sondern von der Get Picture-Funktion. Damit erscheinen Ränder zum resultierenden Bildobjekt. Allerdings würde ich gerne in der Lage sein, die Liste in ein Bild umzuwandeln, da dann weitere Manipulationen (z. B. Zuschneiden) möglich sind.
Also, irgendwelche Ideen, wie man ein Bild ohne Grenzen bekommt?
Names Default To Here(1);
img = Open("$SAMPLE_IMAGES/windmap.png", "png");
v_list_box = V List Box(
h list box(img,img,img),
h list box(img,img,img),
h list box(img,img,img)
);
outpic = v_list_box << Get Picture;
new window("with borders", outpic);
new window("no borders", v_list_box);
Betreff: Bilder zusammenführen/zusammenfügenhttps://community.jmp.com/t5/Discussions/Crop-a-JPG-Image/td-p/441835#M69054
Erklärt, wie die Zuschneidefunktion funktioniert.Betreff: Bilder zusammenführen/zusammenfügenHallo alle,
Anscheinend gibt es keine triviale Lösung, um Ränder zu bekommen, die durch die Get Picture-Funktion verursacht werden. Wahrscheinlich gibt es viele andere Problemumgehungen, aber ich habe dies letztendlich getan, indem ich Python verwendet und dies hier geteilt habe, falls jemand Interesse daran hat. Etwas wie unten
Names Default To Here( 1 );
Python Init();
Python Submit( "\[
import cv2
import datetime
path = r'C:\Program Files\SAS\JMP\16\Samples\Images\windmap.png'
img=cv2.imread(path)
img_concat = cv2.vconcat([
cv2.hconcat([img, img, img]),
cv2.hconcat([img, img, img]),
cv2.hconcat([img, img, img]),
])
cv2.imwrite(r'C:\tmp\final_image.png', img_concat)
str='Concationation completed'
]\");
getStr = Python Get( str );
show(getStr);
Python Term();
outpic = Open("C:\tmp\final_image.png",png);
new window("no borders", outpic);
outpic = empty();Hier wird die OpenCV-Bibliothek (cv2) verwendet, die in meinem Fall gut funktioniert, da ich Tausende von großen Bildern verarbeiten muss. OpenCV unterstützt die Nutzung der GPU, wodurch die Ausführungszeit drastisch verkürzt wird (in meinem Fall mehrere Stunden).
Betreff: Bilder zusammenführen/zusammenfügenIn JSL sieht das so aus. Ich bin mir nicht sicher, wie die Leistung sein wird, ich glaube nicht, dass es viele CPUs verwenden wird.
img = Open("$SAMPLE_IMAGES/windmap.png", "png")<<GETPIXELS></GETPIXELS>
|| ist die horizontale Matrixverkettung und |/ ist vertikal. Zeile 1 verwandelt das Bild in eine Matrix.
Betreff: Bilder zusammenführen/zusammenfügenIch habe einige Tests für die Leistung durchgeführt. Getpixels - Matrix-Verkettungsmethode ist drei Mal schneller als Listenfeld - Get Picture-Methode. Und keine Grenzen zwischen den Fliesen. Sehr gute Beratung. Danke Graige!
Bilder zusammenfügenHallo,
Ich arbeite mit mehreren Bildkacheln, die ich zu einem einzigen größeren Bild zusammenstellen muss. Diese Frage wurde bereits früher gestellt, z. B.:
Ist es möglich, zwei Bilder in einer Ausdrucksspalte zu kombinieren?
Eine allgemeine Lösung besteht in der Verwendung von H/V-Listenfeldern. Hier besteht mein Problem darin, dass zwischen den zusammengefügten Bildern weiße Linien vorhanden sind, die ich nicht haben möchte. Gibt es eine Möglichkeit, den Stil der Listenfelder so zu ändern, dass keine Ränder vorhanden sind? Oder eine andere Methode zum Zusammenfügen?
Sehne
Datenzusammenführung und -bereinigung