{"id":1070,"date":"2026-02-19T23:36:49","date_gmt":"2026-02-19T22:36:49","guid":{"rendered":"https:\/\/trzykody.pl\/?p=1070"},"modified":"2026-02-19T23:36:50","modified_gmt":"2026-02-19T22:36:50","slug":"jak-usunac-czerwone-oczy-przy-uzyciu-metod-optycznych-i-ustawien-aparatu-fotograficznego","status":"publish","type":"post","link":"https:\/\/trzykody.pl\/index.php\/2026\/02\/19\/jak-usunac-czerwone-oczy-przy-uzyciu-metod-optycznych-i-ustawien-aparatu-fotograficznego\/","title":{"rendered":"Jak usun\u0105\u0107 czerwone oczy przy u\u017cyciu metod optycznych i ustawie\u0144 aparatu fotograficznego"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Efekt czerwonych oczu powstaje g\u0142\u00f3wnie wtedy, gdy \u015bwiat\u0142o lampy b\u0142yskowej pada prawie wsp\u00f3\u0142osiowo z obiektywem i odbija si\u0119 od silnie ukrwionej siatk\u00f3wki oka. Aparat rejestruje wtedy intensywny sk\u0142adnik czerwony w obszarze \u017arenicy. Problem nasila si\u0119 w warunkach s\u0142abego o\u015bwietlenia, gdy \u017arenice s\u0105 rozszerzone, a k\u0105t padania \u015bwiat\u0142a sprzyja bezpo\u015bredniemu odbiciu. <strong>Jak usun\u0105\u0107 czerwone oczy?<\/strong><\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Spis Tre\u015bci<\/h2><nav><ol><li class=\"\"><a href=\"#jak-usunac-czerwone-oczy-z-wykorzystaniem-analizy-pikseli-i-modeli-barwnych-obrazu\">Jak usun\u0105\u0107 czerwone oczy z wykorzystaniem analizy pikseli i modeli barwnych obrazu<\/a><\/li><li class=\"\"><a href=\"#jak-usunac-czerwone-oczy-w-kontekscie-narzedzi-graficznych-i-polautomatycznych-algorytmow-korekcji\">Jak usun\u0105\u0107 czerwone oczy w kontek\u015bcie narz\u0119dzi graficznych i p\u00f3\u0142automatycznych algorytm\u00f3w korekcji<\/a><ol><li class=\"\"><a href=\"#jak-usunac-czerwone-oczy\">Jak usun\u0105\u0107 czerwone oczy &#8211; Podsumowanie<\/a><\/li><\/ol><\/li><\/ol><\/nav><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Mechanizm fizyczny:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>lampa b\u0142yskowa \u2192 wi\u0105zka \u015bwiat\u0142a o szerokim spektrum,<\/li>\n\n\n\n<li>\u015bwiat\u0142o wnika do oka \u2192 odbicie od siatk\u00f3wki (bogatej w naczynia krwiono\u015bne),<\/li>\n\n\n\n<li>powr\u00f3t \u015bwiat\u0142a do obiektywu \u2192 silna dominanta czerwieni w pikselach odpowiadaj\u0105cych \u017arenicy.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Metody ograniczania problemu na etapie wykonywania zdj\u0119cia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>odsuni\u0119cie \u017ar\u00f3d\u0142a \u015bwiat\u0142a od osi obiektywu (lampa zewn\u0119trzna, odbicie od sufitu),<\/li>\n\n\n\n<li>u\u017cycie \u015bwiat\u0142a ci\u0105g\u0142ego zamiast b\u0142ysku,<\/li>\n\n\n\n<li>zastosowanie przedb\u0142ysku powoduj\u0105cego skurcz \u017arenic przed wykonaniem w\u0142a\u015bciwego zdj\u0119cia,<\/li>\n\n\n\n<li>zwi\u0119kszenie o\u015bwietlenia sceny, aby \u017arenice by\u0142y mniejsze,<\/li>\n\n\n\n<li>delikatna zmiana k\u0105ta ustawienia fotografowanego obiektu wzgl\u0119dem aparatu.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">S\u0105 to metody \u201esprz\u0119towe\u201d, nie wymagaj\u0105 ingerencji w obraz po jego wykonaniu. Ich wad\u0105 jest to, \u017ce nie zawsze da si\u0119 je zastosowa\u0107 w sytuacjach spontanicznych lub w warunkach s\u0142abego o\u015bwietlenia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"jak-usunac-czerwone-oczy-z-wykorzystaniem-analizy-pikseli-i-modeli-barwnych-obrazu\">Jak usun\u0105\u0107 czerwone oczy z wykorzystaniem analizy pikseli i modeli barwnych obrazu<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Korekcja programowa opiera si\u0119 na wykryciu obszar\u00f3w odpowiadaj\u0105cych \u017arenicom i modyfikacji sk\u0142adowych koloru w tych obszarach. Najcz\u0119\u015bciej wykorzystuje si\u0119 modele barwne RGB, HSV lub YCbCr.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podstawowa obserwacja:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>w obszarze czerwonych oczu kana\u0142 R ma znacznie wi\u0119ksz\u0105 warto\u015b\u0107 ni\u017c G i B,<\/li>\n\n\n\n<li>kolor jest intensywny, ale ograniczony do niewielkiego, zwykle okr\u0105g\u0142ego obszaru w obr\u0119bie twarzy.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Etapy algorytmu w uj\u0119ciu og\u00f3lnym:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Wst\u0119pna lokalizacja twarzy i oczu (np. klasyfikatory kaskadowe, proste heurystyki geometryczne).<\/li>\n\n\n\n<li>Analiza kolor\u00f3w w podejrzanych obszarach.<\/li>\n\n\n\n<li>Wykrycie pikseli spe\u0142niaj\u0105cych warunek \u201edominuj\u0105cej czerwieni\u201d.<\/li>\n\n\n\n<li>Korekta barwy pikseli (obni\u017cenie sk\u0142adowej R, ewentualnie zast\u0105pienie kolorem ciemnym o niskiej saturacji).<\/li>\n\n\n\n<li>Wyg\u0142adzenie granic obszaru korekcji, aby unikn\u0105\u0107 artefakt\u00f3w.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142adowe warunki wykrywania w RGB:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>R > 150,<\/li>\n\n\n\n<li>R > 1.5 * G,<\/li>\n\n\n\n<li>R > 1.5 * B.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142adowa korekcja:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>nowa warto\u015b\u0107 R = (G + B) \/ 2,<\/li>\n\n\n\n<li>zachowanie jasno\u015bci przy zmniejszeniu nasycenia czerwieni.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Poni\u017cej zestaw prostych przyk\u0142ad\u00f3w kodu i wzor\u00f3w w formie tabelarycznej.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>J\u0119zyk \/ zapis<\/th><th>Przyk\u0142ad<\/th><\/tr><\/thead><tbody><tr><td>C<\/td><td><code>c\\nfor (int y = 0; y &lt; h; y++) {\\n for (int x = 0; x &lt; w; x++) {\\n int R = img[y][x].r;\\n int G = img[y][x].g;\\n int B = img[y][x].b;\\n if (R &gt; 150 &amp;&amp; R &gt; 1.5 * G &amp;&amp; R &gt; 1.5 * B) {\\n img[y][x].r = (G + B) \/ 2;\\n }\\n }\\n}\\n<\/code><\/td><\/tr><tr><td>C++<\/td><td><code>cpp\\nfor (int y = 0; y &lt; h; ++y) {\\n for (int x = 0; x &lt; w; ++x) {\\n auto &amp;p = img[y][x];\\n if (p.r &gt; 150 &amp;&amp; p.r &gt; 1.5 * p.g &amp;&amp; p.r &gt; 1.5 * p.b) {\\n p.r = (p.g + p.b) \/ 2;\\n }\\n }\\n}\\n<\/code><\/td><\/tr><tr><td>Python<\/td><td><code>python\\nfor y in range(h):\\n for x in range(w):\\n R, G, B = img[y][x]\\n if R &gt; 150 and R &gt; 1.5 * G and R &gt; 1.5 * B:\\n img[y][x][0] = (G + B) \/\/ 2\\n<\/code><\/td><\/tr><tr><td>Wz\u00f3r decyzyjny<\/td><td>R &gt; k\u00b7G \u2227 R &gt; k\u00b7B, gdzie k \u2248 1.5<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">W praktyce do lokalizacji oczu cz\u0119sto u\u017cywa si\u0119 gotowych detektor\u00f3w twarzy, np. dost\u0119pnych w bibliotekach takich jak OpenCV. Sama korekta koloru mo\u017ce by\u0107 wykonana prostymi operacjami arytmetycznymi na pikselach.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"jak-usunac-czerwone-oczy-w-kontekscie-narzedzi-graficznych-i-polautomatycznych-algorytmow-korekcji\">Jak usun\u0105\u0107 czerwone oczy w kontek\u015bcie narz\u0119dzi graficznych i p\u00f3\u0142automatycznych algorytm\u00f3w korekcji<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">W edytorach graficznych korekta bywa realizowana p\u00f3\u0142automatycznie: u\u017cytkownik wskazuje obszar oka, a program wykonuje analiz\u0119 koloru i zast\u0119puje go neutralnym odcieniem. Mechanizm jest podobny do opisanego wy\u017cej, ale wzbogacony o:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>adaptacyjne progi detekcji (zale\u017cne od jasno\u015bci i kontrastu zdj\u0119cia),<\/li>\n\n\n\n<li>segmentacj\u0119 obszaru \u017arenicy,<\/li>\n\n\n\n<li>lokalne wyg\u0142adzanie przej\u015b\u0107 tonalnych.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142adowe narz\u0119dzia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Adobe Photoshop \u2013 narz\u0119dzie \u201eRed Eye Tool\u201d bazuj\u0105ce na lokalnej analizie barwy i jasno\u015bci,<\/li>\n\n\n\n<li>GIMP \u2013 wtyczki i filtry do korekcji czerwonych oczu.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Algorytmy p\u00f3\u0142automatyczne:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>po wskazaniu punktu startowego program wyszukuje region o podobnej barwie,<\/li>\n\n\n\n<li>stosuje mask\u0119 binarn\u0105 dla pikseli spe\u0142niaj\u0105cych warunki \u201eczerwono\u015bci\u201d,<\/li>\n\n\n\n<li>modyfikuje kana\u0142 R oraz nasycenie w modelu HSV,<\/li>\n\n\n\n<li>na ko\u0144cu wykonuje lokalne rozmycie kraw\u0119dzi maski, aby korekta nie by\u0142a widoczna jako \u201eplama\u201d.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pu\u0142apki i cz\u0119ste b\u0142\u0119dy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>zbyt agresywna redukcja kana\u0142u R powoduje nienaturalnie szare lub zielonkawe oczy,<\/li>\n\n\n\n<li>korekcja wykonywana na zbyt du\u017cym obszarze narusza fragmenty sk\u00f3ry wok\u00f3\u0142 oka,<\/li>\n\n\n\n<li>stosowanie jednego, sta\u0142ego progu dla wszystkich zdj\u0119\u0107 prowadzi do b\u0142\u0119d\u00f3w przy r\u00f3\u017cnych warunkach o\u015bwietlenia,<\/li>\n\n\n\n<li>brak uwzgl\u0119dnienia jasno\u015bci (kana\u0142 Y w YCbCr) powoduje utrat\u0119 detali w \u017arenicy.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Uwagi praktyczne:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>korekcj\u0119 warto ogranicza\u0107 mask\u0105 geometryczn\u0105 do obszaru oka,<\/li>\n\n\n\n<li>lepsze efekty daje modyfikacja barwy przy zachowaniu luminancji,<\/li>\n\n\n\n<li>przy automatyzacji potrzebna jest walidacja na r\u00f3\u017cnych typach zdj\u0119\u0107 (ciemne pomieszczenia, r\u00f3\u017cne kolory oczu, r\u00f3\u017cne typy aparat\u00f3w).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"jak-usunac-czerwone-oczy\">Jak usun\u0105\u0107 czerwone oczy &#8211; Podsumowanie<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Zjawisko czerwonych oczu jest prostym przyk\u0142adem problemu z pogranicza optyki, percepcji barwy i przetwarzania obrazu. Da si\u0119 je ogranicza\u0107 sprz\u0119towo na etapie rejestracji obrazu albo korygowa\u0107 algorytmicznie przez analiz\u0119 pikseli i modyfikacj\u0119 sk\u0142adowych koloru.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Efekt czerwonych oczu powstaje g\u0142\u00f3wnie wtedy, gdy \u015bwiat\u0142o lampy b\u0142yskowej pada prawie wsp\u00f3\u0142osiowo z obiektywem i odbija si\u0119 od silnie ukrwionej siatk\u00f3wki oka. Aparat rejestruje wtedy intensywny sk\u0142adnik czerwony w obszarze \u017arenicy. Problem nasila si\u0119 w warunkach s\u0142abego o\u015bwietlenia, gdy \u017arenice s\u0105 rozszerzone, a k\u0105t padania \u015bwiat\u0142a sprzyja bezpo\u015bredniemu odbiciu. Jak usun\u0105\u0107 czerwone oczy? Mechanizm fizyczny: Metody ograniczania problemu na etapie wykonywania zdj\u0119cia: S\u0105 to metody \u201esprz\u0119towe\u201d, nie wymagaj\u0105 ingerencji w obraz po jego wykonaniu. Ich wad\u0105 jest to, \u017ce nie zawsze da si\u0119 je zastosowa\u0107 w sytuacjach spontanicznych lub w warunkach s\u0142abego o\u015bwietlenia. Jak usun\u0105\u0107 czerwone oczy z wykorzystaniem analizy pikseli i modeli barwnych obrazu Korekcja programowa opiera si\u0119 na wykryciu obszar\u00f3w odpowiadaj\u0105cych \u017arenicom i modyfikacji sk\u0142adowych koloru w tych obszarach. Najcz\u0119\u015bciej wykorzystuje si\u0119 modele barwne RGB, HSV lub YCbCr. Podstawowa obserwacja: Etapy algorytmu w uj\u0119ciu og\u00f3lnym: Przyk\u0142adowe warunki wykrywania w RGB: Przyk\u0142adowa korekcja: Poni\u017cej zestaw prostych przyk\u0142ad\u00f3w kodu i wzor\u00f3w w formie tabelarycznej. J\u0119zyk \/ zapis Przyk\u0142ad C c\\nfor (int y = 0; y &lt; h; y++) {\\n for (int x = 0; x &lt; w; x++) {\\n int R = img[y][x].r;\\n int G = img[y][x].g;\\n int B = img[y][x].b;\\n if (R &gt; 150 &amp;&amp; R &gt; 1.5 * G &amp;&amp; R &gt; 1.5 * B) {\\n img[y][x].r = (G + B) \/ 2;\\n }\\n }\\n}\\n C++ cpp\\nfor (int y = 0; y &lt; h; ++y) {\\n for (int x = 0; x &lt; w; ++x) {\\n auto &amp;p = img[y][x];\\n if (p.r &gt; 150 &amp;&amp; p.r &gt; 1.5 * p.g &amp;&amp; p.r &gt; 1.5 * p.b) {\\n p.r = (p.g + p.b) \/ 2;\\n }\\n }\\n}\\n Python python\\nfor y in range(h):\\n for x in range(w):\\n R, G, B = img[y][x]\\n if R &gt; 150 and R &gt; 1.5 * G and R &gt; 1.5 * B:\\n img[y][x][0] = (G + B) \/\/ 2\\n Wz\u00f3r decyzyjny R &gt; k\u00b7G \u2227 R &gt; k\u00b7B, gdzie k \u2248 1.5 W praktyce do lokalizacji oczu cz\u0119sto u\u017cywa si\u0119 gotowych detektor\u00f3w twarzy, np. dost\u0119pnych w bibliotekach takich jak OpenCV. Sama korekta koloru mo\u017ce by\u0107 wykonana prostymi operacjami arytmetycznymi na pikselach. Jak usun\u0105\u0107 czerwone oczy w kontek\u015bcie narz\u0119dzi graficznych i p\u00f3\u0142automatycznych algorytm\u00f3w korekcji W edytorach graficznych korekta bywa realizowana p\u00f3\u0142automatycznie: u\u017cytkownik wskazuje obszar oka, a program wykonuje analiz\u0119 koloru i zast\u0119puje go neutralnym odcieniem. Mechanizm jest podobny do opisanego wy\u017cej, ale wzbogacony o: Przyk\u0142adowe narz\u0119dzia: Algorytmy p\u00f3\u0142automatyczne: Pu\u0142apki i cz\u0119ste b\u0142\u0119dy: Uwagi praktyczne: Jak usun\u0105\u0107 czerwone oczy &#8211; Podsumowanie Zjawisko czerwonych oczu jest prostym przyk\u0142adem problemu z pogranicza optyki, percepcji barwy i przetwarzania obrazu. Da si\u0119 je ogranicza\u0107 sprz\u0119towo na etapie rejestracji obrazu albo korygowa\u0107 algorytmicznie przez analiz\u0119 pikseli i modyfikacj\u0119 sk\u0142adowych koloru.<\/p>\n","protected":false},"author":1,"featured_media":1072,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-1070","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-grafika"],"_links":{"self":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts\/1070","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/comments?post=1070"}],"version-history":[{"count":1,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts\/1070\/revisions"}],"predecessor-version":[{"id":1073,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts\/1070\/revisions\/1073"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/media\/1072"}],"wp:attachment":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/media?parent=1070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/categories?post=1070"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/tags?post=1070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}