Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

c++ gde je greska?

[es] :: C/C++ programiranje :: c++ gde je greska?

[ Pregleda: 2121 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

igorx

Član broj: 90373
Poruke: 4
*.verat.net.



Profil

icon c++ gde je greska?06.04.2006. u 21:25 - pre 219 meseci
Program za zamenu plave boje crvenom:

#include <stdio.h>
main()
{
FILE *fp1,*fp2;
int c,n,m,l,d;
fp1=fopen("c:\slika.jpg","rb");
fp2=fopen("c:\slika2.jpg","wb");
for (n=1;n<119;n++)
putc(fgetc(fp1),fp2);
for (n=479;n>=0;--n)
{
for (m=319;m>=0;--m)
{
c=fgetc(fp1);
l=c/16;
d=c-(l*16);
if(l==4)l=1;if(l==0xc)l=0x9;
if(d==4)d=1;if(d==0xc)d=0x9;
c=l*16+d;
putc(c,fp2);
}}
fclose(fp1);fclose(fp2);}

Gde sam pogresio?
 
Odgovor na temu

z@re
Zarko Bulatovic
Split

Član broj: 29849
Poruke: 443
*.cmu.carnet.hr.



+25 Profil

icon Re: c++ gde je greska?07.04.2006. u 02:07 - pre 219 meseci
Preporuka. Zamjeni svoje sa ovim :

Code:

fp1=fopen("c://slika.jpg","rb");
fp2=fopen("c://slika2.jpg","wb");


Jer se backslash unutar stringa konta kao posebna sekvenca, u spoju sa iducim znakom. Recimo "\n" za newline i slicno. U tvom slucaju kompajler pokusava prokuzit sekvencu "\s".

A onda...imas gresku u algoritmu za konverziju negdje. Nikad nisam ovo rucno radio, pa ti ne mogu pomoc.

Q: HSP56 Micromodem nece da radi kompjuter ga prepozna a kad treba da se konektujem nece ne daje ni znaka zivota. u cemu je problem.

A: Crko mozda od grmljavine mozda od spanaca. Uglavnom baci ga u WC solju jako povuci vodu. Skupi 5e i uzmi drugi i ne postuj temu na pogresno mesto.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: c++ gde je greska?07.04.2006. u 07:39 - pre 219 meseci
Citat:

fp1=fopen("c://slika.jpg","rb");
fp2=fopen("c://slika2.jpg","wb");


ili:

fp1=fopen("c:\\slika.jpg","rb");
fp2=fopen("c:\\slika2.jpg","wb");

ili:

fp1=fopen("c:/slika.jpg","rb");
fp2=fopen("c:/slika2.jpg","wb");

 
Odgovor na temu

Alex21
Zagreb

Član broj: 89590
Poruke: 24
82.193.194.*



Profil

icon Re: c++ gde je greska?07.04.2006. u 08:01 - pre 219 meseci
Odakle ti ovaj algoritam?

Osim ako nije neko tricky rješenje nekog ingenioznog matematičara, sumnjam da možeš mijenjat boje u jpg slici na ovaj način.
JPEG kompresija poprilično je zahtjevna. Procdura dekodiranja otprilike izgleda:
Huffman dekodiranje -> Inverzno DPCM kodiranje -> Inverzna kvantizacija -> Inverzna Disktretna Kosinusna Transformacija -> ....

Kad bi to mogli strpat u 5 linija golog c++ koda, eh ... di bi sutra bili. :)
 
Odgovor na temu

igorx

Član broj: 90373
Poruke: 4
*.verat.net.



Profil

icon Re: c++ gde je greska?07.04.2006. u 09:15 - pre 219 meseci
Jel moze neko da mi posalje kod za JPEG?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: c++ gde je greska?07.04.2006. u 09:38 - pre 219 meseci
Hm...

Kad je u pitanju JPG (koji nije 'linearan' format) pretpostavljam da je najbolje potraziti
na netu neke besplatne biblioteke koje ce JPG uciniti prividno 'lineranim', pa da se moze
sa njime raditi 'kroz petlju'.

Kao jedna od mogucnosti preostaje konvertovanje iz JPG i BMP pa da se nastavi rad sa
BMP-om. Doduse, ovo resenje nije bas najidealnije jer bi se svakom iteracijom potencijalno
gubilo na kvalitetu, sto je dobro poznato za JPG.

Mozda bi vredelo pogledati sajt:
http://www.efg2.com/Lab/
... koji doduse jeste za Delphi, ali source kod za takve stvari je u principu samo pitanje
matematike, sto se lako 'cita' i tumaci.
 
Odgovor na temu

Alex21
Zagreb

Član broj: 89590
Poruke: 24
82.193.194.*



Profil

icon Re: c++ gde je greska?07.04.2006. u 10:47 - pre 219 meseci
S WindowsXp dolazi GDI+ biblioteka (daleko napredniji library od standarnog GDI) : gdi.dll,
koja sadrži Image klasu za rad nad slikama tipa: BMP, ICON, GIF, JPEG, Exif, PNG, TIFF, WMF, i EMF -> više u MSDN-u.

Kod učitavanja slike ona se konvertira u BMP (u RAM-u) te se tamo mogu radit obrade, pa se pukne natrag u JPG.

Što se tiče gubitka kvalitete kod obrade JPEG slika,
ona je neizbježna osim kod nekih jednostavnijih operacija; rotiranje i flipanje ,opet uz određene uvjete na sliku.
Transformacije JPEG slika bez gubitaka su ograničene samim profocesom kodiranja slike.
 
Odgovor na temu

[es] :: C/C++ programiranje :: c++ gde je greska?

[ Pregleda: 2121 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.