Recherche avancée

Médias (1)

Mot : - Tags -/bug

Autres articles (94)

  • Other interesting software

    13 avril 2011, par

    We don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
    The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
    We don’t know them, we didn’t try them, but you can take a peek.
    Videopress
    Website : http://videopress.com/
    License : GNU/GPL v2
    Source code : (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (7513)

  • Python and ffmpeg create different tiff stacks

    9 mai 2023, par NicolasBourbaki

    Hello everybody out there with an interest in image processing,

    


    Creating a multipage tiff file (tiff stack) out of a grayscale movie can be achieved without programming using ffmpeg and tiffcp (the latter being part of Debian's libtiff-tools) :

    


    ffmpeg -i movie.avi frame%03d.tif
tiffcp frame*.tif stack.tif


    


    Programming it in Python also seemed to be feasible to me using the OpenCV and tifffile libraries :

    


    import numpy as np
import cv2
import tifffile

cap = cv2.VideoCapture('movie.avi')

success, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

image = np.zeros((300, 400, 500), 'uint8')  # pre-allocate some space
i = 0;

while success:
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    image[i,:,:] = gray[80:480,0:500]
    success, frame = cap.read()

cap.release()
tifffile.imsave('image.tif',image,photometric='minisblack')


    


    However, the results differ in size. Looking at the histogram of the Python solution, I realized that it differes from the ffmpeg solution.

    


    Thanks to the answer below, I compared the output files with the file :

    


    user@ubuntu:~$ file ffmpeg.tif tifffile.tif 
ffmpeg.tif: TIFF image data, little-endian
tifffile.tif:  TIFF image data, little-endian, direntries=17, height=400, bps=8, compression=none, PhotometricIntepretation=BlackIsZero, description={"shape": [300, 400, 500]}, width=500


    


    In addition, I compared the files with ffmpeg :

    


    user@ubuntu:~$ ffmpeg -i ffmpeg.tif -i tifffile.tif 
[tiff_pipe @ 0x556cfec95d80] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, tiff_pipe, from 'ffmpeg.tif':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: tiff, gray, 500x400 [SAR 1:1 DAR 5:4], 25 tbr, 25 tbn, 25 tbc
[tiff_pipe @ 0x556cfeca6b40] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #1, tiff_pipe, from 'tifffile.tif':
  Duration: N/A, bitrate: N/A
    Stream #1:0: Video: tiff, gray, 500x400 [SAR 1:1 DAR 5:4], 25 tbr, 25 tbn, 25 tbc


    


    Which additional diagnostics could I use in order to pin down the problem ?

    


  • Typesetting

    9 juin 2010, par Mikko Koppanen — Imagick, PHP stuff

    Ever had the situation where you have a piece of string which you need to overlay on an image ? Maybe a situation where the area reserved for the string is known in pixels but you need to know the font size to fill most of the area ? Think no more !

    Here is a small example of how to fit a certain piece of a string on to an area of which you know the width and the height or only the width. The magic happens through the ImageMagick CAPTION : format. You can see from the example images how the parameters actually affect the image.

    1. < ?php
    2.  
    3. /* How wide is our image */
    4. $image_width = 200 ;
    5.  
    6. /* Give zero for autocalculating the height */
    7. $image_height = 200 ;
    8.  
    9. /* Specify the text */
    10. $text = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    11.     Mauris lectus mi, mattis non, euismod vel, sagittis nec, ipsum." ;
    12.  
    13. /* Instanciate imagick */
    14. $im = new Imagick() ;
    15.  
    16. /* Create new image using caption : pseudo format */
    17. $im->newPseudoImage( $image_width, $image_height, "caption :" . $text ) ;
    18.  
    19. /* Put 1px border around the image */
    20. $im->borderImage( ’black’, 1, 1 ) ;
    21.  
    22. /* PNG format */
    23. $im->setImageFormat( "png")  ;
    24.  
    25. /* Output */
    26. header( "Content-Type : image/png" ) ;
    27. echo $im ;
    28.  
    29.  ?>

    Here is image with width 100 and height 0 :

    width_100_height_0.png

    Width 100 Height 50 :

    width_100_height_50.png

    Width 200 Height 200 (as you can see the font size is now larger) :

    width_200_height_200.png

  • Fill patterns

    26 avril 2008, par Mikko Koppanen — Imagick, PHP stuff

    My work life has been quite busy lately and I haven’t had a chance to sit down and blog. I have been touring around London and some parts of the northern England consulting and organizing some training here and there. Luckily I have had the chance to do some work on Imagick and the 2.2.0 beta release is getting closer. The internal structure was completely restructured and broken down into several smaller files. During this time Imagick was adapted to follow the PHP Coding Standards more closely. Still a work in progress :)

    I committed slightly modified version of this example to PHP Manual http://uk.php.net/manual/en/imagick.examples.php page a few days ago. The example illustrates using an image as a part of a named fill pattern. The fill pattern is used to annotate text but the named pattern could also be used to fill any shapes that allow fill to be specified (include circles, ellipses, rectangles, polygons etc etc). The code itself is pretty straight forward : Read the image, create the pattern and use the pattern as a fill.

    The ice formations image is from http://www.photoeverywhere.co.uk/west/winterholiday/slides/iceformations5679.htm.

    1. < ?php
    2.  
    3. /* Create a new imagick object */
    4. $im = new Imagick( ’iceformations5679.JPG’ ) ;
    5.  
    6. /* Create imagickdraw object */
    7. $draw = new ImagickDraw() ;
    8.  
    9. /* Start a new pattern called "ice" */
    10. $draw->pushPattern( ’ice’ , 0 , 0 , 50 , 50 ) ;
    11.  
    12. /* Composite the image on the pattern */
    13. $draw->composite( Imagick: :COMPOSITE_OVER, 0, 0, 50, 50, $im ) ;
    14.  
    15. /* Close the pattern */
    16. $draw->popPattern() ;
    17.  
    18. /* Use the pattern called "ice" as the fill */
    19. $draw->setFillPatternURL( ’#ice’ ) ;
    20.  
    21. /* Set font size to 52 */
    22. $draw->setFontSize( 52 ) ;
    23.  
    24. /* Annotate some text */
    25. $draw->annotation( 5, 50, "Hello World !" ) ;
    26.  
    27. /* Create a new canvas and white image */
    28. $canvas = new Imagick() ;
    29. $canvas->newImage( 310, 70, "white" ) ;
    30.  
    31. /* Add black border around the resulting image */
    32. $canvas->borderImage( ’black’, 1, 1 ) ;
    33.  
    34. /* Draw the ImagickDraw on to the canvas */
    35. $canvas->drawImage( $draw ) ;
    36.  
    37. /* Set the format to PNG */
    38. $canvas->setImageFormat( ’png’ ) ;
    39.  
    40. /* Output the image */
    41. header( "Content-Type : image/png" ) ;
    42. echo $canvas ;
    43.  ?>

    And the result is here :