{"id":17056,"date":"2023-04-24T00:00:00","date_gmt":"2023-04-24T00:00:00","guid":{"rendered":"https:\/\/megnyitasa.com\/tudas\/a-szinek-atalakitasa-utmutato-a-szurkeskalava-alakitashoz-a-matlab-segitsegevel\/"},"modified":"2023-04-24T00:00:00","modified_gmt":"2023-04-24T00:00:00","slug":"a-szinek-atalakitasa-utmutato-a-szurkeskalava-alakitashoz-a-matlab-segitsegevel","status":"publish","type":"post","link":"https:\/\/megnyitasa.com\/tudas\/a-szinek-atalakitasa-utmutato-a-szurkeskalava-alakitashoz-a-matlab-segitsegevel\/","title":{"rendered":"A sz\u00ednek \u00e1talak\u00edt\u00e1sa: \u00datmutat\u00f3 a sz\u00fcrkesk\u00e1l\u00e1v\u00e1 alak\u00edt\u00e1shoz a MATLAB seg\u00edts\u00e9g\u00e9vel"},"content":{"rendered":"<div class=\"articlecontent\">\n<div class=\"newlinediv\"><\/div>\n<p> A MATLAB az egyik legsz\u00e9lesebb k\u00f6rben haszn\u00e1lt eszk\u00f6z a digit\u00e1lis k\u00e9pfeldolgoz\u00e1s ter\u00fclet\u00e9n. Sz\u00e1mos be\u00e9p\u00edtett funkci\u00f3t biztos\u00edt a k\u00e9pek manipul\u00e1l\u00e1s\u00e1hoz \u00e9s feldolgoz\u00e1s\u00e1hoz. A sz\u00fcrke\u00e1rnyalatos \u00e1talak\u00edt\u00e1s az egyik legalapvet\u0151bb \u00e9s leggyakrabban haszn\u00e1lt k\u00e9pfeldolgoz\u00e1si technika. Ebben a cikkben azt t\u00e1rgyaljuk, hogyan lehet egy RGB-k\u00e9pet sz\u00fcrke\u00e1rnyalatoss\u00e1 konvert\u00e1lni a MATLAB seg\u00edts\u00e9g\u00e9vel. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> A sz\u00fcrke\u00e1rnyalatos k\u00e9pek olyan k\u00e9pek, amelyek a feket\u00e9t\u0151l a feh\u00e9rig terjed\u0151 sz\u00fcrke\u00e1rnyalatokat tartalmaznak. Ezeket sz\u00e9les k\u00f6rben haszn\u00e1lj\u00e1k k\u00fcl\u00f6nb\u00f6z\u0151 alkalmaz\u00e1sokban, p\u00e9ld\u00e1ul az orvosi k\u00e9palkot\u00e1sban, a sz\u00e1m\u00edt\u00f3g\u00e9pes l\u00e1t\u00e1sban \u00e9s a grafik\u00e1ban. A sz\u00fcrke\u00e1rnyalatos konverzi\u00f3s folyamat sor\u00e1n kisz\u00e1m\u00edtjuk a k\u00e9p minden egyes pixel\u00e9nek f\u00e9nys\u0171r\u0171s\u00e9g\u00e9rt\u00e9k\u00e9t, \u00e9s az RGB-\u00e9rt\u00e9keket a megfelel\u0151 sz\u00fcrke\u00e1rnyalatos \u00e9rt\u00e9kkel helyettes\u00edtj\u00fck. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> A MATLAB egyszer\u0171 \u00e9s hat\u00e9kony m\u00f3dot biztos\u00edt az RGB-k\u00e9pek sz\u00fcrke\u00e1rnyalatoss\u00e1 alak\u00edt\u00e1s\u00e1ra az &#8222;rgb2gray&#8221; f\u00fcggv\u00e9ny seg\u00edts\u00e9g\u00e9vel. Ez a f\u00fcggv\u00e9ny bemenetk\u00e9nt egy RGB-k\u00e9pet fogad, \u00e9s kimenetk\u00e9nt egy sz\u00fcrke\u00e1rnyalatos k\u00e9pet ad vissza. Az al\u00e1bbiakban egy p\u00e9ldak\u00f3dr\u00e9szlet mutatja be az &#8222;rgb2gray&#8221; f\u00fcggv\u00e9ny haszn\u00e1lat\u00e1t: <\/p>\n<div class=\"newlinediv\"><\/div>\n<div class=\"newlinediv\"><\/div>\n<p> &#8222;`matlab <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> % A bemeneti k\u00e9p beolvas\u00e1sa <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> rgbImage = imread(&#8216;inputImage.jpg&#8217;); <\/p>\n<div class=\"newlinediv\"><\/div>\n<div class=\"newlinediv\"><\/div>\n<p> % Az RGB k\u00e9pet sz\u00fcrke\u00e1rnyalatoss\u00e1 alak\u00edtja <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> grayImage = rgb2gray(rgbImage); <\/p>\n<div class=\"newlinediv\"><\/div>\n<div class=\"newlinediv\"><\/div>\n<p> % Az eredeti \u00e9s a sz\u00fcrke\u00e1rnyalatos k\u00e9p megjelen\u00edt\u00e9se <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> subplot(1,2,1); imshow(rgbImage); title(&#8216;Eredeti k\u00e9p&#8217;); <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> subplot(1,2,2); imshow(grayImage); title(&#8216;Sz\u00fcrke\u00e1rnyalatos k\u00e9p&#8217;); <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> &#8222;` <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> A fenti k\u00f3dban el\u0151sz\u00f6r beolvassuk a bemeneti k\u00e9pet az &#8222;imread&#8221; f\u00fcggv\u00e9nnyel. Ezut\u00e1n az RGB k\u00e9pet \u00e1tadjuk az &#8222;rgb2gray&#8221; f\u00fcggv\u00e9nynek, hogy sz\u00fcrke\u00e1rnyalatoss\u00e1 alak\u00edtsuk. V\u00e9g\u00fcl az &#8222;imshow&#8221; f\u00fcggv\u00e9ny seg\u00edts\u00e9g\u00e9vel egym\u00e1s mellett megjelen\u00edtj\u00fck az eredeti \u00e9s a sz\u00fcrke\u00e1rnyalatos k\u00e9pet. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> Fontos megjegyezni, hogy az &#8222;rgb2gray&#8221; f\u00fcggv\u00e9ny s\u00falyozott \u00e1tlagol\u00e1si m\u00f3dszert haszn\u00e1l az egyes pixelek sz\u00fcrke\u00e1rnyalatos \u00e9rt\u00e9k\u00e9nek kisz\u00e1m\u00edt\u00e1s\u00e1hoz. Az ebben a m\u00f3dszerben haszn\u00e1lt s\u00falyok a v\u00f6r\u00f6s, z\u00f6ld \u00e9s k\u00e9k sz\u00edncsatorn\u00e1k relat\u00edv f\u00e9nyerej\u00e9n alapulnak. Ez azt jelenti, hogy a kapott sz\u00fcrke\u00e1rnyalatos k\u00e9p nem mindig lesz vizu\u00e1lisan kellemes, k\u00fcl\u00f6n\u00f6sen, ha az eredeti k\u00e9p sok sz\u00ednv\u00e1ltozattal rendelkezik. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> E probl\u00e9ma kik\u00fcsz\u00f6b\u00f6l\u00e9s\u00e9re m\u00e1s technik\u00e1kat is alkalmazhatunk az RGB-k\u00e9p sz\u00fcrke\u00e1rnyalatoss\u00e1 alak\u00edt\u00e1s\u00e1ra. Haszn\u00e1lhatjuk p\u00e9ld\u00e1ul a &#8222;Luminozit\u00e1s&#8221; m\u00f3dszert, amely az egyes k\u00e9ppontok sz\u00fcrke\u00e1rfolyam-\u00e9rt\u00e9k\u00e9t 0,21*R + 0,72*G + 0,07*B \u00e9rt\u00e9kk\u00e9nt sz\u00e1m\u00edtja ki. Ez a m\u00f3dszer nagyobb s\u00falyt ad a z\u00f6ld sz\u00edncsatorn\u00e1nak, amely az emberi szem sz\u00e1m\u00e1ra \u00e9rz\u00e9kenyebb. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> \u00d6sszefoglalva, az RGB-k\u00e9pek sz\u00fcrke\u00e1rnyalatoss\u00e1 alak\u00edt\u00e1sa egyszer\u0171, de hat\u00e9kony technika, amelyet sz\u00e9les k\u00f6rben haszn\u00e1lnak k\u00fcl\u00f6nb\u00f6z\u0151 alkalmaz\u00e1sokban. A MATLAB sz\u00e1mos be\u00e9p\u00edtett f\u00fcggv\u00e9nyt biztos\u00edt az \u00e1talak\u00edt\u00e1s elv\u00e9gz\u00e9s\u00e9hez, k\u00f6zt\u00fck az &#8222;rgb2gray&#8221; f\u00fcggv\u00e9nyt. Fontos azonban, hogy az alkalmaz\u00e1s saj\u00e1tos k\u00f6vetelm\u00e9nyei alapj\u00e1n v\u00e1lasszuk ki a megfelel\u0151 m\u00f3dszert a sz\u00fcrke\u00e1rnyalatos konverzi\u00f3hoz.<\/p><\/div>\n<div class=\"questions\">\n<div class=\"questionstitle\">FAQ<\/div>\n<div class=\"question\">\n<div class=\"qtitle\"> Hogyan konvert\u00e1lhat\u00f3 a dupla sz\u00fcrke\u00e1rnyalat Matlabban?<\/div>\n<p> Matlabban a k\u00f6vetkez\u0151 l\u00e9p\u00e9sekkel alak\u00edthat \u00e1t egy kett\u0151s k\u00e9pet sz\u00fcrke\u00e1rnyalatoss\u00e1: <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> 1. Olvassuk be a dupla k\u00e9pet a Matlabba az `imread` f\u00fcggv\u00e9ny seg\u00edts\u00e9g\u00e9vel. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> 2. Konvert\u00e1ljuk a kett\u0151s k\u00e9pet sz\u00fcrke\u00e1rnyalatoss\u00e1 az `rgb2gray` f\u00fcggv\u00e9ny seg\u00edts\u00e9g\u00e9vel. Ez a f\u00fcggv\u00e9ny egy RGB (piros, z\u00f6ld, k\u00e9k) k\u00e9pet sz\u00fcrke\u00e1rnyalatoss\u00e1 alak\u00edt a piros, z\u00f6ld \u00e9s k\u00e9k csatorn\u00e1k s\u00falyozott \u00e1tlag\u00e1nak kisz\u00e1m\u00edt\u00e1s\u00e1val. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> 3. A sz\u00fcrke\u00e1rnyalatos k\u00e9p megjelen\u00edt\u00e9se az `imshow` f\u00fcggv\u00e9ny seg\u00edts\u00e9g\u00e9vel. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> \u00cdme egy p\u00e9ldak\u00f3dr\u00e9szlet, amely bemutatja ezeket a l\u00e9p\u00e9seket: <\/p>\n<div class=\"newlinediv\"><\/div>\n<div class=\"newlinediv\"><\/div>\n<p> &#8222;&#8222; <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> % A kett\u0151s k\u00e9p beolvas\u00e1sa <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> img = imread(&#8216;my_double_image.jpg&#8217;); <\/p>\n<div class=\"newlinediv\"><\/div>\n<div class=\"newlinediv\"><\/div>\n<p> % A kett\u0151s k\u00e9p \u00e1talak\u00edt\u00e1sa sz\u00fcrke\u00e1rnyalatoss\u00e1 <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> gray_img = rgb2gray(img); <\/p>\n<div class=\"newlinediv\"><\/div>\n<div class=\"newlinediv\"><\/div>\n<p> % A sz\u00fcrke\u00e1rnyalatos k\u00e9p megjelen\u00edt\u00e9se <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> imshow(gray_img); <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> &#8222;` <\/p>\n<div class=\"newlinediv\"><\/div>\n<div class=\"newlinediv\"><\/div>\n<p> Vegy\u00fck figyelembe, hogy az `rgb2gray` csak RGB k\u00e9pekkel m\u0171k\u00f6dik, \u00edgy ha a kett\u0151s k\u00e9p nem RGB form\u00e1tum\u00fa, akkor m\u00e1s \u00e1talak\u00edt\u00f3 f\u00fcggv\u00e9nyt kell haszn\u00e1lnunk. A `imread` f\u00fcggv\u00e9nyben a f\u00e1jl el\u00e9r\u00e9si \u00fatvonal\u00e1t \u00e9s nev\u00e9t is igaz\u00edtsa az adott k\u00e9pf\u00e1jlhoz. <\/p>\n<\/div>\n<div class=\"question\">\n<div class=\"qtitle\"> Hogyan konvert\u00e1lhatunk RGB-k\u00e9peket sz\u00fcrke\u00e1rnyalatoss\u00e1 matlabban az rgb2gray haszn\u00e1lata n\u00e9lk\u00fcl?<\/div>\n<p> Az RGB-k\u00e9pek sz\u00fcrke\u00e1rnyalatoss\u00e1 alak\u00edt\u00e1sa a MATLAB-ban t\u00f6bbf\u00e9le m\u00f3dszerrel is megoldhat\u00f3. Az RGB k\u00e9pek sz\u00fcrke\u00e1rnyalatoss\u00e1 alak\u00edt\u00e1s\u00e1nak egyik m\u00f3dja az `rgb2gray` f\u00fcggv\u00e9ny haszn\u00e1lata n\u00e9lk\u00fcl a luminozit\u00e1si m\u00f3dszer haszn\u00e1lata. Ez a m\u00f3dszer a v\u00f6r\u00f6s, z\u00f6ld \u00e9s k\u00e9k sz\u00edncsatorn\u00e1k s\u00falyozott \u00f6sszeg\u00e9t sz\u00e1m\u00edtja ki, ahol a z\u00f6ld csatorn\u00e1nak van a legnagyobb s\u00falya, ezt k\u00f6veti a v\u00f6r\u00f6s csatorna, majd a k\u00e9k csatorna. Az \u00edgy kapott s\u00falyozott \u00f6sszeget haszn\u00e1ljuk sz\u00fcrke\u00e1rnyalatos intenzit\u00e1s\u00e9rt\u00e9kk\u00e9nt. <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> Az RGB-k\u00e9pek sz\u00fcrke\u00e1rnyalatoss\u00e1 alak\u00edt\u00e1s\u00e1nak k\u00f3dja a MATLAB-ban a f\u00e9nyer\u0151ss\u00e9gi m\u00f3dszerrel a k\u00f6vetkez\u0151: <\/p>\n<div class=\"newlinediv\"><\/div>\n<div class=\"newlinediv\"><\/div>\n<p> &#8222;` <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> % Az RGB k\u00e9p beolvas\u00e1sa <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> rgbImage = imread(&#8216;image.jpg&#8217;); <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> % A piros, z\u00f6ld \u00e9s k\u00e9k sz\u00edncsatorn\u00e1k kivon\u00e1sa <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> redChannel = double(rgbImage(:, :, 1)); <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> greenChannel = double(rgbImage(:, :, 2)); <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> blueChannel = double(rgbImage(:, :, 3)); <\/p>\n<div class=\"newlinediv\"><\/div>\n<div class=\"newlinediv\"><\/div>\n<p> % A sz\u00edncsatorn\u00e1k s\u00falyozott \u00f6sszeg\u00e9nek kisz\u00e1m\u00edt\u00e1sa <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> grayImage = 0.2989 * redChannel + 0.5870 * greenChannel + 0.1140 * blueChannel; <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> % A sz\u00fcrke\u00e1rnyalatos k\u00e9pet uint8 form\u00e1tumba konvert\u00e1ljuk <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> grayImage = uint8(grayImage); <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> % A sz\u00fcrke\u00e1rnyalatos k\u00e9p megjelen\u00edt\u00e9se <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> imshow(grayImage); <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> &#8222;` <\/p>\n<div class=\"newlinediv\"><\/div>\n<p> A fenti k\u00f3dban az `imread` f\u00fcggv\u00e9nyt haszn\u00e1ljuk az RGB k\u00e9p olvas\u00e1s\u00e1ra. A `double` f\u00fcggv\u00e9nyt a sz\u00edncsatorn\u00e1k k\u00e9tszeres pontoss\u00e1g\u00fav\u00e1 alak\u00edt\u00e1s\u00e1ra haszn\u00e1ljuk, mivel a s\u00falyozott \u00f6sszeg kisz\u00e1m\u00edt\u00e1s\u00e1hoz lebeg\u0151pontos aritmetika sz\u00fcks\u00e9ges. A f\u00e9nyer\u0151ss\u00e9gs\u00falyokat ezut\u00e1n elemenk\u00e9nti szorz\u00e1ssal alkalmazzuk a sz\u00edncsatorn\u00e1kra, \u00e9s az \u00edgy kapott s\u00falyozott \u00f6sszeget a `grayImage` v\u00e1ltoz\u00f3ban t\u00e1roljuk. V\u00e9g\u00fcl a `uint8` f\u00fcggv\u00e9nyt haszn\u00e1ljuk a sz\u00fcrke\u00e1rnyalatos k\u00e9p 8 bites form\u00e1tumba val\u00f3 visszaalak\u00edt\u00e1s\u00e1ra, \u00e9s az `imshow` f\u00fcggv\u00e9nyt a sz\u00fcrke\u00e1rnyalatos k\u00e9p megjelen\u00edt\u00e9s\u00e9re.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A MATLAB az egyik legsz\u00e9lesebb k\u00f6rben haszn\u00e1lt eszk\u00f6z a digit\u00e1lis k\u00e9pfeldolgoz\u00e1s ter\u00fclet\u00e9n. Sz\u00e1mos be\u00e9p\u00edtett funkci\u00f3t biztos\u00edt a k\u00e9pek manipul\u00e1l\u00e1s\u00e1hoz \u00e9s feldolgoz\u00e1s\u00e1hoz. A sz\u00fcrke\u00e1rnyalatos \u00e1talak\u00edt\u00e1s az egyik legalapvet\u0151bb \u00e9s leggyakrabban haszn\u00e1lt k\u00e9pfeldolgoz\u00e1si technika. Ebben a cikkben azt t\u00e1rgyaljuk, hogyan lehet egy RGB-k\u00e9pet sz\u00fcrke\u00e1rnyalatoss\u00e1 konvert\u00e1lni a MATLAB seg\u00edts\u00e9g\u00e9vel. A sz\u00fcrke\u00e1rnyalatos k\u00e9pek olyan k\u00e9pek, amelyek a feket\u00e9t\u0151l a &#8230; <a title=\"A sz\u00ednek \u00e1talak\u00edt\u00e1sa: \u00datmutat\u00f3 a sz\u00fcrkesk\u00e1l\u00e1v\u00e1 alak\u00edt\u00e1shoz a MATLAB seg\u00edts\u00e9g\u00e9vel\" class=\"read-more\" href=\"https:\/\/megnyitasa.com\/tudas\/a-szinek-atalakitasa-utmutato-a-szurkeskalava-alakitashoz-a-matlab-segitsegevel\/\" aria-label=\"Read more about A sz\u00ednek \u00e1talak\u00edt\u00e1sa: \u00datmutat\u00f3 a sz\u00fcrkesk\u00e1l\u00e1v\u00e1 alak\u00edt\u00e1shoz a MATLAB seg\u00edts\u00e9g\u00e9vel\">Read more<\/a><\/p>\n","protected":false},"author":443,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[],"class_list":["post-17056","post","type-post","status-publish","format-standard","hentry","category-uzleti-es-munkahelyi-szabalyozasok"],"_links":{"self":[{"href":"https:\/\/megnyitasa.com\/tudas\/wp-json\/wp\/v2\/posts\/17056","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/megnyitasa.com\/tudas\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/megnyitasa.com\/tudas\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/megnyitasa.com\/tudas\/wp-json\/wp\/v2\/users\/443"}],"replies":[{"embeddable":true,"href":"https:\/\/megnyitasa.com\/tudas\/wp-json\/wp\/v2\/comments?post=17056"}],"version-history":[{"count":0,"href":"https:\/\/megnyitasa.com\/tudas\/wp-json\/wp\/v2\/posts\/17056\/revisions"}],"wp:attachment":[{"href":"https:\/\/megnyitasa.com\/tudas\/wp-json\/wp\/v2\/media?parent=17056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/megnyitasa.com\/tudas\/wp-json\/wp\/v2\/categories?post=17056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/megnyitasa.com\/tudas\/wp-json\/wp\/v2\/tags?post=17056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}