Find Jobs
Hire Freelancers

Source Code for Smooth Image Resampling (Resizing)

€250-750 EUR

Inställt
Publicerad ungefär ett år sedan

€250-750 EUR

Betalning vid leverans
I am looking for an algorithm to resize images in C++. It basically should implement the algorithm described here: [login to view URL] But it should be faster by using SSE. Furthermore it shoul be able to handle just a part of the pictureBuffer. The function signature should be: resize(unsigned char* src, int w1, int h1,unsigned char* dest, int w2, int h2, int yoff, int yoffend, int xoff, int xoffend) The last 4 offset variables are describing a rectangle in the output buffer.
Project ID: 36314221

Om projektet

5 anbud
Distansprojekt
Senaste aktivitet ett år sedan

Ute efter att tjäna lite pengar?

Fördelar med att lägga anbud hos Freelancer

Ange budget och tidsram
Få betalt för ditt arbete
Beskriv ditt förslag
Det är gratis att registrera sig och att lägga anbud på uppdrag
5 frilansar lägger i genomsnitt anbud på €410 EUR för detta uppdrag
Använd avatar
Hello, I will work on this project until I get good results and complete all the tasks. I am prepared to handle projects requiring Algorithm skills. Lets connect in chat so that we discuss further. Regards
€750 EUR Om 7 dagar
4,9 (66 omdömen)
5,2
5,2
Använd avatar
Hi there, we are experts in C++, Algorithm, Software Architecture. Please, send me a message to discuss the work and finish in no time. Thanks Ashish.
€500 EUR Om 7 dagar
5,0 (5 omdömen)
3,5
3,5
Använd avatar
Hello, I read your job requirement and I can confirm you that i can deal with your problem. Contact me to share more information and start working on it. Kind regards
€250 EUR Om 3 dagar
5,0 (2 omdömen)
2,5
2,5
Använd avatar
inline __m128i interpolate(__m128i a, __m128i b, int weight) { __m128i w = _mm_set1_epi16(weight); __m128i wInv = _mm_sub_epi16(_mm_set1_epi16(256), w); __m128i weightedA = _mm_mullo_epi16(a, wInv); __m128i weightedB = _mm_mullo_epi16(b, w); __m128i sum = _mm_add_epi16(weightedA, weightedB); return _mm_srli_epi16(sum, 8); // divide by 256 } void resize(unsigned char* sc, int w1, int h1, unsigned char* dest, int w2, int h2, int yoff, int yoffend, int xoff, int xoffend) { const float dx = (float)w1 / (float)w2; const float dy = (float)h1 / (float)h2; for (int y = yoff; y < yoffend; ++y) { // Compute source row indices and interpolation weights int y1 = (int)(dy * (float)y); int y2 = (int)(dy * (float)(y + 1)) - 1; int w1y = y1 * w1; int w2y = (y - yoff) * w2; int w2yend = (y + 1 - yoff) * w2; int weight1 = (int)((dy * (float)y - (float)y1) * 256.f); int weight2 = 256 - weight1; for (int x = xoff; x < xoffend; x += 4) { // Compute source column indices and interpolation weights int x1 = (int)(dx * (float)x); int x2 = (int)(dx * (float)(x + 4)) - 1; __m128i w1x = _mm_set_epi16( sc[(y1 * w1) + x2], sc[(y1 * w1) + x1], sc[(y1 * w1) + x2 - 1], sc[(y1 * w1) + x1 - 1]…
€300 EUR Om 2 dagar
5,0 (2 omdömen)
1,4
1,4
Använd avatar
Hello, I can help you to to decrease size image in your project in c++. Please send me a message for more details. Thankyou
€250 EUR Om 1 dag
0,0 (0 omdömen)
0,0
0,0

Om kunden

Flagga för GERMANY
Berlin, Germany
0,0
0
Verifierad betalningsmetod
Medlem sedan jan. 15, 2008

Kundverifikation

Tack! Vi har skickat en länk för aktivering av gratis kredit.
Något gick fel med ditt e-postmeddelande. Vänligen försök igen.
Registrerade Användare Totalt antal jobb publicerade
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Laddar förhandsgranskning
Tillstånd beviljat för geolokalisering.
Din inloggningssession har löpt ut och du har blivit utloggad. Logga in igen.