Upload numpy array as grayscale image to S3 bucket












0















I have made some mathematical operations on some grayscaled images in python using numpy.



Now I want to upload the resulting numpy arrays as png images to my S3 bucket.
I have tried to upload them as base64 formats, but in that way I cannot open them as images from S3. My code looks as follows:



dec=base64.b64decode(numpy_image)
s3.Bucket('bucketname').put_object(Key='image.png',Body=dec, ContentType='image/png',ACL='public-read')


When I try to open the file from S3 it says that the file contains an error










share|improve this question


















  • 1





    You probably need to convert your numpy array to an image before uploading it to S3. Take a look at this answer: stackoverflow.com/a/2659378/1525432.

    – vitaliy
    Nov 15 '18 at 10:21
















0















I have made some mathematical operations on some grayscaled images in python using numpy.



Now I want to upload the resulting numpy arrays as png images to my S3 bucket.
I have tried to upload them as base64 formats, but in that way I cannot open them as images from S3. My code looks as follows:



dec=base64.b64decode(numpy_image)
s3.Bucket('bucketname').put_object(Key='image.png',Body=dec, ContentType='image/png',ACL='public-read')


When I try to open the file from S3 it says that the file contains an error










share|improve this question


















  • 1





    You probably need to convert your numpy array to an image before uploading it to S3. Take a look at this answer: stackoverflow.com/a/2659378/1525432.

    – vitaliy
    Nov 15 '18 at 10:21














0












0








0








I have made some mathematical operations on some grayscaled images in python using numpy.



Now I want to upload the resulting numpy arrays as png images to my S3 bucket.
I have tried to upload them as base64 formats, but in that way I cannot open them as images from S3. My code looks as follows:



dec=base64.b64decode(numpy_image)
s3.Bucket('bucketname').put_object(Key='image.png',Body=dec, ContentType='image/png',ACL='public-read')


When I try to open the file from S3 it says that the file contains an error










share|improve this question














I have made some mathematical operations on some grayscaled images in python using numpy.



Now I want to upload the resulting numpy arrays as png images to my S3 bucket.
I have tried to upload them as base64 formats, but in that way I cannot open them as images from S3. My code looks as follows:



dec=base64.b64decode(numpy_image)
s3.Bucket('bucketname').put_object(Key='image.png',Body=dec, ContentType='image/png',ACL='public-read')


When I try to open the file from S3 it says that the file contains an error







python numpy amazon-s3 bucket






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 15 '18 at 9:42









Nicolai IversenNicolai Iversen

796




796








  • 1





    You probably need to convert your numpy array to an image before uploading it to S3. Take a look at this answer: stackoverflow.com/a/2659378/1525432.

    – vitaliy
    Nov 15 '18 at 10:21














  • 1





    You probably need to convert your numpy array to an image before uploading it to S3. Take a look at this answer: stackoverflow.com/a/2659378/1525432.

    – vitaliy
    Nov 15 '18 at 10:21








1




1





You probably need to convert your numpy array to an image before uploading it to S3. Take a look at this answer: stackoverflow.com/a/2659378/1525432.

– vitaliy
Nov 15 '18 at 10:21





You probably need to convert your numpy array to an image before uploading it to S3. Take a look at this answer: stackoverflow.com/a/2659378/1525432.

– vitaliy
Nov 15 '18 at 10:21












1 Answer
1






active

oldest

votes


















1














So I needed to convert the numpy array into an image first.
The following code turned out to work:



from PIL import Image
import io
img = Image.fromarray(numpy_image).convert('RGB')
out_img = BytesIO()
img.save(out_img, format='png')
out_img.seek(0)
s3.Bucket('my-pocket').put_object(Key='cluster.png',Body=out_img,ContentType='image/png',ACL='public-read')





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53316470%2fupload-numpy-array-as-grayscale-image-to-s3-bucket%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    So I needed to convert the numpy array into an image first.
    The following code turned out to work:



    from PIL import Image
    import io
    img = Image.fromarray(numpy_image).convert('RGB')
    out_img = BytesIO()
    img.save(out_img, format='png')
    out_img.seek(0)
    s3.Bucket('my-pocket').put_object(Key='cluster.png',Body=out_img,ContentType='image/png',ACL='public-read')





    share|improve this answer




























      1














      So I needed to convert the numpy array into an image first.
      The following code turned out to work:



      from PIL import Image
      import io
      img = Image.fromarray(numpy_image).convert('RGB')
      out_img = BytesIO()
      img.save(out_img, format='png')
      out_img.seek(0)
      s3.Bucket('my-pocket').put_object(Key='cluster.png',Body=out_img,ContentType='image/png',ACL='public-read')





      share|improve this answer


























        1












        1








        1







        So I needed to convert the numpy array into an image first.
        The following code turned out to work:



        from PIL import Image
        import io
        img = Image.fromarray(numpy_image).convert('RGB')
        out_img = BytesIO()
        img.save(out_img, format='png')
        out_img.seek(0)
        s3.Bucket('my-pocket').put_object(Key='cluster.png',Body=out_img,ContentType='image/png',ACL='public-read')





        share|improve this answer













        So I needed to convert the numpy array into an image first.
        The following code turned out to work:



        from PIL import Image
        import io
        img = Image.fromarray(numpy_image).convert('RGB')
        out_img = BytesIO()
        img.save(out_img, format='png')
        out_img.seek(0)
        s3.Bucket('my-pocket').put_object(Key='cluster.png',Body=out_img,ContentType='image/png',ACL='public-read')






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 15 '18 at 11:34









        Nicolai IversenNicolai Iversen

        796




        796
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53316470%2fupload-numpy-array-as-grayscale-image-to-s3-bucket%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Xamarin.iOS Cant Deploy on Iphone

            Glorious Revolution

            Dulmage-Mendelsohn matrix decomposition in Python