Pagbabawas ng ingay sa pamamagitan ng pag-average ng imahe. Toolbox sa Pagproseso ng Larawan


May mga malungkot na sitwasyon sa buhay kapag walang sapat na liwanag, ngunit hindi posible na buksan (higit pa) ang aperture o dagdagan ang bilis ng shutter. Ang implikasyon ay ang isang "masamang" larawan ay mas mahusay kaysa sa isang nawawalang larawan. Ano ang dapat kong gawin? Magtitiis. O gumamit ng isang maliit na trick - kumuha ng ilang mga frame at ilapat ang average.

ISO6400, ito noon/ngayon.

Una, kakailanganin mong kumuha ng ilang magkakapareho (mas marami, mas mahusay) na mga litrato.

Isa sa mga serye. Tulad ng nakikita mo, kahit na sa isang napakaliit na laki, ang dami ng ingay ay nakakatakot.

Upang average, i-load ang lahat sa isang dokumento ng Photoshop sa anyo ng mga layer.
Kung ang pagbaril ay ginawa gamit ang handheld, ang mga layer ay kailangang ihanay gamit ang photomerge, dati (dito), o gamit ang Edit - Auto-Align Layers command.
Susunod, para sa pag-average, itakda ang transparency ng mga layer: para sa ibaba 100%, ang susunod na 50%, 33%, 25%, ...

Mas madaling gamitin ang stacking mode, lalo na kapag nagdadagdag malaking dami mga litrato.

Buksan ang Photoshop at ibigay ang utos na File - Scripts - I-load ang mga File sa Stack (File - Scripts - I-load ang mga file sa stack)
Lagyan ng check ang Checkbox na Lumikha ng Matalinong Bagay pagkatapos Mag-load ng Mga Layer, opsyonal na Subukang Awtomatikong I-align ang Pinagmulan na Mga Larawan.
Kaya nakakuha kami ng isang grupo o stack. Hindi na kailangang gumawa ng anumang mahika nang may transparency, dahil... upang magsagawa ng mga kalkulasyon sa stack mayroong isang hiwalay na menu Layer - Smart Objects - Stack Mode (Layers - Smart object - Stack Mode). Kapag nagpoproseso ng mga larawan at video, dalawang mode lang ang mahalaga - mean (averaging o arithmetic mean) at median (median), ang iba ay ginagamit kapag nagpoproseso ng mga medikal, siyentipiko at forensic na larawan, atbp. Kung ang stack mode ay binago, ang pagkalkula ay isasagawa muli (na may orihinal, hindi ang nakaraang resulta).
Isaalang-alang natin ang 100% crop na may iba't ibang lugar at ihambing ang mga resulta.

Mula kaliwa pakanan: orihinal, median, average. Isang dosenang mga frame ang ginamit.




Paano ito gumagana? Sa kaso ng mean mode, ang liwanag ng bawat pixel ay idinaragdag ng channel-by-channel at ang resulta ay hinati sa bilang ng mga larawan. Halimbawa: (3+2+1+2+9+3+1)/7=3
Sa median mode, ang average na halaga ay pinili mula sa serye 1,1,2, 2 ,3,3,9 - average 2. Ibig sabihin walang epekto ang malakas na single differences.
Mula sa praktikal na pananaw, nangangahulugan ito na ang mga gumagalaw na bagay ay mag-iiwan lamang ng bakas kung naroroon ang mga ito sa ilang mga frame ng serye. Gayunpaman, mas malalampasan ng mean ang ingay.

Sa pangkalahatan, ang mga pananim ay nagsasalita para sa kanilang sarili - walang pagproseso ng isang solong frame ang makakapagbawas ng ingay nang napakabisa, dahil laki ng ingay sa sa halimbawang ito lumampas sa laki ng ilang bahagi.

Kailan naaangkop ang pamamaraang ito?
- kapag kumukuha ng hindi sapat na ilaw sa maikling bilis ng shutter (walang setting ng bilis ng shutter o limitado ito ng camera, walang tripod, walang paraan para mag-shoot ng mahabang panahon, atbp.)
- kung kinakailangan, bawasan ang ingay sa mababang iso, halimbawa, bago ang aktibong kasunod na post-processing.

Saan hindi makakatulong?
- kapag nag-shoot ng mga gumagalaw na bagay (bagaman ang pumipili na pag-alis ng ingay sa mga nakatigil na lugar ay posible).
- hindi aalisin ang patuloy na bahagi ng ingay

Agosto 20, 2009 nang 10:21 ng gabi

Nililinis ang isang imahe mula sa ingay, ilang mga pamamaraan

  • Gil Algorithm Blog

Kung nakita mo ang larawan na nakuha sa modernong mga digital camera nang hindi pinoproseso, alam mo na ito ay mukhang kakila-kilabot. Napuno ito ng ingay. Kahit na nag-download ka ng larawan sa iyong computer at lumipas na ito panloob na pagproseso sa camera, kung palakihin mo ito at titingnan ang mga indibidwal na pixel, makikita mo kung gaano kalakas ang loob ng mga digital algorithm na lumalaban sa ingay at natatalo sa hindi pantay na digmaang ito.
Binura ang ilang algorithm maliliit na detalye syempre sikat sila dito mga cell phone Nokia. Sa ilang mga kaso, nananatili ang mga detalye, ngunit napapalibutan sila ng mga isla na may kulay kumplikadong hugis, makikita ito sa mga Sony camera. At iba pa - ang bawat pamamaraan ay may sariling mga problema.

Ano ang mga paraan upang alisin ang ingay na ito, at alin ang hindi lumalabag sa mga patent ng ibang tao? Umaasa ako na ang maikling pagsusuri na ito ay kapaki-pakinabang.

1. Transition sa brightness-color coordinate.
Maaaring gawin ang conversion na ito sa maraming paraan: HSV, L*a*b, atbp. Para sa ilang kadahilanan na hindi namin pupuntahan:
- ang mata ng tao ay hindi gaanong sensitibo sa mga detalye ng impormasyon ng kulay kaysa sa impormasyon ng liwanag
- ang ingay sa bahagi ng kulay, sa kabaligtaran, ay mas mataas kaysa sa bahagi ng liwanag
Samakatuwid, ang simpleng pag-filter ng bahagi ng kulay + reverse restoration ay kadalasang nagpapaganda ng larawan.

2. Median na filter.
mabuti sa simpleng paraan Upang i-clear ang larawan mula sa ingay, gamitin ang median na filter na Im_new(x,y)=median(dx=-1..1,dy=-1..1)Im(x+dx,y+dy).
Ang pamamaraang ito ay may maraming mga pagkakaiba-iba, narito ang ilan lamang:
2.1 Hakbang 1: kalkulahin ang M1=median(C, Cnorth, Csouth); M2=median(C, Ceast, Cwest); M3=median(C, Cne, Csw); M4=median(C, Cnw, Csw); dito ang Cnort, Cne,...Cnw ay walong kalapit na mga pixel mula sa isang 3x3 na kapitbahayan, ang C ay ang gitnang pixel
Hakbang 2 - kalkulahin ang Ma=median(C, M1, M2); Mb=median(C, M3, M4);
Hakbang 3 - kalkulahin ang Csmooth=median(C, Ma, Mb);
Hakbang 4 - palitan ang C ng Csmooth.
2.2 Hakbang 1: pag-uri-uriin ang mga pixel mula sa 3x3 na kapitbahayan sa pataas na pagkakasunud-sunod, P...P.
Hakbang 2: Kung ang gitnang pixel ay katumbas ng P - palitan ito ng P, kung ang gitnang pixel ay katumbas ng P - palitan ito ng P, sa ibang mga kaso iwanan itong hindi nagbabago.
Ang direksyong ito ay ginagamit ng Kodak, gayundin ng karamihan sa mga scanner at fax machine.

3. Mga filter na kumokontrol sa dami ng pagwawasto
Ang pamamaraang ito ay unang nagmumungkahi ng pagpapakinis ng imahe kahit papaano, halimbawa gamit ang isang low-pass na filter, bilateral na filter o iba pa. At pagkatapos ay tapos na ang pamamaraang ito
Im_new(x,y)=Im(x,y)+S(Im(x,y)-Im_smooth(x,y),threshold).
Ang function ng transmitter S ay maaaring i-istruktura sa iba't ibang paraan, halimbawa tulad nito:
S(x,threshold) = x kung -threshold threshold; S(x,threshold)=-threshold kung x<-threshold. Если выбрать threshold примерно равным величине шума, то весь шум пропадет, а детали и мелкие объекты останутся четкими.

4. Bilateral na filter
Isang napaka-kagiliw-giliw na filter, na naimbento noong 2003. Ire-refer kita sa Internet para sa mga paglalarawan.
Narito ang isang magandang artikulo: scien.stanford.edu/class/psych221/projects/06/imagescaling/bilati.html
Ang isang kawili-wiling uri ng bilateral na filter ay T-filter din:
Hakbang 1: Hanapin ang lahat ng pixel sa kapitbahayan na ang mga halaga ay naiiba sa orihinal na pixel nang hindi hihigit sa isang ibinigay na threshold.
Hakbang 2: I-average ang mga nakitang pixel na ito at i-save ang halaga.

5. Mga filter gamit ang parang multo na representasyon ng signal
Ito ay kung paano gumagana ang Photoshop, halimbawa. Ang ideya ay magsagawa ng Fourier transform sa paligid ng bawat pixel, pagkatapos ay burahin ang matataas na frequency at gawin ang inverse transform.
Sa halip na ang Fourier transform, ang iba pang mga orthogonal base ay ginagamit din, kung minsan ay medyo masalimuot. Sa katunayan, ito ay isang buong pamilya ng mga pamamaraan.

6. Mga filter na nagha-highlight sa nangingibabaw na direksyon
Ang mga filter na ito sa bawat punto ay unang nahahanap ang nangingibabaw na direksyon (ang direksyon ng gradient ng liwanag) at pagkatapos ay i-average lamang ang signal sa perpendikular na direksyon. Sa ganitong paraan, mananatiling malinaw ang mga linya at magagandang detalye. Ang magagandang pagkakaiba-iba ng algorithm na ito ay isinasaalang-alang din ang mga halaga ng pangalawang derivative matrix.
Ito ay isang buong pamilya ng mga algorithm, ang mga paglalarawan kung saan ay maaari ding matagpuan sa Internet.

7. Lokal na pag-uuri ng mga fragment
Ang mga filter na ito ay mahusay na gumagana sa mga espesyal na larawan tulad ng teksto, mabituing kalangitan, atbp.
Una, ang isang database ng mga tipikal na elemento ng naturang imahe ay pinagsama-sama, halimbawa, ilang daang mga fragment ng NxN pixels na na-clear na ng ingay.
Ang algorithm ay gumagana tulad nito: ang kapitbahayan ng bawat pixel ay inihambing sa mga fragment na ito at ang isa na pinakakapareho ay pinili. Pagkatapos ang halaga ng orihinal na pixel sa maruming imahe ay papalitan ng halaga ng isang katulad na pixel na matatagpuan sa parehong lugar sa malinis na fragment.

8. Sa huli ay magbibigay ako ng "simpleng" paraan na maaari ding gamitin sa ilang mga kaso.
Hakbang 1: Gawing mas maliit ang larawan (gamit ang ilang matalinong Downscaling algorithm)
Hakbang 2: I-scale ito pabalik (gamit ang ilang matalinong Upscaling algorithm)
Ang katotohanan ay ang Upscaling/Downscaling algorithm ay maaaring maging napakalakas (Lanczos filter, fractal method, atbp.), kaya ang resulta ay medyo kasiya-siya. Ang parehong paraan ay maaaring gamitin bilang isang simple ngunit medyo epektibong compression.

Ang mga ingay ay maaaring random analogue, pulsed at iba't ibang uri ng deterministic.

Random na analog na ingay

Ang random na analog na ingay ay nabuo, bilang panuntunan, sa pamamagitan ng butil-butil na istraktura ng photographic na materyal kung saan ginawa ang orihinal. Nagiging may kaugnayan ang mga ingay sa mga magnification na higit sa 8x.

Upang maalis ang gayong ingay, ginagamit ang mga paraan ng pag-filter ng smoothing.

Ang pagkilos ng mga pamamaraang ito ay batay sa digital na pag-filter sa pamamagitan ng pag-average ng halaga ng signal sa paligid ng read pixel. Sa mga programa tulad ng PhotoShop, ang mga anti-aliasing na filter na ito ay tinatawag na Blur, Gaussian Blur.

Ang blur ay magbibigay ng direktang pag-average. Ipinakilala ng Gaussian Blur ang mga pixel weight sa average na matrix ayon sa batas ng Gaussian.

Hindi na ginagamit ang blur dahil hindi nito pinapayagan kang ayusin ang antas ng pag-average. Ang antas ng smoothing ay nababagay sa pamamagitan ng paulit-ulit na aplikasyon ng filter.

Mas moderno ang Gaussian Blur. Sa loob nito maaari mong ayusin ang average na parameter, kaya inaayos ang smoothing.

Dapat tandaan na ang paggamit ng naturang mga filter ay maaaring humantong sa pagkawala ng sharpness ng imahe, dahil hindi lamang ang istraktura ng ingay ang na-average, kundi pati na rin ang mga pixel na bumubuo sa hangganan ng imahe. Sa ilang mga kaso, ipinapayong magsagawa ng isang hindi matalim na pamamaraan ng masking pagkatapos ng pamamaraan ng pagpapakinis.

Random na ingay ng salpok

Ang random na impulse noise ay tumutukoy sa medyo kakaunting mga solong depekto, tulad ng mga gasgas at dust particle. Kapag inilapat sa kanila, ang smoothing procedure ay karaniwang hindi epektibo dahil sa ang katunayan na ang laki ng naturang mga depekto ay medyo malaki.

Upang maalis ang mga naturang depekto, ginagamit ang mga filter ng rank-ordinal class. Ang ganitong mga filter ng rank-order ay lumilikha ng isang serye ng mga pixel sa isang linya, i-order ang mga seryeng ito sa pamamagitan ng paglalagay ng mga ito sa pataas na pagkakasunud-sunod, tanggihan ang minimum at maximum na mga halaga ng pixel na maaaring may depekto, at hanapin ang average na halaga sa seryeng ito. Ang average na halaga ay inilalagay sa lugar ng nasuri na mga pixel.

Sa ganitong paraan, maaaring maalis ang medyo maliit na mga depekto tulad ng mga gasgas at alikabok. Sa prinsipyo, posible na baguhin ang haba ng serye at sa gayon ay pumili para sa mas malaking mga depekto.

Gayunpaman, para sa medyo malalaking depekto na lumampas sa haba ng serye ng pixel, hindi naaangkop ang paraang ito.

Ito ang paraan na ginagamit ng filter na Dust and Scratches.

Para sa mas malaking ingay ng salpok, kinakailangan na gumamit ng semi-awtomatikong pag-retouch, kung saan ang mga depekto ng imahe ay inaalis sa pamamagitan ng pagpapalit ng mga may depektong pixel ng mga may kulay na pixel mula sa kanilang agarang kapaligiran. Ang isang pixel ay pinili mula sa agarang kapaligiran at inilagay sa sira na lokasyon.


Sa software, ang pamamaraang ito ay tinatawag na selyo at nangangailangan ng malaking puhunan ng oras. Bago magpatuloy sa naturang pamamaraan, kinakailangan upang pag-aralan ang imahe sa isang sukat ng magnification sa panahon ng pagpaparami at alisin ang mga depekto na mapapansin sa sukat na ito. Sa prinsipyo, ang parehong pamamaraan ay maaaring gamitin para sa pagwawasto ng editoryal, kapag kinakailangan upang madagdagan ang ilang mga nawawalang detalye ng imahe.

Deterministikong Ingay ng Imahe

Ang pinaka-kapansin-pansin na kinatawan ng deterministikong ingay ng imahe ay ang istraktura ng raster ng imahe, kung ang isang printing print ay ginamit bilang orihinal.

Ang pagbabasa ng raster na imahe ay maaaring magresulta sa hindi gustong pakikipag-ugnayan ng raster structure ng imahe sa bagong raster structure na nabuo sa panahon ng proseso ng photo output.

Mayroong dalawang posibleng paraan upang malutas ang problemang ito:

1. pag-aalis ng istraktura ng raster ng orihinal sa panahon ng pag-scan at pagproseso. Para sa layuning ito, ang mga pamamaraan ay ginagamit na katulad ng mga pamamaraan ng pag-filter ng aperture kapag nagbabasa ng isang imahe na may mas malaking siwang, o ang kanilang digital analogue, iyon ay, pixel averaging at ang pagbuo ng isang average na signal.

Ipinakita sa teorya at eksperimental na ang pinakamahusay na mga resulta ay nakukuha sa pamamagitan ng pagtutugma ng laki ng siwang sa mga sukat ng elemento ng raster ng istraktura ng raster ng orihinal. Samakatuwid, sa panahon ng proseso ng pag-scan, kinakailangan upang tumpak na matukoy ang raster lineature na ginamit sa orihinal at piliin ang derasterization filter alinsunod sa lineature na ito.

Upang matukoy ang lineature ng raster sa orihinal, posibleng gumamit ng mga espesyal na pagsubok. Ang ilang mga modernong programa, halimbawa LinoColor, ay nagbibigay-daan sa iyo upang matukoy ang lineature sa panahon ng paunang proseso ng pag-scan at itakda ang pinakamainam na filter ng derastasyon alinsunod dito.

Mga disadvantages ng pag-aalis na ito:

1) pagkawala ng sharpness ng imahe;

2) dahil sa iba't ibang mga anggulo ng pag-ikot ng mga istruktura ng imahe ng raster para sa iba't ibang mga pintura, ang kumpletong koordinasyon ng siwang ng derastration at ang istraktura ng raster ay hindi nangyayari at ang mga natitirang pagbabago sa imahe (moiré formation) ay hindi maiiwasan.

2. pagbabasa ng istraktura ng raster na may kumpletong pangangalaga. Bilang resulta, kapag nagbabasa ng tatlong larawang pinaghihiwalay ng kulay ng raster, makukuha natin ang istraktura ng raster na pinapanatili. Sa katunayan, makakatanggap kami ng isang imahe sa sistema ng SMUK. Ang larawang ito ay maaaring ilipat sa Lab, kaya nawawala ang impormasyon tungkol sa istraktura ng raster. Pagkatapos ay ilipat ang lahat ng pagproseso sa Lab at pumunta sa SMUK kasama ang istraktura ng raster nito.

Upang gawin ito, ito ay kinakailangan upang basahin sa mataas na resolution. Ang CopiDot ay ang naaangkop na software para sa paglilipat ng SMUK sa Lab.

Ang kasalukuyang kahirapan ay ang pagbabasa ng mga larawang may kulay ay may malaking kahirapan. Samakatuwid, ang ganitong uri ng teknolohiyang CopiDot ay kasalukuyang ginagamit upang basahin ang mga rasterized at color-separated na photoform.

Ang teknolohiyang ito, na kamakailan lamang ay umunlad nang malaki, ay lalong kawili-wili dahil sa pangangailangang gumamit ng ilang uri ng archival photo frame ng teknolohiyang C-t-P (computer-printed form).

3. Rerastering gamit ang isang raster ng hindi regular na istraktura (frequency modulated).

Pagsasaayos ng mga halaga ng intensity

Posibleng itakda ang mga halaga ng intensity sa imahe gamit ang imadjust function, kung saan tinukoy ang saklaw ng intensity ng nagresultang imahe.

Tingnan natin ang isang halimbawa ng pagtaas ng contrast ng isang low-contrast na imahe sa pamamagitan ng muling pamamahagi ng mga halaga ng data sa buong saklaw.

I = imread("pout.tif");

J = imadjust(I);

Orihinal na larawan

Ipinapakita ng figure ang na-convert na imahe at histogram nito. Tandaan na bilang resulta ng pagtaas ng contrast ng imahe, pinupuno ng histogram ang buong hanay.


Na-convert na imahe at histogram nito

Paglalarawan ng pagsasaayos ng limitasyon sa saklaw

Posibleng ilarawan ang hanay ng mga inisyal at resultang halaga gamit ang imadjust function. Upang gawin ito, ang imadjust function ay tumutukoy sa mga saklaw sa anyo ng dalawang vector bilang isang argumento. Ang unang vector ay naglalaman ng pinakamaliit at pinakamalaking halaga ng mga intensity ng orihinal na imahe, na ipapakita sa pamamagitan ng hanay ng mga brightness na tinukoy sa pangalawang vector.

Tandaan.
Tandaan na ang mga halaga ng intensity ay dapat nasa pagitan ng 0 at 1, anuman ang format ng larawan. Kung ang imahe ay nasa uint8 format, ang hanay ng mga halaga ay naglalaman ng 255 gradations, at para sa isang imahe sa format na ito ay naglalaman ng 65535 gradations.

Halimbawa, ang pagbabawas ng contrast ng imahe ay nakakamit sa pamamagitan ng pagbabawas ng intensity range. Sa larawan sa ibaba, ang amerikana ng lalaki ay masyadong madilim at hindi nagpapakita ng anumang detalye. Ngunit ito ay maaaring itama gamit ang imadjust function sa pamamagitan ng pagmamapa sa hanay ng orihinal na uint8 na imahe sa hanay ng na-convert na imahe. Ang conversion na ito ay makabuluhang palalawakin ang dynamic na hanay at pagbutihin ang visual na perception ng mga madilim na bahagi ng larawan. Tandaan din na ang lahat ng mga halaga ng intensity sa itaas 51 ay ipapakita bilang 255, i.e. puti.

I = imread("cameraman.tif");


J = imadjust(I,,);

imshow(I) figure, imshow(J)

Larawan pagkatapos ng conversion ng dynamic na hanay

  1. Pagtatakda ng mga limitasyon ng awtomatikong pagwawasto
  2. Kadalasan, kapag ginagamit ang imadjust function, mayroong dalawang pangunahing hakbang:

Tingnan ang histogram at tukuyin ang mga hangganan ng mga halaga ng intensity.

Ilarawan ang mga hangganang ito para magamit sa ibang pagkakataon sa imadjust function.

Ang isang mas simpleng paraan upang ilarawan ang mga hangganan na ito ay ang paggamit ng stretchlim function.

Kinakalkula ng function na ito ang histogram ng imahe at awtomatikong tinutukoy ang mga hangganan ng pagsasaayos ng hanay. Ibinabalik ng stretchlim function ang mga value na ito bilang vector, na ginagamit bilang argumento sa imadjust function. Halimbawa,

I = imread("rice.png");

Ginagawa ng imadjust function na ang pinakamaliit na halaga ay mas maliit at ang pinakamalaking halaga ay mas malaki. Bilang default, ang mga intermediate na halaga ay ipinapakita nang linearly. Halimbawa, ang mga halaga ng intensity na nasa gitna ng hanay ng intensity ng orihinal na imahe ay tumutugma sa mga halaga ng intensity na nasa gitna ng saklaw ng nabagong imahe.

Sa imadjust function, maaari kang tumukoy ng karagdagang argumento na naglalarawan sa antas ng pagwawasto ng gamma. Depende sa halaga ng gamma, ang relasyon sa pagitan ng mga halaga ng orihinal at na-convert na mga imahe ay maaaring hindi linear. Samakatuwid, ang mga halaga ng intensity na nasa gitna ng hanay ng intensity ng orihinal na imahe ay hindi tumutugma sa mga halaga ng intensity na nasa gitna ng nabagong hanay ng imahe.

Ang gamma parameter ay maaaring tumagal ng mga halaga mula 0 hanggang infinity. Kung ang gamma ay 1 (ang default), ang pagbabago ay linear. Kung ang gamma ay mas mababa sa 1, kung gayon ang hanay na may maliit na mga halaga ng intensity ay naka-compress, at ang saklaw na may malalaking halaga ng intensity ay nakaunat. Kung ang gamma ay mas malaki kaysa sa 1, kung gayon ang kabaligtaran - ang saklaw na may maliit na mga halaga ng intensity ay nakaunat, at ang saklaw na may malalaking halaga ng intensity ay nakaunat.

Ang nasa itaas ay ipinapakita sa figure. Ipinapakita ng tatlong curve ng conversion ang pagpapakita ng mga halaga ng intensity sa iba't ibang mga halaga ng gamma - mas mababa sa, katumbas ng at mas malaki kaysa sa isa. (Sa isang imahe, ang x-coordinate ay kumakatawan sa mga halaga ng intensity ng orihinal na imahe, at ang y-coordinate ay kumakatawan sa mga halaga ng intensity ng resultang imahe.)


Nagpapakita ng tatlong magkakaibang setting ng pagwawasto ng gamma

Tingnan natin ang isang halimbawa ng pagwawasto ng gamma ng isang imahe. Tandaan na kapag ginagamit ang imadjust function, ang mga hanay ng data ng pinagmulan at mga nagreresultang larawan ay inilalarawan bilang mga walang laman na matrice. Kung ang mga ito ay inilarawan sa ganitong paraan, i.e. bilang mga walang laman na matrice, ginagamit ng imadjust function ang buong hanay. Ang resulta ng pamamaraang ito ay ipinapakita sa larawan.

Imread("forest.tif") I = ind2gray(X,map);


J = imadjust(I,,,0.5);

imshow(I) figure, imshow(J)

Ang isang alternatibo ay ang paggamit ng histeq function, na nagsasagawa ng contrast-limited adaptive histogram equalization gamit ang adapthisteq function. Gumagana ang function sa buong imahe, at ang adapthisteq function ay maaaring gumana sa maliliit na bahagi ng larawan. Ang kaibahan ng bawat bahagi ng imahe ay tumataas, na nauugnay sa isang pagbabago sa hugis ng histogram. Pagkatapos maisagawa ang equalization, pinagsasama ng adapthisteq function ang mga gilid ng mga lokal na rehiyon gamit ang bilinear interpolation, na inaalis ang mga artipisyal na nilikhang hangganan.

Upang maiwasan ang pagtaas ng ingay sa mga larawan, maaari mong gamitin ang adapthisteq function na may mga espesyal na parameter upang limitahan ang contrast, na lalong mahalaga para sa mga homogenous (uniporme) na lugar.

Upang ilarawan, isaalang-alang ang paggamit ng adapthisteq function kapag itinatama ang contrast sa isang imahe. Ang orihinal na imahe ay may mababang kaibahan, na may karamihan sa mga halaga ng intensity na puro sa gitna ng hanay. Ang adapthisteq function ay namamahagi ng mga halaga ng intensity nang pantay-pantay sa buong saklaw.

I = imread("pout.tif");


J = adapthisteq(I);

imshow(I) figure, imshow(J)

Larawan pagkatapos ng pagproseso sa pamamagitan ng contrast-limited adaptive histogram equalization (at histogram nito)

Dekorasyon na kahabaan

Pinapabuti ng decorrelation stretching ang ratio ng kulay sa isang imahe, na isinasaalang-alang ang mga dependency ng ugnayan. Kapag nagpapahusay ng mga larawan, napakahalagang hanapin ang gilid ng pagpapahusay upang ang labis na pagpapahusay ay hindi magresulta sa mga hindi umiiral na mga detalye. Samakatuwid, ipinapayong gamitin ang decorrelation stretching method, na ipinapatupad ng decorrstretch function.

Sa karamihan ng mga kaso, ang bilang ng mga kulay ng NBANDS sa isang imahe ay tatlo. Maaaring gamitin ang function ng decorrelation anuman ang bilang ng mga kulay sa bundle.

Kapag nagko-convert ng mga halaga ng orihinal na mga kulay ng isang imahe, ang hanay ng pagpapakita, sa karamihan ng mga kaso, ay tumataas. Ang mga intensity ng kulay ng bawat pixel ay kino-convert sa sarili nilang color space na may covariance o correlation matrix na may dimensyon na NBANDSxNBANDS, nakaunat, naka-align at binago pabalik.

  1. Ang larawan ay binubuo ng pitong banda, na dapat kinakatawan ng tatlong nakikitang kulay: A = multibandread("littlecoriver.lan", , ... "uint8=>uint8", 128, "bil", "ieee-le", . .. ("Band","Direkta",));
  2. Magsagawa ng decorrelation stretching: B = decorrstretch(A);
  3. Visualization ng mga resulta: imshow(A); pigura; imshow(B)

Paghambingin natin ang dalawang larawan. Ang orihinal na imahe ay may isang malakas na violet (pula-asul) na tint, at ang resultang imahe ay may mas pinalawak na hanay ng kulay.


Larawan ng isang maliit na ilog sa Colorado bago (kaliwa) at pagkatapos (kanan) na pag-uunat ng decorrelation

Ipakita natin ang pagkalat ng kulay ng iba't ibang hanay ng larawan bago at pagkatapos ng ugnayan at pagkakahanay:

RA = A(:,:,1); gA = A(:,:,2); bA = A(:,:,3); figure, plot3(rA(:),gA(:),bA(:),"."); grid("on") xlabel("Red (Band 3)"); ylabel("Berde (Band 2)"); ... zlabel("Asul (Band 1)") rB = B(:,:,1); gB = B(:,:,2); bB = B(:,:,3); figure, plot3(rB(:),gB(:),bB(:),"."); grid("on") xlabel("Red (Band 3)"); ylabel("Berde (Band 2)"); ... zlabel("Asul (Band 1)")


Pagkalat ng kulay ng iba't ibang hanay ng imahe bago at pagkatapos ng decorrelation at equalization

Karagdagang linear contrast stretch

Ngayon isaalang-alang natin ang parehong pagbabagong-anyo, ngunit pag-uusapan natin ang tungkol sa linear contrast stretching, na naaangkop pagkatapos ng decorrelation stretching:

Imshow(A); C = decorrstretch(A,"Tol",0.01); pigura; imshow(C)

Ihambing natin ang orihinal at na-convert na mga imahe.


Larawan ng isang maliit na ilog sa Colorado pagkatapos ng decorrelation stretching at linear contrast stretching

Ang linear contrast stretching ay isa pang karagdagang paraan ng pagpapahusay pagkatapos i-stretch ang hanay ng kulay ng isang imahe. Sa aming kaso, ang color range stretching ay nalalapat sa bawat bahagi ng kulay.

Para sa mas detalyadong impormasyon, tingnan ang paglalarawan ng stretchlim function.

Tandaan.
Maaaring ilapat ang linear contrast stretching bilang isang hiwalay na operasyon pagkatapos magsagawa ng decorrelation stretching gamit ang stretchlim at imadjust function. Ito ay isa sa mga alternatibong paraan, gayunpaman, ito ay madalas na hindi humahantong sa magagandang resulta para sa mga imahe na kinakatawan sa uint8 at uint16 na format. Ang resultang ito ay ipinaliwanag sa pamamagitan ng pamamahagi ng mga pixel sa hanay (o ). Binibigyang-daan ka ng mga opsyon sa decorrstretch function na laktawan ang limitasyong ito.

Pag-alis ng Ingay

Ang mga digital na imahe ay napapailalim sa iba't ibang uri ng ingay. Mayroong ilang mga pangunahing sanhi ng ingay, na nakasalalay din sa paraan ng imaging. Halimbawa:

  • Kung ang imahe ay nakuha sa pamamagitan ng pag-scan ng photographic film, kung gayon ang mga butil ng pelikula ay pinagmumulan ng ingay. Ang hitsura ng ingay ay maaari ding ipaliwanag sa pamamagitan ng pinsala sa pelikula mismo o sanhi ng aparato sa pag-scan.
  • Kung ang imahe ay nakunan nang digital, ang mekanismo ng pagbuo ng data (CCD detector, quantization) ay pinagmumulan ng ingay.
  • Ang elektronikong paghahatid ng data ng imahe ay maaari ding pagmulan ng ingay.

Ang application ay nagbibigay ng ilang mga paraan upang ganap o bahagyang alisin ang ingay mula sa mga imahe. Iba't ibang paraan ang ginawa upang maalis ang iba't ibang uri ng ingay. Sa kanila

  1. Paggamit ng linear filtering;
  2. Paggamit ng median filtering;
  3. Paggamit ng adaptive filtering.

Upang ipakita ang epekto ng mga pamamaraan sa itaas, ang application ay may imnoise function, na nagdaragdag ng iba't ibang uri ng ingay sa imahe. Tingnan natin ang mga halimbawa ng paggamit ng function na ito.

Gamit ang linear filtering

Maaaring gamitin ang linear na pagsala upang alisin ang mga partikular na uri ng ingay. Ang mga filter tulad ng averaging at Gaussian na mga filter ay angkop para dito. Halimbawa, ginagamit ang isang average na filter upang alisin ang butil sa mga larawan. Dahil ang halaga ng intensity ng bawat pixel ay katumbas ng average na intensity ng mga nakapaligid na pixel, nagreresulta ito sa pagsugpo ng butil.

Gamit ang median filtering

Ang pag-filter ng media ay katulad ng paggamit ng isang average na filter, kung saan ang halaga ng intensity ng bawat pixel ay ang average ng mga intensity ng pixel ng kaukulang kapitbahayan. Sa maraming kaso, ang paggamit ng median na filter upang malutas ang mga problema sa pag-aalis ng ingay ay mas epektibo kaysa sa karaniwang pag-a-average. Ang paggamit ng median na pagsala ay humahantong sa mas kaunting pagbaluktot ng mga hangganan kumpara sa average na operasyon. Ang function na medfilt2 ay nagsasagawa ng median na pagsala.

Tandaan.
Ang pag-filter ng median ay isang pag-filter ng istatistika ng order at kilala rin bilang pag-filter ng ranggo. Para sa mas detalyadong impormasyon, tingnan ang paglalarawan ng ordfilt2 function.

Tingnan natin ang isang halimbawa ng paghahambing ng paggamit ng isang average na filter at ang function na medfilt2 upang alisin ang ingay ng asin at paminta. Ang epekto ng ganitong uri ng ingay ay ang random na piniling mga pixel ay nagiging itim o puti (iyon ay, ang mga ito ay itinalaga ng matinding mga halaga mula sa umiiral na hanay). Sa parehong mga kaso, ang laki ng kapitbahayan na ginamit ay 3x3.

Paggamit ng adaptive filtering

Ang wiener2 function ay batay sa isang Wiener filter (isang uri ng linear filter) para sa adaptive na lokal na pagproseso ng imahe. Kung ang karaniwang paglihis ng mga intensity ng pixel sa isang partikular na lokal na lugar ay malaki, ang wiener2 ay nagsasagawa ng isang maliit na pagpapakinis. Kung maliit ang paglihis na ito, mas malaki ang smoothing area.

Ang pamamaraang ito ay kadalasang mas mahusay kaysa sa kumbensyonal na linear na pagsala. Ang isa pang bentahe ng adaptive na filter ay pinapanatili nito ang mga gilid at iba pang mga bahagi ng mataas na dalas ng mga bagay ng imahe. Gayunpaman, ang isang Wiener filter ay nangangailangan ng mas maraming oras ng pagkalkula kaysa sa isang linear na filter.

Ang wiener2 function ay mas gumagana sa "puting" ingay, gaya ng Gaussian noise. Isaalang-alang natin ang isang halimbawa ng paglalapat ng wiener2 function sa pagproseso ng imahe ng Saturn, na maingay sa ingay ng Gaussian. Para sa isang interactive na pagpapakita ng pag-filter ng ingay, maaari mong gamitin ang nrfiltdemo.

RGB = imread("saturn.png");


I = rgb2gray(RGB);

J = imnoise(I,"gaussian",0,0.005);

K = wiener2(J,);

imshow(J) figure, imshow(K)

Maingay na larawan (kaliwa) at na-filter na larawan (kanan)

kanin. 7 ay nagpapaliwanag ng isang simpleng paraan ng pagbabawas ng ingay ng threshold kung saan ang liwanag ng lahat ng elemento ng imahe ay sinusukat nang sunud-sunod.

kanin. 3.7. Paraan ng pagbabawas ng ingay ng threshold.

Kung ang liwanag ng isang partikular na elemento ay lumampas sa average na liwanag ng isang pangkat ng mga kalapit na elemento sa pamamagitan ng isang tiyak na halaga ng threshold, ang liwanag ng elemento ay papalitan ng average na liwanag:

Kung
]

Dahil ang ingay ay spatially decorrelated, ang spectrum nito ay may posibilidad na maglaman ng mas mataas na spatial frequency kaysa sa spectrum ng isang normal na imahe. Samakatuwid, ang simpleng low-pass spatial filtering ay maaaring magsilbi bilang isang epektibong paraan ng pagpapakinis ng ingay. Ang array Q ng laki MM ng output image ay nabuo sa pamamagitan ng discrete convolution ng array F ng laki NN ng source image na may smoothing array H ng size LL ayon sa formula

Ang noise smoothing ay ibinibigay ng low-pass filtering gamit ang isang H array na may mga positibong elemento. Nasa ibaba ang tatlong uri ng smoothing arrays, kadalasang tinatawag na denoising mask:

Ang mga array na ito ay na-normalize upang makakuha ng pagkakaisa upang ang pamamaraan ng pagbabawas ng ingay ay hindi magdulot ng pagbabago sa average na liwanag ng naprosesong imahe. Kung ang kinakailangang pagbabawas ng ingay ay nagsasangkot ng paggamit ng malalaking arrays, ipinapayong gawin ang convolution nang hindi direktang gamit ang Fourier transform, dahil ito ay kadalasang nagreresulta sa isang pagtaas sa dami ng computation.

Pagbibigay-diin sa mga hangganan.

Sa mga electronic image scanning system, ang resultang video signal ay maaaring maipasa sa isang de-koryenteng high-pass na filter. Ang isa pang paraan upang iproseso ang mga na-scan na larawan ay ang paggamit ng unsharp masking. Sa kasong ito, ang imahe ay, kumbaga, na-scan ng dalawang magkasanib na aperture, ang isa ay tumutugma sa normal na resolution, at ang isa ay sa pinababang resolution. Bilang resulta, isang array ng normal na imahe F (j, k) at isang array ng fuzzy na imahe F L (j, k) ay nakuha, ayon sa pagkakabanggit. Pagkatapos ay nabuo ang isang masked image array

F M (j, k) = c F (j, k) - (1-c) F L (j, k),

kung saan ang C ay ang proportionality coefficient. Karaniwan ang halaga ng C ay mula 3/5 hanggang 5/6, i.e. Ang ratio ng mga bahagi ay normal at ang pinababang kalinawan ay nag-iiba mula 1.5 hanggang 5.

Ang pagpapahusay sa gilid ay maaari ding makamit sa pamamagitan ng pagsasagawa ng discrete filtering ayon sa equation (1) gamit ang high-frequency impulse response H. Nasa ibaba ang tatlong karaniwang mask para sa pagsasagawa ng high-pass na pag-filter:




Ang mga maskara na ito ay naiiba dahil ang kabuuan ng kanilang mga elemento ay katumbas ng isa.

Ang isa pang paraan ng pagbibigay-diin sa mga hangganan ay ang tinatawag na statistical differentiation. Ang halaga ng liwanag ng bawat elemento ay hinati sa istatistikal na pagtatantya ng karaniwang paglihis (j,k)

G (j,k) = F (j,k) /  (j,k).

Standard deviation

ay kinakalkula sa ilang kapitbahayan N(j,k) ng elemento na may mga coordinate (j,k). Function
- ang average na halaga ng liwanag ng orihinal na imahe sa isang punto na may mga coordinate (j,k), tinatayang tinutukoy sa pamamagitan ng pagpapakinis ng imahe gamit ang low-pass filtering operator ayon sa formula (3.1). Ang pinahusay na imahe, na kinakatawan ng array G (j,k), ay naiiba sa orihinal na imahe dahil ang liwanag nito ay mas mataas sa mga hangganan, ang mga elemento nito ay hindi katulad ng mga kalapit na elemento, at mas mababa sa lahat ng iba pang lugar. Dapat pansinin na ang pagbibigay-diin sa mga kapaki-pakinabang na hangganan ay sinamahan ng pagtaas ng mga bahagi ng ingay.

Median na filter.

Ang median filtering ay isang nonlinear signal processing technique na binuo ni Tukey. Ang pamamaraang ito ay kapaki-pakinabang sa pagbabawas ng ingay sa isang imahe. Ang one-dimensional na median na filter ay isang sliding window na sumasaklaw sa isang kakaibang bilang ng mga elemento ng imahe. Ang gitnang elemento ay pinalitan ng median ng lahat ng elemento ng imahe sa window. Median ng isang discrete sequence

a 1 , a 2 , ..., a N para sa kakaibang N ay ang elemento kung saan mayroong (N-1)/2 elementong mas mababa sa o katumbas nito sa halaga, (N- 1)/2 na mas malaki kaysa o katumbas. dito sa laki ng halaga. Hayaang maglaman ang window ng mga elemento ng imahe na may mga antas na 80, 90, 200, 110, 120; sa kasong ito, ang elementong sentro ay dapat palitan ng value na 110, na siyang median ng ordered sequence na 80, 90, 110, 120, 200. Kung sa halimbawang ito ang value na 200 ay isang noise outlier sa isang monotonically increases sequence, kung gayon ang median na pag-filter ay magbibigay ng makabuluhang pagpapabuti. Sa kabaligtaran, kung ang halaga na 200 ay tumutugma sa isang kapaki-pakinabang na pulso ng signal (kapag gumagamit ng mga sensor ng wideband), kung gayon ang pagproseso ay hahantong sa pagkawala ng kalinawan sa muling ginawang imahe. Kaya, ang median na filter sa ilang mga kaso ay nagbibigay ng pagpigil sa ingay, sa iba naman ay nagdudulot ito ng hindi gustong pagpigil ng signal.

Ang median na filter ay hindi nakakaapekto sa mga function ng step o sawtooth, na karaniwang isang kanais-nais na pag-aari. Gayunpaman, pinipigilan ng filter na ito ang mga pulsed signal na ang tagal ay mas mababa sa kalahati ng lapad ng window. Ang filter ay nagiging sanhi din ng vertex ng triangular function upang patagin.

Limitado ang kakayahang pag-aralan ang epekto ng median na filter. Maipapakita na ang median ng produkto ng pare-parehong K at ang sequence f(j) ay katumbas ng

med( K f(j) )=K med(f (j)).

Bukod,

med( K+ f(j) )=K + med(f (j)).

Gayunpaman, ang median ng kabuuan ng dalawang arbitrary na pagkakasunud-sunod na f (j) at g(j) ay hindi katumbas ng kabuuan ng kanilang mga median:

med( g(j)+ f(j) )=med(g(j))+ med(f (j)).

Ang iba't ibang mga diskarte ay posible para sa paglalapat ng median na filter upang sugpuin ang ingay. Inirerekomenda ng isa sa kanila na magsimula sa isang median na filter, ang window kung saan sumasaklaw sa tatlong elemento ng imahe. Kung ang pagpapahina ng signal ay hindi gaanong mahalaga, ang window ng filter ay pinalawak sa limang elemento. Ginagawa ito hanggang sa magsimulang gumawa ng higit na pinsala kaysa sa mabuti ang median filtering. Ang isa pang posibilidad ay ang magsagawa ng cascaded median na pag-filter ng signal gamit ang isang nakapirming o variable na lapad ng window. Sa pangkalahatan, ang mga lugar na iyon na nananatiling hindi nagbabago pagkatapos ng iisang filter na paggamot ay hindi nagbabago pagkatapos ng paulit-ulit na pagproseso. Ang mga rehiyon kung saan ang tagal ng mga signal ng pulso ay mas mababa sa kalahati ng lapad ng window ay sasailalim sa mga pagbabago pagkatapos ng bawat ikot ng pagproseso.

Ang konsepto ng isang median na filter ay madaling gawing pangkalahatan sa dalawang dimensyon sa pamamagitan ng paggamit ng isang dalawang-dimensional na window ng nais na hugis, tulad ng hugis-parihaba o malapit sa bilog. Malinaw na ang dalawang-dimensional na median na filter na may isang window na may sukat na LL ay nagbibigay ng mas epektibong pagsugpo ng ingay kaysa sa sunud-sunod na inilapat na pahalang at patayong one-dimensional na median na mga filter na may isang window na may sukat na L1; Ang pagpoproseso ng 2D, gayunpaman, ay nagreresulta sa mas makabuluhang pagpapahina ng signal.

Mas epektibong pinipigilan ng median na filter ang nakakalat na ingay ng impulse kaysa sa makinis na ingay. Ang median na pag-filter ng mga imahe para sa layunin ng pagpigil sa ingay ay dapat ituring na isang heuristic na paraan. Hindi ito maaaring gamitin nang walang taros. Sa halip, dapat mong suriin ang iyong mga resulta upang matiyak na naaangkop ang median na pag-filter.