سؤال

هل هناك طريقة سهلة لإنشاء "فيلم" من خلال خياطة معا عدة قطع، داخل ص؟

هل كانت مفيدة؟

المحلول

هنا طريقة واحدة وجدت باستخدام R مساعدة:

لإنشاء إطارات الصور الفردية:

jpeg("/tmp/foo%02d.jpg")
for (i in 1:5) {
  my.plot(i)
}
dev.off()

لجعل الفيلم، أولا التثبيت Imagemagick.وبعد ثم استدعاء الوظيفة التالية (التي تستدعي "تحويل"، جزء من ImageMagick أفترض):

make.mov <- function(){
     unlink("plot.mpg")
     system("convert -delay 0.5 plot*.jpg plot.mpg")
}

أو حاول استخدام وظيفة FFMPEG كما هو موضح في هذا شرط (لقد وجدت أن هذا يعطي نتائج نظافة): FFMPEG -R 25 -QSale 2 -I TMP / FOO٪ 02D.jpg Output.mp4

قد تتطلب القليل من العبث، ولكن يبدو هذا بسيطا جدا بمجرد تثبيت كل شيء.

بالطبع، في أي مكان تراه "JPG" أو "JPEG"، يمكنك استبدال GIF أو PNG لتناسب الهوى.

نصائح أخرى

ألق نظرة على إما حيوية حزمة تم إنشاؤها بواسطة. yihui شيه أو ال ebimage. حزمة الموصل الأحيائي (؟ تحريك).

أعتقد أنه يمكنك القيام بذلك أيضا مع وظيفة Write.gif في مكتبة Codools. يجب عليك الحصول على الرسم البياني الخاص بك في صورة متعددة الإطار أولا. لست متأكدا من كيفية القيام بذلك. أي واحد؟ بيلر؟

المثال الكلاسيكي ل GIF المتحركة هو هذا الرمز الذي لم أكتب ولكني فعلت بلوق حول قبل حين:

library(fields) # for tim.colors
library(caTools) # for write.gif
m = 400 # grid size
C = complex( real=rep(seq(-1.8,0.6, length.out=m), each=m ), imag=rep(seq(-1.2,1.2, length.out=m), m ) )
C = matrix(C,m,m)

Z = 0
X = array(0, c(m,m,20))
for (k in 1:20) {
Z = Z^2+C
X[,,k] = exp(-abs(Z))
}

image(X[,,k], col=tim.colors(256)) # show final image in R
write.gif(X, 'Mandelbrot.gif', col=tim.colors(256), delay=100)

يذهب رمز الائتمان إلى Jarek Tuszynski، دكتوراه.

إذا قمت بلف البرنامج النصي الخاص بك ضمن بيرل / بيثون / إلخ. البرنامج النصي، يمكنك غرزة الرسوم البيانية مع أداة خياطة صورة سطر الأوامر المفضلة لديك.

لتشغيل البرنامج النصي الخاص بك مع البرنامج النصي التفاف، استخدم R CMD BATCH طريقة.

لست متأكدا من ذلك ممكن في R. لقد قمت بمشروع مرة واحدة عندما تم تصدير نقاط البيانات من R إلى قاعدة بيانات MySQL وقم بتطبيق Flex / Flash بتأمل نقاط البيانات هذه وأعطى تصورات الرسوم المتحركة ..

لقد قمت ببعض الأفلام باستخدام XnView's Viewer Freeware Viewer) إنشاء وظيفة عرض الشرائح. كنت أرغب في إظهار الاتجاهات عبر الزمن مع البيانات المكانية، لذلك قمت فقط بإنشاء سلسلة من المؤامرات، والتي تم تسميتها بالتتابع [لصق () هي صديقك لجميع أنواع أسماء الكاليطالييين] ثم تحميلها في حوار Slideshow XnView وتعيين متغيرات مؤقتة، هاهو. أخذت مثل 5 دقائق لتعلم كيفية القيام بذلك وإنتاج بعض الرسومات القابلة للتنفيذ.

إليك مثال كامل على جعل "فيلم" GIF "متحركة من ملف HDF5. يجب أن تكون البيانات مجموعة بيانات HDF من صفيف ثلاثي الأبعاد [nframes] [ncolumns] [ncolumns].

#
# be sure to be run as Administrator to install new packages
#
source("http://bioconductor.org/biocLite.R")
biocLite("rhdf5")
install.packages('caTools')
install.packages('fields')

library(caTools)
library(fields)
library(rhdf5)

x = h5read(file="mydata.h5",name="/Images")
write.gif(x,"movie1.gif",col=rainbow,delay=10,flip=TRUE)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top