Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Siguria
  • Përpunimi Furier i imazheve dixhitale. Çfarë është një imazh diskret? dhe çfarë është rezolucioni i harduerit

Përpunimi Furier i imazheve dixhitale. Çfarë është një imazh diskret? dhe çfarë është rezolucioni i harduerit

Dhënia analoge dhe diskrete e informacionit grafik Një person është në gjendje të perceptojë dhe ruajë informacionin në formën e imazheve (vizuale, tingullore, prekëse, shijuese dhe nuhatëse). Imazhet vizuale mund të ruhen në formën e imazheve (vizatime, fotografi, etj.), dhe imazhet zanore mund të regjistrohen në regjistrime, shirita magnetikë, disqe lazer, etj.

Informacioni, duke përfshirë grafikun dhe zërin, mund të paraqitet në formë analoge ose diskrete. Me një paraqitje analoge, një sasi fizike merr një grup të pafund vlerash dhe vlerat e saj ndryshojnë vazhdimisht. Në një paraqitje diskrete, një sasi fizike merr një grup vlerash të fundme dhe vlera e saj ndryshon befas.

Le të japim një shembull të paraqitjes së informacionit analog dhe diskret. Pozicioni i trupit në një plan të pjerrët dhe në një shkallë përcaktohet nga vlerat e koordinatave X dhe Y. Kur një trup lëviz përgjatë një plani të pjerrët, koordinatat e tij mund të marrin një grup të pafund vlerash që ndryshojnë vazhdimisht. nga një gamë e caktuar, dhe kur lëvizni përgjatë një shkalle, vetëm një grup vlerash dhe ndryshon papritur


Një shembull i një paraqitjeje analoge të informacionit grafik mund të jetë, për shembull, një kanavacë pikture, ngjyra e së cilës ndryshon vazhdimisht, dhe diskrete - një imazh i printuar duke përdorur një printer inkjet dhe i përbërë nga pika të veçanta me ngjyra të ndryshme. Një shembull i ruajtjes analoge të informacionit të tingullit është një rekord vinyl (pjesa zanore ndryshon formën e saj vazhdimisht), dhe ruajtja diskrete është një CD audio (pjesa zanore e së cilës përmban zona me reflektim të ndryshëm).

Shndërrimi i informacionit grafik dhe audio nga forma analoge në diskrete kryhet me marrjen e mostrave, domethënë duke ndarë një imazh grafik të vazhdueshëm dhe një sinjal audio të vazhdueshëm (analog) në elementë të veçantë. Në procesin e kampionimit, kryhet kodimi, domethënë caktimi i secilit element në një vlerë specifike në formën e një kodi.

Marrja e mostrave është shndërrimi i imazheve dhe zërit të vazhdueshëm në një grup vlerash diskrete në formën e kodeve.

Tingulli në kujtesën e kompjuterit

Konceptet bazë: përshtatës audio, frekuenca e kampionimit, kapaciteti i regjistrit, skedari zanor.

Natyra fizike e zërit është dridhje në një gamë të caktuar frekuence, të transmetuara nga një valë zanore përmes ajrit (ose mediumit tjetër elastik). Procesi i konvertimit të valëve të zërit në kod binar në kujtesën e kompjuterit: valë zanore -> mikrofon -> rrymë elektrike alternative -> përshtatës audio -> kodi binar -> memorie kompjuteri .

Procesi i riprodhimit të informacionit të zërit të ruajtur në kujtesën e kompjuterit:
memoria kompjuterike -> kodi binar -> përshtatës audio -> rrymë elektrike alternative -> altoparlant -> valë zanore.

Përshtatës audio(kartë zanore) - një pajisje speciale e lidhur me një kompjuter të krijuar për të kthyer dridhjet elektrike të një frekuence audio në një kod binar numerik kur futet tingulli dhe për konvertimin e kundërt (nga një kod numerik në dridhje elektrike) kur luan tingull.

Gjatë regjistrimit të audios përshtatësi audio me një periudhë të caktuar mat amplituda e rrymës elektrike dhe hyn në reg pp është kodi binar i vlerës së fituar. Pastaj kodi që rezulton nga regjistri rishkruhet në RAM-in e kompjuterit. Cilësia e zërit të kompjuterit përcaktohet nga karakteristikat e përshtatësit audio: frekuenca e kampionimit dhe thellësia e bitit.

Frekuenca e marrjes së mostraveËshtë numri i matjeve të sinjalit të hyrjes për sekondë. Frekuenca matet në herc (Hz). Një matje në një sekondë korrespondon me një frekuencë prej 1 Hz. 1000 matje në një sekondë -1 kiloherz (kHz). Frekuencat tipike të disketimit të përshtatësve audio: 11 kHz, 22 kHz, 44.1 kHz, etj.

Madhësia e regjistrimit- numri i biteve në regjistrin e përshtatësit audio. Thellësia e bitit përcakton saktësinë e matjes së sinjalit të hyrjes. Sa më i madh të jetë kapaciteti i shifrës, aq më i vogël është gabimi i çdo shndërrimi individual të madhësisë së sinjalit elektrik në numër dhe anasjelltas. Nëse gjerësia e bitit është 8 (16), atëherë kur matni sinjalin e hyrjes, mund të merren 2 8 = 256 (2 16 = 65536) vlera të ndryshme. Natyrisht 16-bit një përshtatës audio kodon dhe riprodhon tingullin më saktë se një 8-bit.

Skedar zanor- një skedar që ruan informacionin audio në një formë binare numerike. Në mënyrë tipike, informacioni në skedarët audio është i ngjeshur.

Shembuj të problemeve të zgjidhura.

Shembulli # 1.
Përcaktoni madhësinë (në bajt) të një skedari audio dixhital, koha e luajtjes së të cilit është 10 sekonda me një shpejtësi kampionimi prej 22,05 kHz dhe një rezolucion prej 8 bit. Skedari nuk është i ngjeshur.

Zgjidhje.
Formula për llogaritjen e madhësisë (në bajt) të një skedari audio dixhital (tingulli mono): (frekuenca e mostrës në Hz) * (koha e regjistrimit në sekonda) * (rezolucion në bit) / 8.

Kështu, skedari llogaritet si më poshtë: 22050 * 10 * 8/8 = 220500 bajt.

Detyrat e vetë-studimit

# 1. Përcaktoni sasinë e memories për ruajtjen e një skedari audio dixhital, koha e luajtjes së të cilit është dy minuta me një shpejtësi kampionimi prej 44.1 kHz dhe një rezolucion prej 16 bit.

# 2. Përdoruesi ka në dispozicion një memorie prej 2.6 MB. Duhet të regjistroni një skedar audio dixhital 1 minutësh. Sa duhet të jetë shpejtësia e kampionimit dhe thellësia e bitit?

nr 3. Hapësira e lirë e diskut është 5,25 MB, thellësia e zërit të tabelës është 16. Sa është kohëzgjatja e zërit të një skedari audio dixhital të regjistruar me një frekuencë kampionimi prej 22,05 kHz?

nr 4. Një minutë e një skedari audio dixhital merr 1,3 MB në një disk, thellësia e bitit të kartës së zërit është 8. Cila është shpejtësia e kampionimit të zërit të regjistruar?

nr 5. Dy minuta regjistrimi i një skedari audio dixhital kërkon 5,1 MB në një disk. Shpejtësia e kampionimit është 22050 Hz. Sa është thellësia bit e përshtatësit audio? nr 6. Sasia e memories së lirë në disk është 0,01 GB, thellësia bit e kartës së zërit është 16. Sa është kohëzgjatja e tingullit të një skedari audio dixhital të regjistruar me një frekuencë kampionimi prej 44100 Hz?

Paraqitja e informacionit grafik.

Paraqitja e bitmap-it.

Konceptet bazë: grafikë kompjuterike, piksel, raster, rezolucion i ekranit, informacione video, memorie video, skedar grafik, thellësi bit, faqe memorie video, kodi i ngjyrave të pikselit, primitiv grafik, sistem koordinativ grafik.

Grafika kompjuterike- një pjesë e informatikës, lënda e së cilës është puna në kompjuter me imazhe grafike (fotografi, vizatime, fotografi, korniza video, etj.).

Pixel- elementi më i vogël i figurës në ekran (pika në ekran).

Raster- një rrjet drejtkëndor pikselësh në ekran.

Rezolucioni i ekranit- madhësia e rrjetës së rasterit, e specifikuar si produkt M * N, ku M është numri i pikave horizontalisht, N është numri i pikave përgjatë vertikale (numri i vijave).

Informacione video- informacion rreth imazhit të riprodhuar në ekranin e kompjuterit, i ruajtur në memorien e kompjuterit.

Video memorie- memorie me akses të rastësishëm që ruan informacionin e videos gjatë riprodhimit të saj në një imazh në ekran.

Skedar grafik- një skedar që ruan informacione për një imazh grafik.

Numri i ngjyrave të riprodhuara në ekranin e ekranit (K) dhe numri i biteve të alokuara në memorien e videos për çdo piksel (N) lidhen me formulën: K = 2 N

Sasia N quhet thellësi bit.

Faqe- një seksion memorie video që përmban informacione për një imazh të ekranit (një "foto" në ekran). Disa faqe mund të vendosen në kujtesën e videos në të njëjtën kohë.

E gjithë larmia e ngjyrave në ekran përftohet duke përzier tre ngjyra bazë: të kuqe, blu dhe jeshile. Çdo piksel në ekran përbëhet nga tre elementë të ndarë ngushtë që shkëlqejnë me këto ngjyra. Ekranet me ngjyra duke përdorur këtë parim quhen monitorë RGB (Red-Green-Blue).

Kodi ngjyrat e pikselave përmban informacion në lidhje me proporcionin e secilës ngjyrë bazë.
Nëse të tre komponentët kanë të njëjtin intensitet (shkëlqim), atëherë nga kombinimet e tyre mund të përftohen 8 ngjyra të ndryshme (2 3). Tabela e mëposhtme tregon kodimin e një palete me 8 ngjyra duke përdorur një kod binar 3-bit. Në të, prania e ngjyrës bazë tregohet me një, dhe mungesa me zero.

Kodi binar


TE Z ME Ngjyrë
0 0
0
E zezë
0 0
1
Blu
0 1 0 E gjelbër
0 1 1 Blu
1 0
0
E kuqe
1 0
1
Rozë
1 1
0
Kafe
1 1
1
E bardha

Një gamë me gjashtëmbëdhjetë ngjyra merret duke përdorur kodimin piksel 4-bit: një bit intensiteti u shtohet tre biteve të ngjyrave bazë. Ky bit kontrollon ndriçimin e të tre ngjyrave në të njëjtën kohë. Për shembull, nëse në një paletë me 8 ngjyra, kodi 100 do të thotë e kuqe, atëherë në një gamë me 16 ngjyra: 0100 - e kuqe, 1100 - e kuqe e ndezur; 0110 - kafe, 1110 - kafe e ndritshme (e verdhë).

Një numër i madh ngjyrash përftohen duke kontrolluar veçmas intensitetin e ngjyrave bazë. Për më tepër, intensiteti mund të ketë më shumë se dy nivele, nëse më shumë se një bit është ndarë për të koduar secilën prej ngjyrave bazë.

Kur përdorni një thellësi bit prej 8 bit / pixel, numri i ngjyrave është 2 8 = 256. Bitet e këtij kodi shpërndahen si më poshtë: KKKZZSS.

Kjo do të thotë që 3 bit ndahen për komponentët e kuq dhe jeshil, dhe 2 bit për blunë. Prandaj, përbërësit e kuq dhe jeshil kanë 2 3 = 8 nivele ndriçimi, dhe blu - 4 nivele.

Paraqitja vektoriale.

Në qasjen vektoriale, imazhi konsiderohet si një koleksion elementësh të thjeshtë: vija të drejta, harqe, rrathë, elips, drejtkëndësha, hije etj., të cilat quhen primitivët grafikë... Informacioni grafik është të dhëna që identifikojnë në mënyrë unike të gjithë primitivët grafikë që përbëjnë një vizatim.

Pozicioni dhe forma e primitivëve grafikë janë vendosur sistemi i koordinatave grafik lidhur me ekranin. Zakonisht origjina ndodhet në këndin e sipërm të majtë të ekranit. Rrjeti i pikselave përputhet me rrjetin e koordinatave. Boshti horizontal X shkon nga e majta në të djathtë; boshti vertikal Y është nga lart poshtë.

Një segment i një vije të drejtë përcaktohet në mënyrë unike duke specifikuar koordinatat e skajeve të saj; rrethi - koordinatat qendrore dhe rrezja; poliedri - koordinatat e qosheve të tij, zona e mbushur - me vijën kufitare dhe ngjyrën e mbushjes, etj.

Ekipi

Veprimi

Linja për X1, Y1

Vizatoni një vijë nga pozicioni aktual në pozicionin (X1, Y1).

Linja X1, Y1, X2, Y2

Vizatoni një vijë me koordinatat e fillimit X1, Y1 dhe koordinatat fundore X2, Y2. Pozicioni aktual nuk është vendosur.

Rrethi X, Y, R

Vizatoni një rreth: X, Y - koordinatat qendrore, R - gjatësia e rrezes në hapat e rrjetës raster.

Ellipse X1, Y1, X2, Y2

Vizatoni një elips të kufizuar nga një drejtkëndësh; (X1, Y1) janë koordinatat e këndit të sipërm të majtë dhe (X2, Y2) janë koordinatat e këndit të poshtëm djathtas të këtij drejtkëndëshi.

Drejtkëndësh X1, Y1, X2, Y2

Vizatoni një drejtkëndësh; (X1, Y1) janë koordinatat e këndit të sipërm të majtë dhe (X2, Y2) janë koordinatat e këndit të poshtëm djathtas të këtij drejtkëndëshi.

Ngjyra e bojës NGJYRA

Vendosni ngjyrën aktuale të vizatimit.

Plotësoni ngjyrën COLOR

Vendosni ngjyrën aktuale të mbushjes.

Ngjyrosni mbi X, Y, NGJYRA E KUFIT

Ngjyrosni mbi një formë arbitrare të mbyllur; X, Y - koordinatat e çdo pike brenda formës së mbyllur, BORDER COLOR - ngjyra e vijës kufitare.

Shembuj të problemeve të zgjidhura.

Shembulli # 1.
Për të formuar një ngjyrë, përdoren 256 nuanca të së kuqes, 256 nuanca të gjelbërta dhe 256 nuanca të blusë. Sa ngjyra mund të shfaqen në ekran në këtë rast?

Zgjidhja:
256*256*256=16777216.

Shembulli nr. 2.
Në një ekran me rezolucion 640 * 200, shfaqen vetëm imazhe me dy ngjyra. Cila është sasia minimale e kujtesës video që kërkohet për të ruajtur një imazh?

Zgjidhje.
Meqenëse thellësia e bitit të një imazhi me dy ngjyra është 1, dhe memoria video duhet të përmbajë të paktën një faqe të imazhit, sasia e kujtesës video është: 640 * 200 * 1 = 128000 bit = 16000 bajt.

Shembulli nr. 3.
Sa memorie video nevojitet për të ruajtur katër faqe të një imazhi nëse thellësia e bitit është 24 dhe rezolucioni i ekranit është 800 * 600 piksele?

Zgjidhje.
Për të ruajtur një faqe, ju duhet

800 * 600 * 24 = 11,520,000 bit = 1,440,000 bajt. Për 4, përkatësisht, 1,440,000 * 4 = 5,760,000 bajt.

Shembulli nr. 4.
Thellësia e bitit është 24. Sa nuanca të ndryshme gri mund të shfaqen në ekran?
Shënim: Përftohet një nuancë gri me vlera të barabarta të niveleve të ndriçimit të të tre komponentëve. Nëse të tre komponentët kanë nivelin maksimal të ndriçimit, atëherë ngjyra është e bardhë; mungesa e të tre përbërësve përfaqëson të zezën.

Zgjidhje.
Meqenëse përbërësit RGB janë të njëjtë për shkallën gri, thellësia është 24/3 = 8. Ne marrim numrin e ngjyrave 2 8 = 256.

Shembulli nr. 5.
Jepet një rrjet raster 10 * 10. Përshkruani shkronjën "K" me një sekuencë komandash vektoriale.

Zgjidhja:
Në paraqitjen vektoriale, shkronja "K" është tre rreshta. Çdo vijë përshkruhet duke treguar koordinatat e skajeve të saj në formën: LINE (X1, Y1, X2, Y2). Imazhi i shkronjës "K" do të përshkruhet si më poshtë:

LINE (4,2,4,8)
LINE (5,5,8,2)
LINE (5,5,8,8)

Detyrat për punë të pavarur.

# 1. Sa memorie video nevojitet për të ruajtur dy faqe të një imazhi, duke supozuar se rezolucioni i ekranit është 640 * 350 piksele dhe numri i ngjyrave të përdorura është 16?

# 2. Sasia e memorjes video është 1 MB. Rezolucioni i ekranit - 800 * 600. Cili është numri maksimal i ngjyrave që mund të përdoren nëse memoria video ndahet në dy faqe?

nr 3. Thellësia e bitit është 24. Përshkruani disa opsione për paraqitjen binare të nuancave gri të lehta dhe gri të errëta.

nr 4. Në ekranin e kompjuterit, ju duhet të merrni 1024 nuanca gri. Sa duhet të jetë thellësia e bitit?

nr 5. Për përfaqësimin e shifrave dhjetore në standardin e kodit postar (siç thonë në zarfe), merrni një paraqitje vektoriale dhe raster. Zgjidhni vetë madhësinë e rrjetit raster.

nr 6. Riprodhoni vizatime në letër duke përdorur komandat vektoriale. Rezoluta 64 * 48.

A)
Ngjyra e vizatimit E kuqe
Mbushni ngjyrën e verdhë
Rrethi 16, 10, 2
Bojë mbi 16, 10, E kuqe
Seti 16, 12
Rreshti deri në 16, 23
Rreshti deri në 19, 29
Rreshti deri në 21, 29
Rreshti 16, 23, 13, 29
Rreshti 13, 29, 11, 29
Rreshti 16, 16, 11, 12
Rreshti 16, 16, 21, 12

B)
Ngjyra e vizatimit E kuqe
Ngjyra mbushëse e kuqe
Rrethi 20, 10, 5
Rrethi 20, 10, 10
Bojë mbi 25, 15, E kuqe
Rrethi 20, 30, 5
Rrethi 20, 30, 10
Bojë mbi 28, 32, E kuqe

Një fotografi dixhitale ose një imazh tjetër raster është një grup numrash të kapur nga sensorët e nivelit të ndriçimit në një plan dy-dimensional. Duke ditur që nga pikëpamja matematikore, një lente e hollë kryen transformimin Furier të imazheve të vendosura në plane fokale, është e mundur të krijohen algoritme të përpunimit të imazhit që janë analoge me përpunimin e imazhit të një sistemi optik klasik.

Formula për algoritme të tilla do të duket si kjo:

  1. Z = FFT (X) - Transformimi i drejtpërdrejtë 2D Furier
  2. Z ′ = T (Z) - aplikimi i një funksioni ose transparence në transformimin Furier të imazhit
  3. Y = BFT (Z ′) - transformim i anasjelltë 2D Furier
Algoritmet e shpejta diskrete të transformimit të Furierit përdoren për të llogaritur transformimet Fourier. Megjithëse sistemi i lenteve optike kryen transformimin e Furierit në diapazonin e vazhdueshëm të argumentit dhe për spektrin e vazhdueshëm, kur kaloni në përpunimin dixhital të të dhënave, formulat e transformimit të Furierit mund të zëvendësohen nga formulat diskrete të transformimit të Furierit.

Shembuj zbatimi

  • Algoritmi i turbullimit të imazhit
Algoritmet e implementuara janë pjesë e bibliotekës FFTTools me kod të hapur. Adresa e internetit: github.com/dprotopopov/FFTTools

Algoritmi i turbullimit të imazhit

Në sistemet optike, një diafragmë me plan fokal është një hapje e thjeshtë në ekran. Si rezultat i kalimit të fluksit të dritës nëpër diafragmë, valët me frekuencë të lartë (me gjatësi vale më të shkurtra) kalojnë nëpër pengesë, dhe valët me frekuencë të ulët (me gjatësi vale më të mëdha) priten nga ekrani. Kjo rrit mprehtësinë e imazhit që rezulton. Nëse e zëvendësoni vrimën në ekran me një pengesë në ekran, rezultati do të jetë një imazh i paqartë sepse do të formohet nga frekuencat e gjatësive të valëve të gjata.

Algoritmi:

  1. Llogaritni grupin Z ′ = T (Z), ku T është zerimi i rreshtave dhe kolonave të vendosura në rajonet e brendshme të dhëna të argumentit të matricës që korrespondon me frekuencat e larta 5. (d.m.th., zeroimi i koeficientëve të zgjerimit të Furierit që korrespondojnë me të lartë frekuenca)

Algoritmi për mprehjen e imazhit

Në sistemet optike, një diafragmë me plan fokal është një hapje e thjeshtë në ekran. Si rezultat i kalimit të fluksit të dritës nëpër diafragmë, valët me frekuencë të lartë (me gjatësi vale më të shkurtra) kalojnë nëpër pengesë, dhe valët me frekuencë të ulët (me gjatësi vale më të mëdha) priten nga ekrani. Kjo rrit mprehtësinë e imazhit që rezulton.

Algoritmi:

  1. Le të jetë X (N1, N2) një grup i ndriçimit të pikselit të imazhit.
  2. Llogaritni Px = ndriçimin mesatar (RMS) të pikselëve në grupin X
  3. Llogaritni vargun Z = FT (X) - Transformimi Diskret i Furierit Direkt 2D
  4. Mbani vlerën L = Z (0,0) - që korrespondon me ndriçimin mesatar të pikselëve të imazhit origjinal
  5. Llogaritni grupin Z ′ = T (Z), ku T është zerimi i rreshtave dhe kolonave të vendosura në rajonet e jashtme të dhëna të matricës së argumentit që korrespondon me frekuencat e ulëta 6. (d.m.th., zeroimi i koeficientëve të zgjerimit të Furierit që korrespondojnë me frekuencat e ulëta)
  6. Rivendos vlerën Z '(0,0) = L - që korrespondon me ndriçimin mesatar të pikselëve të imazhit origjinal
  7. Llogaritni grupin Y = RFT (Z ′) - Transformimi Diskret Furier i anasjelltë 2D
  8. Llogaritni Py = ndriçimin mesatar (rms) të pikselëve në grupin Y
  9. Normalizoni grupin Y (N1, N2) në ndriçimin mesatar Px / Py

Algoritmi i shkallëzimit të imazhit

Në sistemet optike, fluksi i dritës në rrafshin fokal të sistemit është transformimi Furier i imazhit origjinal. Madhësia e imazhit të marrë në daljen e sistemit optik përcaktohet nga raporti i distancave fokale të objektivit dhe okularit.

Algoritmi:

  1. Le të jetë X (N1, N2) një grup i ndriçimit të pikselit të imazhit.
  2. Llogaritni Px = ndriçimin mesatar (RMS) të pikselëve në grupin X
  3. Llogaritni vargun Z = FT (X) - Transformimi Diskret i Furierit Direkt 2D
  4. Llogaritni grupin Z ′ = T (Z), ku T ose shton zero rreshta dhe kolona të matricës që korrespondojnë me frekuencat e larta, ose heq rreshtat dhe kolonat e matricës që korrespondojnë me frekuencat e larta për të marrë madhësinë e kërkuar të imazhit përfundimtar
  5. Llogaritni grupin Y = RFT (Z ′) - Transformimi Diskret Furier i anasjelltë 2D
  6. Llogaritni Py = ndriçimin mesatar (rms) të pikselëve në grupin Y
  7. Normalizoni grupin Y (M1, M2) në ndriçimin mesatar Px / Py
Softueri i përdorur
  • Microsoft Visual Studio 2013 C # - mjedisi dhe gjuha e programimit
  • EmguCV / OpenCV - biblioteka C ++ e strukturave dhe algoritmeve për përpunimin e imazhit
  • FFTWSharp / FFTW - biblioteka C ++ që zbaton algoritme të shpejta diskrete të transformimit të Furierit

Algoritmi i turbullimit të imazhit

Kodi i algoritmit

///

/// Pastro rajonin e brendshëm të grupit /// /// Varg vlerash /// Madhësia e zonës së brendshme të verbër zbrazëti private statike Blind (Të dhëna komplekse [,], madhësia e madhësisë) (int n0 = të dhëna.GetLength (0); int n1 = të dhëna.GetLength (1); int n2 = të dhëna.GetLength (2); int s0 = Math. Maksimumi (0, (n0 - madhësia. Lartësia) / 2); int s1 = matematikë. Maksimumi (0, (n1 - madhësia. Gjerësia) / 2); int e0 = Mat. ) / 2, n0); int e1 = Math.Min ((n1 + madhësia. Gjerësia) / 2, n1); për (int i = s0; i< e0; i++) { Array.Clear(data, i*n1*n2, n1*n2); } for (int i = 0; i < s0; i++) { Array.Clear(data, i*n1*n2 + s1*n2, (e1 - s1)*n2); } for (int i = e0; i < n0; i++) { Array.Clear(data, i*n1*n2 + s1*n2, (e1 - s1)*n2); } } /// /// Blloko bitmap me transformimin më të shpejtë të Furierit /// /// Bitmap i turbullt Blur publike Bitmap (Bitmap Bitmap) (duke përdorur (var image = imazh i ri (bitmap)) (gjatësia int = imazh.Data.Gjatësia; int n0 = imazh.Data.GetLength (0); int n1 = imazh.Data.GetLength (1); int n2 = imazh.Data.GetLength (2); var dyfish = dyfish i ri; Buffer.BlockCopy (image.Data, 0, dyfish, 0, gjatësia * madhësia e (dyfish)); fuqia e dyfishtë = Math.Sqrt (dyfish. Mesatare (x => x * x)); futja var = fftw_complexarray i ri (doubles.Zgjidh (x => Kompleksi i ri (x, 0)). ToArray ()); dalje var = fftw_complexarray i ri (gjatësia); fftw_plan.dft_3d (n0, n1, n2, hyrje, dalje, fftw_drejtim. Përpara, fftw_flags.Estimate) .Execute (); Kompleks kompleks = output.GetData_Complex (); Var të dhëna = Kompleks i ri; var buffer = dyfish i ri; kompleks GCHandleHandle = GCHandle.Alloc (kompleks, GCHandleType.Pinned); GCHandle dataHandle = .Alloc (të dhënat, GCHandleType.Pinned); IntPtr kompleksPtr = kompleksHandle.AddrOfPinnedObject (); Blind (të dhëna, _blind erSize); Marshal.Copy (dataPtr, buffer, 0, buffer.Length); Marshal.Copy (buffer, 0, kompleksPtr, buffer.Length); kompleksHandle.Free (); dataHandle.Free (); hyrje.SetData (komplekse); fftw_plan.dft_3d (n0, n1, n2, hyrje, dalje, fftw_drejtimi. Prapa, fftw_flags. Vlerësimi) .Ekzekutoni (); grup i dyfishtë2 = dalje.GetData_Kompleks ().Zgjidh (x => x.Madhësia) .ToArray (); fuqia e dyfishtë2 = Math.Sqrt (array2.Mesatar (x => x * x)); dyfishon = grup2.Zgjidh (x =>

Algoritmi për mprehjen e imazhit

Kodi i algoritmit

///

/// Pastro rajonin e jashtëm të grupit /// /// Varg vlerash /// Madhësia e zonës së jashtme të verbër zbrazëti private statike Blind (Të dhëna komplekse [,], madhësia e madhësisë) (int n0 = të dhëna.GetLength (0); int n1 = të dhëna.GetLength (1); int n2 = të dhëna.GetLength (2); int s0 = Math. Maksimumi (0, (n0 - madhësia. Lartësia) / 2); int s1 = matematikë. Maksimumi (0, (n1 - madhësia. Gjerësia) / 2); int e0 = Mat. ) / 2, n0); int e1 = Math.Min ((n1 + madhësia. Gjerësia) / 2, n1); për (int i = 0; i< s0; i++) { Array.Clear(data, i*n1*n2, s1*n2); Array.Clear(data, i*n1*n2 + e1*n2, (n1 - e1)*n2); } for (int i = e0; i < n0; i++) { Array.Clear(data, i*n1*n2, s1*n2); Array.Clear(data, i*n1*n2 + e1*n2, (n1 - e1)*n2); } } /// /// Bitmap i mprehtë me transformimin më të shpejtë të Furierit /// /// Bitmap i mprehtë publike Bitmap Sharp (Bitmap bitmap) (duke përdorur (var image = imazh i ri (bitmap)) (gjatësia int = imazh.Data.Gjatësia; int n0 = imazh.Data.GetLength (0); int n1 = imazh.Data.GetLength (1); int n2 = imazh.Data.GetLength (2); var dyfish = dyfish i ri; Buffer.BlockCopy (image.Data, 0, dyfish, 0, gjatësia * madhësia e (dyfish)); fuqia e dyfishtë = Math.Sqrt (dyfish. Mesatare (x => x * x)); futja var = fftw_complexarray i ri (doubles.Zgjidh (x => Kompleksi i ri (x, 0)). ToArray ()); dalje var = fftw_complexarray i ri (gjatësia); fftw_plan.dft_3d (n0, n1, n2, hyrje, dalje, fftw_drejtim. Përpara, fftw_flags.Estimate) .Execute (); Kompleks kompleks = output.GetData_Complex (); Niveli kompleks = kompleks; var të dhëna = Kompleks i ri; var buffer = dyfish i ri; kompleks GCHandleHandle = GCHandle.Alloc (kompleks, GCHandleType.Pinned) ; ngth); Blind (të dhënat, _blinderSize); Marshal.Copy (dataPtr, buffer, 0, buffer.Length); Marshal.Copy (buffer, 0, kompleksPtr, buffer.Length); kompleksHandle.Free (); dataHandle.Free (); kompleks = nivel; hyrje.SetData (komplekse); fftw_plan.dft_3d (n0, n1, n2, hyrje, dalje, fftw_drejtimi. Prapa, fftw_flags. Vlerësimi) .Ekzekutoni (); grup i dyfishtë2 = dalje.GetData_Kompleks ().Zgjidh (x => x.Madhësia) .ToArray (); fuqia e dyfishtë2 = Math.Sqrt (array2.Mesatar (x => x * x)); dyfishon = grup2.Zgjidh (x => x * fuqia / fuqia2) .ToArray (); Buffer.BlockCopy (dyfish, 0, imazh.Të dhënat, 0, gjatësia * madhësia (dyfish)); kthej imazhin.Bitmap; ))

Algoritmi i shkallëzimit të imazhit

Kodi i algoritmit

///

/// Kopjo vargje /// /// Vargu i hyrjes /// Vargu dalës Kopjo e zbrazët statike private (hyrje komplekse [,], dalje komplekse [,]) (int n0 = hyrje.GetLength (0); int n1 = hyrje.GetLength (1); int n2 = hyrje.GetLength (2); int m0 = output.GetLength (0); int m1 = output.GetLength (1); int m2 = output.GetLength (2); int ex0 = Mat.Min (n0, m0) / 2; int ex1 = Math.Min (n1 , m1) / 2; int ex2 = Math.Min (n2, m2); Debug.Assert (n2 == m2); për (int k = 0; k< ex2; k++) { for (int i = 0; i <= ex0; i++) { for (int j = 0; j <= ex1; j++) { int ni = n0 - i - 1; int nj = n1 - j - 1; int mi = m0 - i - 1; int mj = m1 - j - 1; output = input; output = input; output = input; output = input; } } } } /// /// Ndryshimi i madhësisë së bitmap me transformimin më të shpejtë të Furierit /// /// Bitmap i ndryshuar përmasat Shtrirja publike e Bitmap (Bitmap Bitmap) (duke përdorur (var image = imazh i ri (bitmap)) (gjatësia int = imazh.Data.Gjatësia; int n0 = imazh.Data.GetLength (0); int n1 = imazh.Data.GetLength (1); int n2 = imazh.Data.GetLength (2); var dyfish = dyfish i ri; Buffer.BlockCopy (image.Data, 0, dyfish, 0, gjatësia * madhësia e (dyfish)); fuqia e dyfishtë = Math.Sqrt (dyfish. Mesatare (x => x * x)); futja var = fftw_complexarray i ri (doubles.Zgjidh (x => Kompleksi i ri (x, 0)). ToArray ()); dalje var = fftw_complexarray i ri (gjatësia); fftw_plan.dft_3d (n0, n1, n2, hyrje, dalje, fftw_drejtim. Përpara, fftw_flags.Estimate) .Execute (); Kompleks kompleks = output.GetData_Complex (); duke përdorur (var image2 = imazh i ri (_newSize)) (int length2 = image2.Data.Length; int m0 ​​= image2.Data.GetLength (0); int m1 = image2.Data.GetLength (1); int m2 = image2.Data.GetLength (2 ); var kompleks2 = Kompleks i ri; të dhëna var = Kompleks i ri; var të dhëna2 = Kompleks i ri; var buffer = dyfish i ri; kompleks GCHandleHandle = GCHandle.Alloc (kompleks, GCHandleType.Pinned); GCHandle dataHandle = GCHandle.Alloc (të dhëna, GCHandleType .Pinned);IntPtr kompleksPtr = kompleksHandle.AddrOfPinnedObject ();IntPtr dataPtr = DataHandle.AddrOfPinnedObject ();Marshal.Copy (complexPtr, buffer, 0, buffer.Gjatësia); Marshal.Hangth,Kopje të dhënash (Kopje komplekse,H,buffer); .Free (); dataHandle.Free (); Kopjo (të dhëna, të dhëna2); buffer = dyfish i ri; kompleksHandle = GCHandle.Alloc (complex2, GCHandleType.Pinned); dataHandle = GCHandle.Alloc (data2, GCHandleType.Pinned); = kompleksHandle.AddrOfPinnedObject (); dataPtr = dataHandle.AddrOfPinnedObject (); Marshal.Copy (dataPtr, buffer, 0, buffer.Length); Marshal.Copy (buffer, 0, kompleksPtr, tampon.Gjatësia); kompleksHandle.Free (); dataHandle.Free (); var input2 = new fftw_complexarray (complex2); var output2 = new fftw_complexarray (gjatësia2); fftw_plan.dft_3d (m0, m1, m2, input2, output2, fftw_direction.Backward, fftw_flags.Estimate) .Ekzekutoni (); grup i dyfishtë2 = output2.GetData_Complex ().Zgjidh (x => x.Madhësia) .ToArray (); fuqia e dyfishtë2 = Math.Sqrt (array2.Mesatar (x => x * x)); double doubles2 = varg2.Zgjidh (x => x * fuqia / fuqia2) .ToArray (); Buffer.BlockCopy (doubles2, 0, image2.Data, 0, length2 * sizeof (dyfish)); ktheje imazhin2.Bitmap; )))

Sinjalet mbërrijnë në sistemin e përpunimit të informacionit, si rregull, në një formë të vazhdueshme. Për përpunimin kompjuterik të sinjaleve të vazhdueshme, është e nevojshme, para së gjithash, shndërrimi i tyre në dixhital. Për këtë kryhen operacionet e kampionimit dhe kuantizimit.

Mostra e imazhit

Marrja e mostraveËshtë shndërrimi i një sinjali të vazhdueshëm në një sekuencë numrash (mostra), domethënë përfaqësimi i këtij sinjali në një bazë dimensionale të fundme. Kjo pikëpamje konsiston në projektimin e një sinjali në një bazë të caktuar.

Më e leverdishme nga pikëpamja e organizimit të përpunimit dhe mënyra e natyrshme e marrjes së mostrave është paraqitja e sinjaleve në formën e një kampioni të vlerave të tyre (kampioneve) në pika të veçanta, të ndara rregullisht. Kjo metodë quhet rasterizimi, dhe sekuenca e nyjeve në të cilat merren mostrat është raster... Quhet intervali nëpër të cilin merren vlerat e sinjalit të vazhdueshëm hapi i kampionimit... Vlera e kundërt me hapin quhet shkalla e mostrave,

Një pyetje thelbësore që lind gjatë marrjes së mostrave: me çfarë frekuence të merren mostra të sinjalit në mënyrë që të mund ta rivendosni atë nga këto mostra? Natyrisht, nëse mostrat merren shumë rrallë, atëherë ato nuk do të përmbajnë informacion në lidhje me një sinjal që ndryshon me shpejtësi. Shpejtësia e ndryshimit të një sinjali karakterizohet nga frekuenca e sipërme e spektrit të tij. Kështu, intervali minimal i lejueshëm i marrjes së mostrave lidhet me frekuencën më të lartë të spektrit të sinjalit (në proporcion të kundërt me të).

Për rastin e kampionimit uniform, është e vërtetë Teorema e Kotelnikovit botuar në vitin 1933 në veprën “Mbi gjerësinë e brezit të eterit dhe telit në telekomunikacion”. Ai thotë: nëse një sinjal i vazhdueshëm ka një spektër të kufizuar me frekuencë, atëherë ai mund të rindërtohet plotësisht dhe pa mëdyshje nga mostrat e tij diskrete të marra me një pikë, d.m.th. me frekuencë.

Rikuperimi i sinjalit kryhet duke përdorur funksionin ... Kotelnikov vërtetoi se një sinjal i vazhdueshëm që plotëson kriteret e mësipërme mund të përfaqësohet si një seri:

.

Kjo teoremë quhet edhe teorema e kampionimit. Funksioni quhet gjithashtu funksioni i numërimit ose Kotelnikov, megjithëse ky lloj serie interpolimi u studiua nga Whitaker në 1915. Funksioni i numërimit ka një shtrirje të pafundme në kohë dhe arrin vlerën e tij maksimale, të barabartë me një, në pikën në lidhje me të cilën është simetrik.

Secili prej këtyre funksioneve mund të shihet si një përgjigje ndaj një ideali filtri i kalimit të ulët(LPF) në pulsin delta që arrin në momentin e kohës. Kështu, për të rivendosur një sinjal të vazhdueshëm nga mostrat e tij diskrete, ato duhet të kalohen përmes filtrit përkatës të kalimit të ulët. Duhet të theksohet se një filtër i tillë është jo shkakësor dhe fizikisht i parealizueshëm.

Raporti i dhënë nënkupton mundësinë e rindërtimit të saktë të sinjaleve me një spektër të kufizuar nga sekuenca e mostrave të tyre. Sinjale me spektër të kufizuar- këto janë sinjale, spektri Furier i të cilit është jozero vetëm brenda një pjese të kufizuar të domenit të përkufizimit. Sinjalet optike mund t'u atribuohen atyre, sepse Spektri Fourier i imazheve të marra në sistemet optike është i kufizuar për shkak të madhësisë së kufizuar të elementeve të tyre. Frekuenca quhet Frekuenca e Nyquist... Kjo është frekuenca e ndërprerjes mbi të cilën nuk duhet të ketë përbërës spektralë në sinjalin hyrës.

Kuantizimi i imazheve

Në përpunimin dixhital të imazhit, diapazoni i vazhdueshëm dinamik i vlerave të ndriçimit ndahet në një numër nivelesh diskrete. Kjo procedurë quhet kuantizimi... Thelbi i saj qëndron në shndërrimin e një ndryshoreje të vazhdueshme në një variabël diskrete që merr një grup vlerash të fundme. Këto vlera quhen nivelet e kuantizimit... Në rastin e përgjithshëm, transformimi shprehet me një funksion hap (Fig. 1). Nëse intensiteti i mostrës së imazhit i përket intervalit (d.m.th., kur ), atëherë mostra origjinale zëvendësohet me nivelin e kuantizimit, ku pragjet e kuantizimit... Supozohet se diapazoni dinamik i vlerave të shkëlqimit është i kufizuar dhe i barabartë.

Oriz. 1. Funksioni që përshkruan kuantizimin

Detyra kryesore në këtë rast është përcaktimi i vlerave të pragjeve dhe niveleve të kuantizimit. Mënyra më e thjeshtë për të zgjidhur këtë problem është ndarja e diapazonit dinamik në intervale të barabarta. Megjithatë, kjo nuk është zgjidhja më e mirë. Nëse vlerat e intensitetit të shumicës së mostrave të imazhit grupohen, për shembull, në rajonin "e errët" dhe numri i niveleve është i kufizuar, atëherë këshillohet që të kuantizohen në mënyrë të pabarabartë. Në rajonin "e errët", ju duhet të kuantizoni më shpesh, dhe më rrallë në rajonin "dritë". Kjo do të zvogëlojë gabimin e kuantizimit.

Në sistemet dixhitale të përpunimit të imazhit, ata përpiqen të zvogëlojnë numrin e niveleve dhe pragjet e kuantizimit, pasi sasia e informacionit të kërkuar për të koduar një imazh varet nga numri i tyre. Megjithatë, me një numër relativisht të vogël nivelesh në një imazh të kuantizuar, mund të shfaqen konturet e rreme. Ato lindin si rezultat i një ndryshimi të papritur në shkëlqimin e imazhit të kuantizuar dhe janë veçanërisht të dukshëm në zonat e buta të ndryshimit të tij. Konturet e rreme degradojnë ndjeshëm cilësinë vizuale të një imazhi, pasi shikimi i njeriut është veçanërisht i ndjeshëm ndaj kontureve. Me kuantizim uniform, imazhet tipike kërkojnë të paktën 64 nivele.

Për të treguar dhe treguar me shembullin e Paskalit: 1) Çfarë është absolute dhe për çfarë shërben? 2) Çfarë është asm dhe për çfarë shërben? 3) Çfarë është

konstruktor dhe destruktor dhe për çfarë shërben?

4) Çfarë është zbatimi dhe për çfarë shërben?

5) Emërtoni modulet Pascal (në rreshtin Uses, për shembull crt) dhe çfarë aftësish ofron ky modul?

6) Cili është lloji i ndryshores: pointer (Pointer)

7) Dhe së fundi: çfarë do të thotë simboli @, #, $, ^

1. Çfarë është një objekt? 2. Çfarë është një sistem? 3. Cili është emri i zakonshëm i një objekti? Jep një shembull 4. Cili është emri i një objekti të vetëm? Jep një shembull 5.

Jepni një shembull të një sistemi natyror 6. Jepni një shembull të një sistemi teknik 7. Jepni një shembull të një sistemi të përzier. 8. Jepni një shembull të një sistemi të paprekshëm. 9. Çfarë është një klasifikim? 10. Çfarë është një klasë tipare?

Pyetja 1.23 - listoni mënyrat e funksionimit të aksesit subd:

Krijimi i një tabele në modalitetin e projektimit;
-krijimi i një tabele duke përdorur një magjistar;
-krijimi i një tabele duke futur të dhëna.

2. Çfarë është formati vektorial?

3. A mund t'i atribuohen programeve të shërbimit sa vijon:
a) programet e mirëmbajtjes së diskut (kopjimi, dezinfektimi, formatimi, etj.)
b) kompresimi i skedarëve në disqe (arkivë)
c) lufta kundër viruseve kompjuterike dhe shumë më tepër.
Unë vetë mendoj se përgjigja B është e drejtë apo jo?

4. çfarë lidhet me vetitë e algoritmit (a. Diskretiteti, b. Efikasiteti c. Karakteri i masës, d. Përcaktueshmëria, d. Fizibiliteti dhe kuptueshmëria) - këtu mendoj se të gjitha opsionet janë të sakta. E drejtë apo e gabuar?

7 Test i lehtë me shumë zgjedhje

13. Frekuenca e orës së procesorit është:

A. numri i operacioneve binare të kryera nga procesori për njësi të kohës

B. numri i pulseve të gjeneruara në një sekondë që sinkronizojnë funksionimin e nyjeve kompjuterike

C. numri i akseseve të mundshme të procesorit në RAM për njësi të kohës

D. shpejtësia e shkëmbimit të informacionit ndërmjet procesorit dhe pajisjeve hyrëse/dalëse

14. Specifikoni grupin minimal të kërkuar të pajisjeve për kompjuterin:

A. printer, njësi sistemi, tastierë

B. procesor, RAM, monitor, tastierë

C. procesor, transmetues, hard disk

D. monitor, njësi sistemi, tastierë

15. Çka është mikroprocesori?

A. mikroqark i integruar, i cili ekzekuton komandat që arrijnë në hyrjen e tij dhe kontrollon

Puna me kompjuter

B. një pajisje për ruajtjen e atyre të dhënave që përdoren shpesh në punë

C. pajisje për nxjerrjen e informacionit tekst ose grafik

D. pajisje për daljen e të dhënave alfanumerike

16. Ndërveprimi i përdoruesit me mjedisin e softuerit kryhet duke përdorur:

A. sistemi operativ

B. sistemi i skedarëve

C. aplikacionet

D. menaxher skedari

17. Përdoruesi mund të kontrollojë drejtpërdrejt softuerin nga

Me ndihmën:

A. sistemi operativ

B. GUI

C. ndërfaqja e përdoruesit

D. menaxher skedari

18. Metodat e ruajtjes së të dhënave në një medium fizik përcaktohet nga:

A. sistemi operativ

B. softuer aplikimi

C. sistemi i skedarëve

D. menaxher skedari

19. Mjedisi grafik në të cilin shfaqen objektet dhe kontrollet e sistemit Windows,

Krijuar për lehtësinë e përdoruesit:

A. ndërfaqe harduerike

B. ndërfaqja e përdoruesit

C. desktop

D. ndërfaqe programimi

20. Shpejtësia e kompjuterit tuaj varet nga:

A. Shpejtësia e orës së procesorit

B. prania ose mungesa e një printeri të lidhur

C. Organizimi i ndërfaqes së sistemit operativ

D. hapësira e jashtme e ruajtjes

Imazhi analog dhe diskret. Informacioni grafik mund të paraqitet në formë analoge ose diskrete. Një shembull i një imazhi analog është një kanavacë pikture, ngjyra e së cilës ndryshon vazhdimisht, dhe një shembull i një imazhi diskret, një vizatim i printuar duke përdorur një printer inkjet, i përbërë nga pika të veçanta me ngjyra të ndryshme. Analog (pikturë me vaj). Diskret.

Rrëshqitja 11 nga prezantimi "Kodimi dhe përpunimi i informacionit"... Madhësia e arkivit me prezantimin është 445 KB.

Informatikë klasa 9

përmbledhje të prezantimeve të tjera

Algoritmet e depërtimit - NËSE kushti, THËNË veprimi. Çfarë dimë ne. Struktura e mësimit. Algoritmi i forkimit. Ndiqni algoritmin dhe plotësoni tabelën. Një nxënës që ka marrë nga 85 deri në 100 pikë, përfshirë këtu, kalon në raundin e dytë të garës. Shkruani numrin e pikëve dhe përcaktoni nëse ai arriti në raundin e dytë. Gjeni numrin më të madh midis a dhe b. Shkruani një program në një gjuhë programimi. Një algoritëm degëzimi është një algoritëm në të cilin, në varësi të një kushti, kryhet një ose një sekuencë tjetër veprimesh.

"Krijimi i inteligjencës artificiale" - Qasja e simulimit. Qasje për ndërtimin e sistemeve të inteligjencës artificiale. Një qasje evolucionare. Inteligjence artificiale. Mund të bashkëjetojë me shumë njerëz, duke ndihmuar në përballimin e problemeve personale. Qasja strukturore. Qasje logjike. Problemet e zhvillimit. Perspektivat e zhvillimit dhe fushat e aplikimit.

Programet ciklike - Shifra. Lak me parakusht. Gjeni shumën. Lak me kusht postar. Lak me parametër. Algoritmi i Euklidit. Programet ciklike. Gjeni shumën e numrave natyrorë. Koncepti i ciklit. Një tarifë fillestare. Funksioni i tabelimit. Llogaritni. Shembull. Ndarësit. Informatikë. Gjeni numrin e numrave. Gjej. Gjeni numrin e numrave natyrorë treshifrorë. Numrat treshifrorë. Gjeni grupin e vlerave të funksionit. Tabela e konvertimit të dollarit.

"Çfarë është Email" - Dërguesi. Adresa e postës elektronike. Historia e emailit. Çështja e shfaqjes së e-mail. Struktura e letrës. Drejtimi i postës. Letër. Email. Kopjo. Data. X-mailer. Email. Si funksionon emaili.

"Puna me e-mail" - Adresa e postës elektronike. Kuti postare. Protokolli i postës elektronike. Rrjeti i ndarjes së skedarëve. Ndarja e adresave. Përfitimet e emailit. Klientët e postës. Shpikësi i emailit. Adresa. Email. Software për të punuar me e-mail. Si funksionon emaili. Telekonferencë. Serveri i postës. Shkëmbimi i skedarëve.

"Përpunimi në Photoshop" - Djema të mirë. Si të dalloni një fallco. Imazhe raster dhe vektoriale. Prezantimi. Vendet kryesore. Programi Adobe Photoshop. Retushimi. Konkurse Photoshop. Korrigjimi i shkëlqimit. Shoket e mi. Pjesa praktike. Programe të ngjashme. Pjesa kryesore. Dizajn. Kafshë të pazakonta. Montazh i disa imazheve.

Artikujt kryesorë të lidhur