/ / Ako odstrániť hluk po filtrovaní? - opencv, detekcia okrajov, segmentácia obrázkov

Ako odstrániť hluk po filtrovaní? - opencv, detekcia okrajov, segmentácia obrázkov

Moja otázka je jednoduchá. Sobel som filtroval na stredne filtrovaný šedý obrázok. Sametovo filtrovaný obraz je

obdĺžnikový objekt v textúrovanej podlahe]! [obdĺžnikový objekt v textúrovanej podlahe

Obdĺžnikový objekt je v mojom záujme. Snažím sa to vyňať z obrazu.

Ako vidíte, spolu s objektom je viac hluku kvôli textúre podlahy, Preto je okrajový obrázok taký istý, ako je uvedené nižšie (s viacerými falošnými okrajmi)

tu zadajte popis obrázku

Ako odstrániť hluk po filtrovaní? Alebo Ako prekonám túto prekážku?

Vaše návrhy alebo usmernenia mi pomôžu urobiť dlhú cestu k pochopeniu spracovania obrazu a jeho výziev.

Ďakujem

odpovede:

5 pre odpoveď č. 1

Odstránenie hluku je veľký problém. Hlavná odpoveď je: záleží na tom, čo musíte urobiť.

Najskôr musíte filtrovať najlepší možný obraz, preto skúste nejaké predbežné spracovanie ako rozmazanie, prah alebo vyrovnanie histogramu.

Potom je morfologický operátor bežným spôsobom pokračovať. Nájdete nejakú dokumentáciu o týchto operátoroch tu alebo tu.

Potom môžete pokračovať v závislosti od toho, čo musíte urobiť s týmto obrázkom. Ak je vaším cieľom napríklad detekcia kvapiek, môžete filtrovať kvapôčky, čím eliminujete najmenšie bloby, ktoré vypočítavajú svoju plochu obrazové momenty.

Alebo ak potrebujete detekovať linky, skúste sa pozrieť na Hough transformácia.

EDIT: Blob a opencv

môžete nájsť veľa tutoriálu na internete o detekcii blobov. Ak neviete, čo to je, je lepšie, aby sa google trochu, je to základná súčasť počítačovej vízie. Tu sú niektoré odkazy: tu, tu, tu, tu alebo tu, Taktiež opencv verzia 2.4.8 má zabudovanú triedu pre extrakciu blobov: tu. toto je jednoduchý návod, ktorý vysvetľuje hlavné cv::findContours Funkcie.

Zopár slov, detekcia blobov je proces, ktorý získa binárny obraz (čierny a biely, typu CV_8U) a vráti súbor obrysov, ktoré vymedzujú niektoré pripojený komponentný regióny. Obrysy (alebo blob) sú vlastne vektorom 2d-bodov, ktoré vymedzujú tvar. Nájdete tu niektoré vlastnosti, ako je oblasť, centroid, atď.

Je lepšie študovať trochu nejaké spracovanie obrazu a základy počítačového videnia, môžem vám poradiť týmto slávnym kniha: Digitálne spracovanie obrazu, Rafael C. Gonzalez, Richard Eugene Woods, Nájdete ho v knihách Google alebo niekde inde v sieti.

Pozrite sa na tie úvodné kurzy.


1 pre odpoveď č. 2

S návrhom spoločnosti @ nkint som sa na problém pokúšal. Teraz sa môžem zbaviť hluku z detekcie okrajov Canny. Hlavným prínosom je Bilaterálny filter a tiež mierne od ostrenie filter.

Môj nový obraz, ktorý bol odhalený okrajom, je uvedený nižšie

tu zadajte popis obrázku

Obojstranný filter je označený akofilter na ochranu koncov okrajov. Funguje to ako gaussovský filter pre plochy s podobnými hodnotami. Súčasne zanedbáva pixely, ktoré sú menej podobné, čím zachovávajú okraje.