How to load images faster from Azure Blob? - opencv

I've been trying to upload some images to azure blob and then using ImageReader in Azure ML studio to read them from the blob. The problem is that ImageReader takes a lot of time to load images and I need it in real time.
I also tried making a csv of 4 images (four rows) containing 800x600 pixels as columns (500,000 cols. approx) and tried simple Reader. Reader took 31 mins to read the file from the blob.
I want to know the alternate methods of loading and reading images in Azure ML studio. If anyone know any other method or can share a helpful and relevant link.
Please share if i can speed up ImageReader by any means.
Thanks

Look at the Azure CDN http://azure.microsoft.com/en-us/services/cdn/ , after which the blobs will get an alternative url. My blob downloads became about 4 times faster after switching.

Related

Generating Thumbnails on Client

My team and I are building an iOS application. We allow technicians in the field to upload images for certain issues they are resolving on technical equipment. It will be important to zoom in (so keep quality relatively high) when these images are uploaded to S3.
Recently we decided to add thumbnails because it will be much faster when others browse the iOS app, rather than downloading a 1.5-2.5mb image.
My co-worker decided the best way to handle this is to generate a 200-500kb thumbnail in iOS then upload the image and the thumbnail to s3.
I voiced my concern that some of our technicians may be in some parts of the world where internet is slow and data usage is limited. So doing all this additional work on the device and uploading makes no sense to me. However the team considers this a good solution and will move forward. I've shown them easy examples of how to generate thumbnails from S3 and Lambda automatically on the server... allowing us to either upload higher fidelity images with the additional bandwith or just increase the speed of the app by uploading much less. Sometimes a user may upload as many as 100 images... meaning an additional 20-50mb...
Anyways I wanted to hear some answers about how you guys think the best way to handle this is, mainly for my own sanity check.
I don't completely comprehend the intricacies of your project, but from experience, I have one word for you - Cloudinary. As opposed to S3, which a general purpose Cloud storage solution, cloudinary is designed to handle images.
We have a 200,000 hits a day online classified app that handles tens of thousands of photos daily. And cloudinary provides an extremely mean solution for all our needs. We have uploads by users from their mobile and desktop devices, bookmarking of those images, CDN based serving, and thumbnail generation.
Did I mention they have thumbnail generation built in? They have lots of other features as well, including
Resize and Crop
Optimized JPEG Custom Crop
Face Thumbnail
Rotated Circular Thumbnail
Zoom Effects and Zoom Image Overlay
Watermark Image
Optimized WebP
Overlay, Border, Shadow Text Overlay, Border, Shadow etc.
The admin console is pretty kickass too, with all of the above features available for you to configure over the cloud. And it fits well with pretty much any application (we use it in our internal Ruby, Go, NodeJS services, our Web Application and our iOS and Android apps as well).
I'm not paid to sell Cloudinary to you, but I can vouch that if it is image based services I needed, I would go for Cloudinary any day over S3. Major players like EBay and TED etc. use it for their image requirements.

What are some options for handling image uploading/compression in ASP?

please bear with me as I'm not trying to frustrate anyone with inane questions, and I did google search this but I couldn't really find anything recent or helpful.
I am a novice programmer and I am using a classic asp web application. I just enabled the users to upload and download images, but I'm quickly regretting it as it's eating up all of the router bandwidth. I am finding my solution inadequate, so I wanted to start over.
My desire is threefold with this functionality:
Compression. I understand that this is impossible to do BEFORE uploading without some kind of Java/Silverlight/Flash portion of the application to handle uploads, correct? What is the common way most places go about this? Just allow regular file uploads and compress once they are on the server?
Resizing. I want to resize all images before they are uploaded to a reasonable size, instead of just telling users that try and upload huge camera images that they can't upload. I figure I just want to let them upload and have it resize for them before uploading. Does this functionality exist already?
Changing filetype. I want to allow users to upload all image file types but make them .jpg on the server after the upload.
With these three requirements, how hard is it to implement something like this in just pure code and libraries? Would it be better to just use a 3rd party plugin, such as ASPjpeg or ASPupload? Have you encountered something similar, and what was your solution?
Thanks.
Take a look at ASPJpeg and ASPUpload from Persits. We use these components to upload a full size image (can be png even though the library is "ASPJpeg"), resize it to several different sizes we need on our site, then store the resized images on the server in a variety of folders. The ASPUpload component is a little tricky but if you follow their sample code you'll be fine.
I never found a good component for decompressing uploaded zip files and had to write my own, which I've since abandoned. In the end with upload speeds increasing and storage getting so cheap, it started to matter less and less that the files were compressed before being uploaded.
EDIT: Just noticed you mentioned these components in your question. Consider this an endorsement of your idea to use them. :-)

Storing and using images in my app to Parse

I recently uploaded my iOS quiz app to the Apple's app store but the file size is fairly large (150 MB) and would like to reduce this size drastically. I believe the majority of the file size is coming from my images, I have over 500 jpg images in my app. I recently incorporated Parse into my app in hopes of storing the files there. Problem is, I am having some difficulty figuring out how to store and use the images from my app to Parse. The basic setup of my App is like this:
I have two folders containing all the jpg images for my app. They are saved to my project in the folders named "Newschool" and "Oldschool"
I then have two .plist files which contain all the questions and answers for my app.
Here is an example of one of the question and answer from the Oldschool.plist:
The user is shown the jpg image "PervisEllison.jpg" which is stored in the "Oldschool" folder.
So what would I need to do to move all my images from my App to Parse and code it so my App draws the image from Parse instead of the jpgs in the folders? I'm sure I need to change some coding but don't know what. I played around a little bit in Parse by adding rows and columns but have no clue what I'm dong..
I apologize ahead of time for my ignorance as I am still learning programming and know nothing of Backend as a service. Thank you!

Putting Pictures in DynamoDB

I was wondering if it was possible to put pictures into DynamoDB tables from an iOS device. If so I was wondering if someone could provide me with an example using the Swift language as I have no idea where to start.
DynamoDB supports attributes of Binary type. You could have an IMAGES table where you store items with an image Binary attribute value. The maximum item size of DynamoDB items is 400KB. If the images you are trying to store are larger, or can be larger than 400KB, then you will not be able to store those images. In case you want to support images larger than 400KB, store S3 links to the images in DynamoDB, and store the actual images in S3. It might be easier to only store links to images in S3.
Yes its possible if the images are small enough - better answer: don't do it. Just because you could, doesn't mean you should.
If you are working in/on the amazon stack, s3 is a much better place to store images.

Rails 3 - downloading large amounts of picture from the web

I am solving the question about downloading a large amounts of picture from the web. I have XML file with links to images on web sites and I have to download this images. Every image have ca ±3MB and the count of images is tens of thousands, so is not possible to store these images on hosting (100.000 x 3MB)...
And these images I need to display on sites. I don't worked yet with so large amounts of data yet, so I would like to ask you, what could be the best idea for displaying these images on "my" page.
My first ideas:
- store only links into my database table and then for displaying images use just image_tag URL_OF_IMAGE
- some a way of caching images/links of images (I don't know specifically)
Can you help me, please, what you think will be the fastest way for displaying images from foreigners sources?
Thank you in advance,
M.
Amazon S3, but as ezkl says, make sure you have licensing rights to the images or you'll land yourself in trouble (and in any case it is wrong to use the content without permission).

Resources