გამოსახულების დამუშავების ძირითადი ალგორითმები. გამოსახულების წინასწარი დამუშავების ალგორითმები გამოსახულების წინასწარი დამუშავება

ციფრული ხმაური არის გამოსახულების დეფექტი, რომელიც არის შემთხვევით განლაგებული ადგილები, რომლებიც ახლოსაა პიქსელის ზომასთან და განსხვავდება ორიგინალური გამოსახულებისგან სიკაშკაშით ან ფერით. ხმაურის შემცირება მნიშვნელოვან როლს ასრულებს ვიდეო თანმიმდევრობებისა და სურათების გადაცემაში, დამუშავებასა და შეკუმშვაში.

ვიდეო ხმაური შეიძლება წარმოიშვას რამდენიმე მიზეზის გამო:

1. არასრულყოფილი ვიდეო გადაღების მოწყობილობა.

2. გადაღების ცუდი პირობები - როგორიცაა ღამის ფოტო/ვიდეო გადაღება, გადაღება უამინდობაში.

3. ჩარევა ანალოგურ არხებზე გადაცემის დროს - ჩარევა ელექტრომაგნიტური ველების წყაროებიდან, გადამცემი ხაზის აქტიური კომპონენტების (გამაძლიერებლების) შინაგანი ხმაური. მაგალითია სატელევიზიო სიგნალი.

4. ანალოგური კომპოზიციური სიგნალიდან განათების და ფერის განსხვავების სიგნალების ამოღებისას უზუსტობების გაფილტვრა და ა.შ.

გამოსახულებაში ხმაურის რაოდენობა შეიძლება განსხვავდებოდეს კარგ შუქზე გადაღებულ ციფრულ ფოტოზე თითქმის შეუმჩნეველი ლაქიდან, ასტრონომიულ ფოტოებამდე, რომლებშიც ხმაური ფარავს სასარგებლო ინფორმაციის დიდ ნაწილს, რომლის მიღებაც შესაძლებელია მხოლოდ გამოსახულების შრომატევადი დამუშავების შედეგად.

ხმაური შეიძლება იყოს სხვადასხვა ტიპის, რაც დამოკიდებულია სურათზე ხმაურის შემთხვევითი განაწილების ბუნებაზე. პრაქტიკაში, ყველაზე გავრცელებული ტიპებია:

თეთრი გაუსის ხმაური

ერთ-ერთი ყველაზე გავრცელებული ხმაურია დანამატი გაუსის ხმაური, რომელიც ხასიათდება გამოსახულების თითოეულ პიქსელზე ნორმალური განაწილებით და ნულოვანი საშუალო მნიშვნელობებით. ტერმინი "დამატება" ნიშნავს, რომ ამ ტიპის ხმაური ემატება სასარგებლო სიგნალს. ხდება მაშინ, როდესაც სიგნალის მიღების ცუდი პირობებია.

ციფრული ხმაური

ციფრული ხმაურის მიზეზი ყველაზე ხშირად დაკავშირებულია სროლისთვის გამოყენებული აღჭურვილობის მახასიათებლებთან - ჩვეულებრივ, მატრიცის არასაკმარისი სინათლის მგრძნობელობით. ამ ტიპის ხმაური ხასიათდება გამოსახულების ზოგიერთი პიქსელის ჩანაცვლებით ფიქსირებული ან შემთხვევითი ცვლადის მნიშვნელობებით. თუ წერტილების სიკაშკაშე დაახლოებით თანაბარია, ციფრულ ხმაურს ასევე უწოდებენ "იმპულსურს". თუ წერტილების ინტენსივობა შეიძლება განსხვავდებოდეს შავიდან თეთრამდე, ხმაურს მარილისა და პილპილის ხმაური ეწოდება.

როგორც წესი, ამ ტიპის ხმაური გავლენას ახდენს გამოსახულების მხოლოდ მცირე რაოდენობის პიქსელზე.

კომბინირებული ხმაური

ნაკლებად ხშირად არის შემთხვევები, როდესაც გამოსახულება თანაბარი მოცულობით არის ხმაურიანი გაუსის ხმაურით და შემთხვევითი პულსებით. ამ კომპლექტს კომბინირებული ხმაური ეწოდება.

გამოსახულების სკანირების დეფექტები

გვერდითი ეფექტები, როგორიცაა ბზარები, ნაკაწრები, სისხლჩაქცევები, ასევე შეიძლება გამოჩნდეს სურათზე. ამ არტეფაქტებს არ აქვთ ერთგვაროვანი სტრუქტურა, მათი ფორმისა და ადგილმდებარეობის განსაზღვრა ძირითადად მათემატიკური ანალიზის მიღმაა. ამ სახის დეფექტებთან ბრძოლა შესაძლებელია მხოლოდ ხელით გამოსახულების დამუშავების დახმარებით, ამიტომ ისინი არ განიხილება ამ ნაშრომში.

ხმაურის მოხსნის ალგორითმები

არსებობს უამრავი ალგორითმი სურათებიდან ხმაურის მოსაშორებლად და მათი გამოყენება შესაძლებელია არა მხოლოდ სპეციალური დამუშავების პროგრამებით, არამედ ზოგიერთი ფოტო და ვიდეო კამერით. ამის მიუხედავად, ჯერ კიდევ არ არსებობს უნივერსალური ფილტრაციის ალგორითმი, რადგან სურათის დამუშავებისას ყოველთვის არის საჭირო არჩევანის გაკეთება არასასურველი ეფექტების აღმოფხვრის ხარისხსა და მცირე დეტალების შენარჩუნებას შორის, რომლებსაც აქვთ ხმაურის მსგავსი მახასიათებლები. გარდა ამისა, ალგორითმს, რომელიც ადვილად უმკლავდება ერთი ტიპის ხმაურს, შეუძლია მხოლოდ გააფუჭოს სურათი სხვა ტიპის ხმაურით.

მოდით განვიხილოთ გამოსახულების ხმაურის შემცირების ყველაზე ცნობილი ალგორითმები.

წრფივი პიქსელის საშუალო მაჩვენებელი

ხმაურის მოცილების უმარტივესი იდეა არის პიქსელების მნიშვნელობების საშუალოდ გაზომვა სივრცით სამეზობლოში. ვინაიდან ხმაური დამოუკიდებლად იცვლება პიქსელიდან პიქსელამდე, მიმდებარე პიქსელების ხმაური გააუქმებს ერთმანეთს შეჯამებისას. დაყენებულია მართკუთხა ფანჯარა, რომელიც რიგრიგობით არის გადატანილი გამოსახულების თითოეულ პიქსელზე. ცენტრალური პიქსელის მნიშვნელობა გამოითვლება ყველა მიმდებარე პიქსელის ანალიზის საფუძველზე, რომლებიც ხვდება ფანჯრის ზონაში. შესაბამისად, რაც უფრო დიდია აღებული ფანჯარა, მით მეტი საშუალო მნიშვნელობა მიიღება ბოლოს, რაც იწვევს ძლიერ ბუნდოვან ეფექტს.

უმარტივეს ვერსიაში, მეზობელი პიქსელების ანალიზი არის მათი საშუალო არითმეტიკის პოვნა. იმ პიქსელების გავლენის შესამცირებლად, რომლებიც არ მიეკუთვნება იმავე არეალს, როგორც განხილულს (მაგალითად, მუქი მონახაზი ღია ფონზე), შეგიძლიათ შემოიტანოთ გარკვეული რიცხვითი ბარიერი და გაითვალისწინოთ მხოლოდ ის მეზობლები, რომელთა განსხვავებაც ცენტრალური პიქსელი არ აღემატება ამ ზღვარს. რაც უფრო დიდია ზღვრული მნიშვნელობა, მით უფრო ძლიერი იქნება საშუალო მაჩვენებელი. განხილული ვარიანტი შეიძლება გართულდეს თითოეული მეზობელი პიქსელისთვის წონის კოეფიციენტების შემოღებით, რაც დამოკიდებულია განხილული ტერიტორიის ცენტრიდან მათი დაშორების მიხედვით.

ეს მეთოდი ასევე შეიძლება გამოყენებულ იქნას დროის დომენში თითოეული პიქსელის საშუალოდ გადაცემის გზით ვიდეო ნაკადის მიმდებარე კადრებზე (თითოეული პიქსელი იქნება საშუალოდ მდებარე პიქსელებზე, რომლებიც მდებარეობს იმავე პოზიციაზე მიმდებარე კადრებში).

ეს ალგორითმი ძალიან მარტივია, მაგრამ არ იძლევა კარგ შედეგს, ამავდროულად იწვევს გამოსახულების დეტალების ძლიერ დაბინდვას.

გაუსის ფილტრი

მას აქვს წინა მეთოდის მსგავსი მოქმედების პრინციპი და ასევე მიეკუთვნება საწინააღმდეგო ფილტრების რაოდენობას. ამასთან, ხმაურის შემცირებას ხაზოვანი საშუალო ფილტრის გამოყენებით მნიშვნელოვანი ნაკლი აქვს: დამუშავებული პიქსელის ყველა მეზობელს აქვს იგივე გავლენა შედეგზე, მიუხედავად მისგან დაშორებისა. გაუსის ფილტრი ასევე აფასებს ცენტრალურ პიქსელს და მის მეზობლებს გარკვეულ ზონაში, მხოლოდ ეს ხდება გარკვეული კანონის მიხედვით, რომელიც დადგენილია გაუსის ფუნქციით.

სადაც y პარამეტრი განსაზღვრავს დაბინდვის ხარისხს, ხოლო A პარამეტრი უზრუნველყოფს ნორმალიზებას. შედეგად, განსახილველი ტერიტორიის ცენტრალურ პიქსელს ექნება უმაღლესი მნიშვნელობა, რომელიც შეესაბამება გაუსის განაწილების პიკს. დარჩენილი ელემენტების მნიშვნელობებს ექნებათ უფრო და უფრო ნაკლები ეფექტი, როგორც თქვენ შორდებით ცენტრიდან.

მითითებული ფორმულით გამოთვლილ მატრიცულ ფილტრს ეწოდება გაუსიანი; რაც უფრო დიდია მისი ზომა, მით უფრო ძლიერია ბუნდოვანი (ფიქსირებული y-ისთვის). ვინაიდან ეს ფილტრი განცალკევებულია, ის შეიძლება წარმოდგენილი იყოს როგორც:

აქედან გამომდინარეობს, რომ კონვოლუცია შეიძლება განხორციელდეს თანმიმდევრულად მწკრივებში და სვეტებში, რაც იწვევს მეთოდის მნიშვნელოვან აჩქარებას დიდი ზომის ფილტრებისთვის.

2Dcleaner ალგორითმი

ცვლის გამოსახულებაში თითოეულ პიქსელს მეზობელი პიქსელების საშუალო მნიშვნელობით, გადაღებული რადიუსით შემოსაზღვრულ არეში. ამ შემთხვევაში განიხილება არა ყველა წერტილი, რომელიც ხვდება რადიუსში, არამედ მხოლოდ ის, ვისი მნიშვნელობაც განსხვავდება ცენტრალური პიქსელისგან არაუმეტეს გარკვეული წინასწარ განსაზღვრული მნიშვნელობით (ზღვრით). ამის გამო, ერთნაირად შეღებილი ადგილები უფრო მეტად ბუნდოვანია, ვიდრე ობიექტების მკვეთრი კიდეები. ეს ამცირებს სურათზე დაბალი დონის ხმაურს, ხოლო დეტალებს ხელუხლებლად ინარჩუნებს.

მედიანური ფილტრაცია

ხაზოვანი ალგორითმები ძალიან ეფექტური აღმოჩნდება გაუსის ხმაურის ჩახშობაში, როდესაც მეზობელ პიქსელებს, მიუხედავად იმისა, რომ მათ აქვთ მნიშვნელობების შემთხვევითი გავრცელება, მაინც რჩებიან საშუალო მნიშვნელობის ფარგლებში, რომელიც დამახასიათებელია იმ ფართობისთვის, რომელსაც ისინი მიეკუთვნებიან. თუმცა, ზოგჯერ თქვენ უნდა გაუმკლავდეთ სურათებს, რომლებიც დამახინჯებულია სხვა სახის ჩარევით. ასეთი ჩარევის მაგალითია იმპულსური ხმაური, რომელიც გამოიხატება გამოსახულებაში შემთხვევითი სიკაშკაშის შემთხვევით მიმოფანტული წერტილების არსებობით. საშუალოდ ამ შემთხვევაში „აწებება“ თითოეულ ასეთ წერტილს მეზობელ პიქსელებზე, რაც იწვევს გამოსახულების ხარისხის გაუარესებას.

მედიანური ფილტრაცია არის იმპულსური ხმაურის ჩახშობის სტანდარტული გზა. გამოსახულების დამუშავების ეს არაწრფივი მეთოდი აღმოფხვრის მწვერვალებს, მაგრამ, განსხვავებით ხაზოვანი საშუალო ალგორითმებისგან, უცვლელად ტოვებს პიქსელების ერთფეროვან თანმიმდევრობას. ამის გამო, მედიანურ ფილტრებს შეუძლიათ დამახინჯების გარეშე შეინარჩუნონ ობიექტების კონტურები და განსხვავებები სხვადასხვა სიკაშკაშის ზონებს შორის, ხოლო ეფექტურად თრგუნავენ შეუსაბამო ხმაურს და მცირე ზომის დეტალებს.

ფილტრაციის პრინციპი: დაყენებულია უცნაური ზომის გარკვეული ფანჯარა, რომელიც თანმიმდევრულად არის გადანაწილებული გამოსახულების თითოეულ პიქსელზე. ყველა პიქსელს შორის, რომელიც ხვდება განსახილველ არეალში, მათ შორის ცენტრალური, იძებნება მედიანური მნიშვნელობა, რომელიც საბოლოოდ ენიჭება არეალის ცენტრალურ პიქსელს. მედიანა ამ შემთხვევაში არის რეგიონის დახარისხებული პიქსელის მნიშვნელობების მასივის შუა ელემენტი. ფანჯრის უცნაური ზომა არჩეულია ზუსტად იმისთვის, რომ უზრუნველყოს შუა პიქსელის არსებობა.

ასევე შესაძლებელია მედიანური ფილტრის გამოყენება გამოსახულებაში თეთრი გაუსის ხმაურის ჩასახშობად. თუმცა, მედიანური ფილტრაციის გამოყენებით ხმაურის ჩახშობის კვლევა აჩვენებს, რომ მისი ეფექტურობა ამ პრობლემის გადაჭრაში უფრო დაბალია, ვიდრე ხაზოვანი ფილტრაციის.

მედიანური ფილტრაცია არ არის ნაკლის გარეშე, რომელიც თან ახლავს ხმაურის შემცირების ფილტრების უმეტესობას - როდესაც ნიღბის ზომა იზრდება ხმაურის შემცირების ხარისხის გასაუმჯობესებლად, გამოსახულების სიმკვეთრე მცირდება და მისი კონტურები ბუნდოვანია. თუმცა, შესაძლებელია უარყოფითი ეფექტების მინიმუმამდე შემცირება მედიანა ფილტრის გამოყენებით დინამიური ნიღბის ზომით (დამატებითი მედიანური ფილტრაცია) მისი პრინციპი იგივე რჩება, მხოლოდ ფილტრაციის მოცურების ფანჯრის ზომა შეიძლება შეიცვალოს მეზობელი პიქსელების სიკაშკაშის მიხედვით.

გამოსახულების სიმკვეთრე

გამოსახულების ხმაურის შემცირების თითქმის ყველა ალგორითმი იწვევს მის დაბინდვას, რის შედეგადაც იკარგება მცირე დეტალები და რთულია გამოსახულების აღქმა. ამ უარყოფითი ეფექტის ნაწილობრივ კომპენსაციისთვის და დაკარგული კონტურის კონტრასტისა და ფერის გადასვლების აღსადგენად, გამოსახულების სიმკვეთრის ფილტრს შეუძლია. სიმკვეთრე ასევე შეიძლება დამოკიდებული იყოს ბევრ სხვა ფაქტორზე - ლინზის ხარისხზე, გამოყენებულ დიაფრაგმაზე, ციფრული კამერების უმეტესობის მატრიცაზე ნაპოვნი ანტიმური ფილტრის სისქეზე, რომელიც აბინდებს სურათს სხვადასხვა ხარისხით. ასევე, გამოსახულების სიმკვეთრე ხშირად უნდა გაიზარდოს მათი ზომის შემცირების შემდეგ, რადგან ამ შემთხვევაში აუცილებლად იკარგება ინფორმაციის ნაწილი და მასთან ერთად კონტურების სიმკვეთრე.

Unsharp masking არის ტექნიკა, რომელიც სურათში ტონებს შორის გადასვლების კონტრასტის გაზრდით, აუმჯობესებს მის ვიზუალურ აღქმას სიმკვეთრის ილუზიის გამო. სინამდვილეში, სიმკვეთრე რჩება იმავე დონეზე, რადგან პრინციპში შეუძლებელია გამოსახულების დაკარგული დეტალების აღდგენა, მაგრამ განსხვავებული სიკაშკაშის ზონებს შორის კონტრასტის გაუმჯობესება იწვევს იმ ფაქტს, რომ სურათი აღიქმება უფრო ნათელი.

სურათი 5.1 - "კონტურის სიმკვეთრის" კონცეფციის ილუსტრაცია

გამოსახულების სიმკვეთრე დამოკიდებულია სიკაშკაშის სხვაობის სიდიდეზე იმ უბნებს შორის (W), რომლებიც ქმნიან მის კონტურებს, და ამ სხვაობის ცვლილების სიმკვეთრეზე (H).

არამკვეთრი ნიღბის ტექნიკა პირველად გამოიყენეს კინოფოტოების დამუშავებაზე. გამოსახულების ციფრული დამუშავებისთვის ადაპტირებული მეთოდი ცოტათი განსხვავდება ორიგინალისგან: გამოსახულებას აკლდება ეგრეთ წოდებული „გაუმკვეთრი ნიღაბი“ - მისი ბუნდოვანი და შებრუნებული ასლი. შედეგი არის ახალი სურათი, რომელიც შეიცავს მხოლოდ ორიგინალის მსუბუქ კონტურებს. მუქი კონტურების მიღება შესაძლებელია შედეგის უბრალოდ შებრუნებით.

თუ თქვენ დამატებით გამოაკლებთ მუქ კიდეებს ორიგინალურ სურათს და დაამატეთ ღია კიდეები, თქვენ მიიღებთ კონტრასტის მნიშვნელოვან ზრდას სიკაშკაშის თითოეულ განსხვავებაზე.

ნებისმიერი ხმაურის შემამცირებელი ფილტრი, როგორიცაა გაუსიანი ფილტრი, შეიძლება გამოყენებულ იქნას ორიგინალის დაბინდვისთვის, რათა მიიღოთ „გაუმკვეთრი ნიღაბი“.

სურათი 5.2 - არამკვეთრი ნიღბის გამოყენების შედეგი

კონვოლუციის ოპერაცია საკმაოდ ხშირად გამოიყენება გამოსახულების დამუშავებაში. სიმკვეთრის გარდა, გამოიყენება დაბინდვის, სიკაშკაშის გაზრდის, გასანათებლად და ა.შ.

გამოსახულების კონვოლუცია არის მოცემული პიქსელის ახალი მნიშვნელობის გამოთვლის ოპერაცია, რომელიც ითვალისწინებს მისი მიმდებარე მეზობელი პიქსელების მნიშვნელობებს. ზოგადი გაგებით, ეს ტერმინი ნიშნავს მოქმედებას, რომელიც შესრულებულია გამოსახულების თითოეულ ნაწილზე.

კონვოლუციის მთავარი ელემენტია კონვოლუციის ნიღაბი - ეს არის მატრიცა (თვითნებური ზომის და ასპექტის თანაფარდობის). ხშირად ასეთ ნიღაბს უწოდებენ ფილტრს, ბირთვს, შაბლონს ან ფანჯარას. მატრიცის ელემენტების მნიშვნელობებს ჩვეულებრივ უწოდებენ კოეფიციენტებს.

ყველაზე ხშირად, კვადრატული მატრიცა გამოიყენება როგორც კონვოლუციის ბირთვი.

გამოსახულების დამუშავება კონვოლუციის ოპერაციით ხდება შემდეგნაირად: მატრიცის ცენტრალური ელემენტი, სახელწოდებით "წამყვანი", თანმიმდევრულად არის გადანაწილებული გამოსახულების თითოეულ პიქსელზე. განხილული პიქსელის ახალი მნიშვნელობა გამოითვლება, როგორც მეზობელი პიქსელების მნიშვნელობების ჯამი, გამრავლებული მათი შესაბამისი კონვოლუციის ნიღბის კოეფიციენტებზე.

შედეგად მიღებული ეფექტი დამოკიდებულია არჩეულ კონვოლუციურ ბირთვზე.

გამაძლიერებელი ფილტრის ბირთვს აქვს 1-ზე მეტი მნიშვნელობა წერტილში (0, 0), ყველა მნიშვნელობის ჯამი უდრის 1-ს. მაგალითად, გამაძლიერებელი ფილტრი არის ფილტრები ბირთვებით, რომლებიც მოცემულია მატრიცებით:

კონტრასტის გაზრდის ეფექტი მიიღწევა იმის გამო, რომ ფილტრი ხაზს უსვამს განსხვავებას მეზობელი პიქსელების ინტენსივობას შორის, აშორებს ამ ინტენსივობას ერთმანეთისგან. ეს ეფექტი უფრო ძლიერი იქნება, რაც უფრო დიდი იქნება ბირთვის ცენტრალური ტერმინის მნიშვნელობა.

კონვოლუციაზე დაფუძნებული ხაზოვანი კონტრასტით გაუმჯობესებული ფილტრაცია შეიძლება გამოიწვიოს ხილული ფერის ჰალოები გამოსახულების კიდეების გარშემო.

სინათლის სხვაობის კომპენსაცია

გამოსახულების განათების პრობლემები ყველაზე ხშირად ჩნდება, როდესაც ფანჯრები, მზე ან სხვა დაურეგულირებელი სინათლის წყაროები შედის ჩარჩოში.

ამ სიტუაციას ეწოდება "ჭარბი შუქი" და მივყავართ იმ ფაქტს, რომ ზედმეტად კაშკაშა საყრდენი განათების გამო, ზედმეტად ნათელი ობიექტების ფონზე მდებარე ობიექტების დეტალები და ფერები იკარგება, რაც ძნელია გარჩევა.

ასევე ხშირად გვხვდება სინათლის ნაკლებობის მდგომარეობა. ეს შეიძლება გამოწვეული იყოს ბნელ ოთახებში ცუდი განათებით, აგრეთვე ვიდეო აღჭურვილობის შეზღუდული მგრძნობელობის დიაპაზონის გადაღებით.

ერთი მასშტაბის Retinex ალგორითმი

როდესაც ცდილობთ გამოსახულების გაკაშკაშეს თითოეული პიქსელის სიკაშკაშის გაზრდით გარკვეული ფიქსირებული მნიშვნელობით, თავდაპირველად სინათლის ზონები შეიძლება აღმოჩნდეს სრულიად გადაჭარბებული.

ასეთ შემთხვევებში საჭიროა ფერების „ჭკვიანი“ კორექციის გამოყენება, რომელიც შეძლებს გამოსახულების განათების გათანაბრებას, სინათლის ზონების დამუშავებას უფრო ნაკლებად, ვიდრე მუქი.

ამ მოთხოვნებს აკმაყოფილებს Retinex-ის ერთი მასშტაბის ალგორითმი, რომელიც ეფუძნება ბადურის რეცეპტორების პრინციპებს. ალგორითმის მთავარი მიზანია გამოსახულების დაყოფა კომპონენტებად, რომლებიც ცალკე პასუხისმგებელნი არიან განათებაზე და დეტალებზე. ვინაიდან სურათზე არსებული პრობლემები დაკავშირებულია სცენის განათებასთან, მაშინ, როდესაც მიიღება განათებაზე პასუხისმგებელი კომპონენტი, შესაძლებელი ხდება მისი გარდაქმნა გამოსახულებისგან დამოუკიდებლად, რითაც მნიშვნელოვნად გაზრდის მის ხარისხს.

ნებისმიერი გამოსახულება შეიძლება იყოს წარმოდგენილი, როგორც მაღალი სიხშირის სიგნალის (არეკვლა - R) და დაბალი სიხშირის სიგნალის (განათება - I) პროდუქტი.

S(x,y) = I(x,y) * R(x,y)(5.6)


სურათი 5.3 - გამოსახულების წარმოდგენა Retinex ალგორითმში.

განათების სავარაუდო სურათის მიღება შესაძლებელია დაბალი გამტარი ფილტრის გამოყენებით - სხვა სიტყვებით რომ ვთქვათ, უბრალოდ დაბინდეთ ორიგინალური სურათი, მაგალითად, გაუსის ფილტრით.

სადაც G -- გაუსის ფილტრი

ვინაიდან სიგნალის ლოგარითმი არ ცვლის სიხშირეს და ლოგარითმული ფუნქციის თვისებების გამო (პროდუქტის ლოგარითმი ტოლია ფაქტორების ლოგარითმების ჯამს), სიგნალების პროდუქტის გამოყოფის ამოცანა შეიძლება იყოს გამარტივებულია სიგნალების ჯამის გამოყოფის პრობლემაზე.

ამის შემდეგ, რჩება მხოლოდ მაჩვენებლის აღება მიღებული სიგნალიდან, რათა დაბრუნდეს იგი თავდაპირველ ამპლიტუდის მასშტაბზე. შედეგად მიღებული მაღალი სიხშირის კომპონენტი შეიძლება დაემატოს ბუნდოვან და გაკაშკაშებულ ორიგინალურ სურათს, რომელიც მოქმედებს როგორც ახალი განათების მოდელი.

სინათლის გათანაბრების შედეგად მიღებული ეფექტი შეიძლება იყოს ძალიან ძლიერი (ბნელი ადგილები გახდება ისეთივე სიკაშკაშე, როგორც მსუბუქი). ეფექტის შესამცირებლად შეგიძლიათ უბრალოდ შეურიოთ დამუშავებული სურათი ორიგინალს გარკვეული პროპორციით.

გამა კორექცია

გამა კორექტირების თავდაპირველი მიზანია კომპენსირება მოახდინოს სხვადასხვა გამომავალ მოწყობილობებზე ნაჩვენები ფერების განსხვავებების კომპენსირება, რათა გამოსახულება ერთნაირად გამოიყურებოდეს სხვადასხვა მონიტორზე ნახვისას. გამოყენებული სიმძლავრის ფუნქციის არაწრფივი ფორმის გამო, გამა კორექტირება ასევე შესაძლებელს ხდის სურათის ბნელი უბნების კონტრასტის გაზრდას ნათელი დეტალების ხაზგასმისა და გამოსახულების ობიექტების საზღვრების ხილვადობის დაკარგვის გარეშე.

სიკაშკაშის ინფორმაცია ტელევიზორში ანალოგური ფორმით, ისევე როგორც ციფრული სახით ყველაზე გავრცელებულ გრაფიკულ ფორმატებში, ინახება არაწრფივი მასშტაბით. პიქსელის სიკაშკაშე მონიტორის ეკრანზე შეიძლება ჩაითვალოს პროპორციულად

სადაც I არის პიქსელის სიკაშკაშე ეკრანზე (ან ფერის კომპონენტების სიკაშკაშე, წითელი, მწვანე და ლურჯი ცალკე),

V არის ციფრული ფერის მნიშვნელობა 0-დან 1-მდე და

r - გამა კორექტირების ინდექსი.

თუ r 1-ზე ნაკლებია, მაშინ დონის გადაცემის მახასიათებელი იქნება ამოზნექილი და მიღებული გამოსახულება უფრო მსუბუქი იქნება ვიდრე ორიგინალი. თუ r 1-ზე მეტია, მაშინ დონის გადაცემის მახასიათებელი იქნება ჩაზნექილი და მიღებული სურათი ორიგინალზე მუქი.

ნაგულისხმევად, r პარამეტრი არის 1, რაც შეესაბამება დონეების ხაზოვან გადაცემას და გამა კორექტირების გარეშე.

გამოსახულების კონტურის შერჩევა

კონტურის ანალიზი შეიძლება გამოყენებულ იქნას გარე მონახაზების სახით წარმოდგენილი გრაფიკული ობიექტების აღწერისთვის, ამოცნობისთვის, შედარებისა და მოსაძებნად. ვინაიდან კონტურების გამოყენება გამორიცხავს ობიექტის შიდა წერტილებს განხილვისგან, ამან შეიძლება მნიშვნელოვნად შეამციროს ამ ოპერაციების გამოთვლითი და ალგორითმული სირთულე.

სურათი 5.4 - დენის ფუნქციის ტიპის შეცვლა r პარამეტრის მიხედვით

ობიექტის მონახაზი არის წერტილების სია, რომლებიც წარმოადგენენ გამოსახულების მრუდს, რომელიც გამოყოფს ობიექტს ფონისგან. ყველაზე ხშირად, კონტურის გასწვრივ არის სიკაშკაშის ან ფერის ნახტომი.

გამოსახულების კონტურების ძიების გასამარტივებლად, შეგიძლიათ მისი წინასწარი ბინარიზაცია.

Sobel ფილტრი ხაზს უსვამს ობიექტების კიდეებს მათი სიკაშკაშის მიხედვით. იმის გამო, რომ ფერის კომპონენტი არ არის გათვალისწინებული, სურათები ჯერ უნდა გადაკეთდეს ნაცრისფერ ფერებში.

Sobel ფილტრი გამოიყენება თანმიმდევრულად თითოეულ პიქსელზე, გამოითვლება მისი სიკაშკაშის გრადიენტის სავარაუდო მნიშვნელობა. თითოეული სურათის წერტილის გრადიენტი (სიკაშკაშის ფუნქცია) არის ორგანზომილებიანი ვექტორი, რომლის კომპონენტებია გამოსახულების სიკაშკაშის ჰორიზონტალური და ვერტიკალური წარმოებულები.

გამოსახულების თითოეულ წერტილში გრადიენტის ვექტორი ორიენტირებულია სიკაშკაშის უდიდესი ზრდის მიმართულებით და მისი სიგრძე შეესაბამება სიკაშკაშის ცვლილების რაოდენობას. ეს მონაცემები საშუალებას გვაძლევს გამოვიტანოთ ვარაუდი გარკვეული ობიექტის საზღვარზე განხილული წერტილის პოვნის ალბათობაზე, ასევე ამ საზღვრის ორიენტაციის შესახებ.

რომ. Sobel ოპერატორის მუშაობის შედეგი მუდმივი სიკაშკაშის რეგიონის წერტილში იქნება ნულოვანი ვექტორი, ხოლო სხვადასხვა სიკაშკაშის რეგიონების საზღვარზე მდებარე წერტილში - ვექტორი, რომელიც კვეთს საზღვარს სიკაშკაშის გაზრდის მიმართულებით.

გამოსახულების თითოეულ წერტილში წარმოებულების სავარაუდო მნიშვნელობების გამოსათვლელად, Sobel-ის ფილტრი იყენებს კონვოლუციას 3×3 მატრიცით.

სობელის მატრიცის კოეფიციენტები:

გრადიენტის საბოლოო მნიშვნელობა გამოითვლება მიახლოებით ფორმულის მიხედვით:

|გ| = |Gx| + |Gy|

კენის საზღვრის დეტექტორი

მიუხედავად იმისა, რომ კენის მუშაობა შესრულდა კომპიუტერული ხედვის ადრეულ დღეებში (1986), კენის კიდეების დეტექტორი დღესაც ერთ-ერთი საუკეთესო დეტექტორია. კენის მეთოდი მრავალსაფეხურიანი ალგორითმია და მოიცავს შემდეგ ნაბიჯებს:

1. გამოსახულების გაწმენდა ხმაურისა და არასაჭირო დეტალებისგან.

2. გამოსახულების გაწმენდა ხმაურისა და არასაჭირო დეტალებისგან.

3. მოძებნეთ გამოსახულების გრადიენტები, მაგალითად, Sobel ოპერატორის გამოყენებით.

4. არამაქსიმების დათრგუნვა. საზღვრად მხოლოდ ადგილობრივი მაქსიმუმებია მონიშნული.

5. ორმაგი ზღურბლის გაფილტვრა. პოტენციური საზღვრები განისაზღვრება ზღვრებით.

6. ბილიკების მიკვლევა (კიდეების დაკავშირება ბილიკებთან)

ვინაიდან სურათზე ოდნავი ხმაური შეიძლება დაარღვიოს მისი კონტურების მთლიანობა, რეკომენდებულია გამოსახულების გაფილტვრა ნებისმიერი ხმაურის შემცირების მეთოდით ძიების დაწყებამდე. მუშაობის მაღალი სიჩქარისა და განხორციელების სიმარტივის გამო, ყველაზე ხშირად გამოიყენება გაუსის ფილტრი. გამოსახულების კიდეები შეიძლება იყოს სხვადასხვა მიმართულებით, ამიტომ კენის ალგორითმი იყენებს ოთხ ფილტრს ჰორიზონტალური, ვერტიკალური და დიაგონალური კიდეების გამოსავლენად. კიდეების აღმოჩენის ოპერატორის გამოყენებით (მაგალითად, Sobel ოპერატორი) მიიღება პირველი წარმოებულის მნიშვნელობა ჰორიზონტალური მიმართულებით (Gy) და ვერტიკალური მიმართულებით (Gx). ამ გრადიენტიდან შეგიძლიათ მიიღოთ საზღვრის მიმართულების კუთხე:

საზღვრის მიმართულების კუთხე მრგვალდება ოთხი კუთხიდან ერთ-ერთზე, რომელიც წარმოადგენს ვერტიკალურ, ჰორიზონტალურ და ორ დიაგონალს (მაგალითად, 0, 45, 90 და 135 გრადუსი). საზღვრებად გამოცხადებულია მხოლოდ ის პიქსელები, რომლებშიც მიიღწევა გრადიენტის ვექტორის მიმართულებით გრადიენტის ლოკალური მაქსიმუმი. მიმართულების მნიშვნელობა უნდა იყოს 45°-ის ჯერადი. არამაქსიმების ჩახშობის შემდეგ კიდეები უფრო ზუსტი და თხელი ხდება.

შემდეგ ეტაპზე, ბარიერის ფილტრაცია განსაზღვრავს თითოეული განხილული პიქსელისთვის, ეკუთვნის თუ არა ის გამოსახულების საზღვრებს. რაც უფრო მაღალია ბარიერი, მით უფრო ერთგვაროვანი იქნება ნაპოვნი კონტურები, თუმცა სუსტი კიდეების იგნორირება შესაძლებელია. მეორეს მხრივ, ზღურბლის შემცირება ზრდის ალგორითმის მგრძნობელობას ხმაურის მიმართ. კენის კიდეების გამოვლენა იყენებს ორ ფილტრაციის ზღურბლს: თუ პიქსელის მნიშვნელობა მაღლა დგას ზედა ზღვარზე, ის იღებს მაქსიმალურ მნიშვნელობას (ლიმიტი ითვლება საიმედოდ), თუ ის უფრო დაბალია, პიქსელი ითრგუნება, წერტილები, რომელთა მნიშვნელობა მცირდება შორის დიაპაზონში. ზღურბლები იღებენ ფიქსირებულ საშუალო მნიშვნელობას (ისინი დაიხვეწება შემდეგ ეტაპზე).

გამოსახულების დამუშავების ბოლო ეტაპი არის ცალკეული კიდეების ერთგვაროვან კონტურებში მიბმა. პიქსელები, რომლებმაც მიიღეს საშუალო მნიშვნელობა წინა ეტაპზე, ან ჩახშობილია (თუ ისინი არ შეეხებიან უკვე აღმოჩენილ კიდეებს) ან მიმაგრებულია შესაბამის კონტურზე.

სეგმენტაცია

ფოტო და ვიდეო აღჭურვილობისგან მიღებული სურათების უმეტესობა რასტრულია, ანუ შედგება მართკუთხა ბადეში განლაგებული ფერადი წერტილებისგან. თუმცა, ადამიანები მათ გარშემო სამყაროს აღიქვამენ როგორც მყარი საგნების კრებულს და არა წერტილების მატრიცას. ადამიანის ტვინს შეუძლია გამოსახულების განსხვავებული დეტალების გაერთიანება ერთგვაროვან ადგილებში, ნათლად დაყოფს მას ობიექტებად ქვეცნობიერის დონეზე. ამ პროცესს სეგმენტაცია ეწოდება და შეიძლება განხორციელდეს პროგრამულად კომპიუტერული გამოსახულების ანალიზისა და ნიმუშის ამოცნობის პრობლემის გადაჭრისას. სეგმენტაცია ხორციელდება ანალიზის პირველ ეტაპებზე და მისი განხორციელების ხარისხმა შეიძლება ძლიერი გავლენა იქონიოს მის სიჩქარესა და სიზუსტეზე.

სეგმენტაციის მეთოდები შეიძლება დაიყოს ორ კლასად: ავტომატური - არ საჭიროებს მომხმარებლის ინტერაქციას და ინტერაქტიული - უშუალოდ პროცესში მომხმარებლის შეყვანის გამოყენებით.

პირველ შემთხვევაში, არ გამოიყენება აპრიორი ინფორმაცია რეგიონების თვისებების შესახებ, მაგრამ გარკვეული პირობები დაწესებულია თავად სურათის დანაყოფზე (მაგალითად, ყველა რეგიონი უნდა იყოს ერთგვაროვანი ფერისა და ტექსტურის მიხედვით). ვინაიდან სეგმენტაციის პრობლემის ეს ფორმულირება არ იყენებს აპრიორულ ინფორმაციას გამოსახული ობიექტების შესახებ, ამ ჯგუფის მეთოდები უნივერსალურია და გამოიყენება ნებისმიერ სურათზე.

კონკრეტული ამოცანის მეთოდის ხარისხის უხეში შეფასებისთვის, ჩვეულებრივ ფიქსირდება რამდენიმე თვისება, რომელიც უნდა ჰქონდეს კარგ სეგმენტაციას:

§ რეგიონების ერთგვაროვნება (ფერის ან ტექსტურის ერთგვაროვნება);

§ მეზობელი რეგიონების განსხვავებულობა;

§ რეგიონის საზღვრის სიგლუვეს;

§ მცირე რაოდენობის მცირე "ხვრელები" რეგიონებში;

ზღურბლის სეგმენტაცია

ზღურბლის დამუშავება არის უმარტივესი მეთოდი, რომელიც ორიენტირებულია გამოსახულების დამუშავებაზე, რომლის ცალკეული ერთგვაროვანი უბნები განსხვავდება საშუალო სიკაშკაშით. თუმცა, თუ სურათი არათანაბრად განათებულია, ზოგიერთი ობიექტი შეიძლება ემთხვეოდეს ინტენსივობით ფონს, რაც ზღურბლის სეგმენტაციას არაეფექტურს გახდის.

ზღურბლის სეგმენტაციის უმარტივესი და ამავდროულად ხშირად გამოყენებული ტიპია ორობითი სეგმენტაცია, როდესაც გამოსახულებაში გამოიყოფა მხოლოდ ორი სახის ერთგვაროვანი არე.

ამ შემთხვევაში, წყაროს გამოსახულების თითოეული წერტილის გარდაქმნა გამომავალ სურათად ხდება წესის მიხედვით:

სადაც x0 არის ერთადერთი დამუშავების პარამეტრი, რომელსაც ეწოდება ბარიერი. გამომავალი სიკაშკაშის დონეები y0 და y1 შეიძლება იყოს თვითნებური, ისინი ასრულებენ მხოლოდ ნიშნების ფუნქციებს, რომელთა დახმარებითაც აღინიშნება მიღებული რუკა - მისი ქულების მინიჭება, შესაბამისად, K1 ან K2 კლასებისთვის. თუ მიღებული პრეპარატი მომზადებულია ვიზუალური აღქმისთვის, მაშინ ხშირად მათი მნიშვნელობები შეესაბამება შავი და თეთრის დონეებს. თუ ორ კლასზე მეტია, მაშინ ზღურბლის დროს უნდა იყოს მითითებული ზღურბლების ოჯახი, რომელიც გამოყოფს სხვადასხვა კლასის სიკაშკაშეს ერთმანეთისგან.

ზღურბლის სეგმენტაცია კარგად შეეფერება გამოსახულებაში გადამკვეთი ობიექტების მცირე რაოდენობის არჩევას, რომლებსაც აქვთ ერთიანი სტრუქტურა და მკვეთრად გამოირჩევიან ფონიდან. გამოსახულების ჰეტეროგენურობის ხარისხის და შესაბამისად სეგმენტების რაოდენობის და მათი სირთულის მატებასთან ერთად, ამ ტიპის სეგმენტაცია არაეფექტური ხდება.

სეგმენტაცია გრაფიკის დაყოფის საფუძველზე

გრაფიკის თეორიის მეთოდები გამოსახულების სეგმენტაციის ერთ-ერთი ყველაზე აქტიურად განვითარებადი სფეროა.

ამ ჯგუფის მეთოდების ზოგადი იდეა შემდეგია. სურათი წარმოდგენილია შეწონილი გრაფიკის სახით, გამოსახულების წერტილებში წვეროებით. გრაფიკის კიდეების წონა გარკვეულწილად ასახავს წერტილების მსგავსებას (რამე მეტრიკის გასწვრივ წერტილებს შორის მანძილი). გამოსახულების დაყოფა მოდელირებულია გრაფიკის ჭრებით.

ჩვეულებრივ, გრაფების თეორიის მეთოდებში შემოღებულია მოჭრილი „ღირებულების“ ფუნქციონალი, რომელიც ასახავს მიღებული სეგმენტაციის ხარისხს. ამრიგად, გამოსახულების ერთგვაროვან რეგიონებად დაყოფის პრობლემა მცირდება ოპტიმიზაციის პრობლემამდე, რომელიც იპოვის მინიმალური ხარჯების შემცირებას გრაფიკზე. ეს მიდგომა საშუალებას იძლევა, გარდა სეგმენტების ფერისა და ტექსტურის ერთგვაროვნებისა, აკონტროლოთ სეგმენტების ფორმა, მათი ზომა, საზღვრების სირთულე და ა.შ.

მინიმალური ხარჯების შემცირების საპოვნელად გამოიყენება სხვადასხვა მეთოდი: ხარბი ალგორითმები (თითოეულ საფეხურზე არჩეულია ზღვარი ისე, რომ ჭრის მთლიანი ღირებულება მინიმალური იყოს), დინამიური პროგრამირების მეთოდები (გარანტირებულია, რომ თითოეულ საფეხურზე ოპტიმალური ზღვრის არჩევით , ჩვენ მივიღებთ ოპტიმალურ გზას), ალგორითმი Dijkstra და ა.შ.

ინტერპოლაცია

კომპიუტერულ გრაფიკაში ინტერპოლაციის მეთოდი ხშირად გამოიყენება სურათების მასშტაბის შეცვლის პროცესში. გამოსახულების პიქსელების რაოდენობის შეცვლით, ინტერპოლაცია ხელს უწყობს სურათის გადაჭარბებული პიქსელიზაციის თავიდან აცილებას, როდესაც ის გადიდებულია ან მნიშვნელოვანი დეტალების დაკარგვას, როდესაც ის შემცირდება.

ინტერპოლაციის პროცესის დროს გამოსახულების პიქსელებს შორის ჩასმულია დამატებითი წერტილები, რომელთა სავარაუდო ტონი და ფერი გამოითვლება სპეციალური ალგორითმის გამოყენებით, რომელიც დაფუძნებულია მეზობელ ტერიტორიებზე არსებული მონაცემების ანალიზზე. სამწუხაროდ, ვინაიდან ნებისმიერი ინტერპოლაცია მხოლოდ მიახლოებითია, გამოსახულება უცვლელად დაკარგავს ხარისხს მისი ინტერპოლაციის დროს.

უახლოესი მეზობლის ინტერპოლაცია

ეს ალგორითმი არის ინტერპოლაციის უმარტივესი სახეობა, უბრალოდ გაზრდის გამოსახულების თითოეულ პიქსელს საჭირო მასშტაბამდე. მოითხოვს უმცირეს დამუშავების დროს, მაგრამ იწვევს ყველაზე ცუდ შედეგებს.

ორხაზოვანი ინტერპოლაცია

ამ ტიპის ინტერპოლაცია ხორციელდება ორგანზომილებიანი ბადის თითოეული კოორდინატისთვის. გამოსახულება განიხილება როგორც ზედაპირი, ფერი - მესამე განზომილება. თუ გამოსახულება ფერადია, მაშინ ინტერპოლაცია ხორციელდება ცალკე სამ ფერზე. ახალი გამოსახულების ყოველი უცნობი წერტილისთვის, ბიწრფივი ინტერპოლაცია განიხილავს ოთხი ცნობილი პიქსელის კვადრატს მის გარშემო. ამ ოთხი პიქსელის საშუალო შეწონილი მნიშვნელობა გამოიყენება როგორც ინტერპოლირებული მნიშვნელობა. შედეგად, სურათები გამოიყურება ბევრად უფრო გლუვი, ვიდრე უახლოესი მეზობლის მეთოდის შედეგი.

ბიწრფივი ინტერპოლაცია კარგად მუშაობს მასშტაბირების ფაქტორების მთელი რიცხვით დიდი მნიშვნელობებით, თუმცა, ის საკმაოდ ბუნდოვდება გამოსახულების მკვეთრ კიდეებს.

ბიკუბური ინტერპოლაცია მიდის ერთი ნაბიჯით უფრო შორს, ვიდრე ბიწრფივი, თუ გავითვალისწინებთ 4x4 მიმდებარე პიქსელების მასივს -- სულ 16. ვინაიდან ისინი უცნობი პიქსელისგან განსხვავებულ მანძილზე არიან, უახლოესი პიქსელები უფრო მეტ წონას იღებენ გამოთვლაში. ბიკუბური ინტერპოლაცია წარმოქმნის მნიშვნელოვნად უფრო მკვეთრ სურათებს, ვიდრე წინა ორი მეთოდი და, სავარაუდოდ, საუკეთესოა დამუშავების დროისა და გამომავალი ხარისხის თვალსაზრისით. ამ მიზეზით, ის გახდა სტანდარტი მრავალი გამოსახულების რედაქტირების პროგრამისთვის (მათ შორის Adobe Photoshop), პრინტერის დრაივერებისთვის და ჩაშენებული კამერის ინტერპოლაციისთვის.

მასშტაბური სურათი შეიძლება გახდეს მნიშვნელოვნად ნაკლებად მკვეთრი. ინტერპოლაციის ალგორითმები, რომლებიც უკეთ ინარჩუნებენ სიმკვეთრეს, ასევე უფრო მიდრეკილნი არიან მუარისკენ, ხოლო ის, ვინც აცილებს მურეს, უფრო რბილ შედეგებს იძლევა. სამწუხაროდ, ამ მასშტაბური გარიგების თავიდან აცილება შეუძლებელია.

ამის წინააღმდეგ საბრძოლველად ერთ-ერთი საუკეთესო საშუალებაა სკალირების შემდეგ დაუყონებლივ წაისვათ მკვეთრი ნიღაბი, მაშინაც კი, თუ ორიგინალი უკვე გამკაცრებულია.

5.2 ქვესისტემაში გამოყენებული ალგორითმების არჩევის დასაბუთება

შემუშავებული პროგრამული პაკეტის მთავარი მოთხოვნა იყო ვიდეო ნაკადის დაკვრის შეფერხების მინიმუმამდე შემცირება კომპიუტერულ კლასტერზე მისი წინასწარი დამუშავების დროს. გარდა ამისა, სროლა შეიძლება მოხდეს ნებისმიერ პირობებში, რაც იმას ნიშნავს, რომ მოკლე დროში საჭირო იყო დიდი რაოდენობით მარტივი ფილტრების დანერგვა სხვადასხვა უარყოფითი ეფექტების გასანეიტრალებლად. გარდა ამისა, საჭირო იყო მოკლე დროში ვიდეოზე გამოჩენილი უარყოფითი ფაქტორების დიდი რაოდენობის შესწავლა და მათი გასანეიტრალებლად მარტივი ფილტრების დანერგვა. ალგორითმები, რომლებიც აკმაყოფილებენ წარმოდგენილ მოთხოვნებს, უნდა იყოს ადვილად ხელმისაწვდომი, კარგად ოპტიმიზებული, ჰქონდეთ მაღალი საიმედოობა და, ამავე დროს, ადვილად განსახორციელებელი. OpenCV ბიბლიოთეკის ფუნქციებს აქვს ასეთი თვისებები, ამიტომ, ვიდეო ნაკადის დამუშავების ფილტრების განხორციელების კონკრეტული მეთოდების არჩევისას, პრიორიტეტი მიენიჭა ამ ბიბლიოთეკაში მოცემულ ალგორითმებს ამა თუ იმ ფორმით.

საბოლოო საკვალიფიკაციო სამუშაოს თეორიულ ნაწილში გათვალისწინებული ყველა ალგორითმი განხორციელდა სატესტო ფორმით მათი მახასიათებლების პრაქტიკაში შედარების მიზნით. კერძოდ, უპირატესობა მიენიჭა კომპრომისს ვიდეო ნაკადის კადრის დამუშავების სიჩქარესა და შედეგის ხარისხს შორის.

შედეგად, გამოთვლით კლასტერზე ვიდეო ნაკადის დამუშავების ფილტრების დასანერგად აირჩიეს შემდეგი ალგორითმები:

1. გაუსის ალგორითმი შეირჩა „დამატებითი თეთრი“ ხმაურის მოსაშორებლად. როგორც ხმაურის შემცირების ყველაზე გავრცელებული მეთოდი, ის ძალიან კარგად არის ოპტიმიზირებული და, შესაბამისად, აქვს მაღალი სიჩქარე.

2. გაუსის ალგორითმი შეირჩა „დამატებითი თეთრი“ ხმაურის მოსაშორებლად. როგორც ხმაურის შემცირების ყველაზე გავრცელებული მეთოდი, ის ძალიან კარგად არის ოპტიმიზირებული და, შესაბამისად, აქვს მუშაობის მაღალი სიჩქარე.

3. მედიანური ფილტრაცია არჩეულია "იმპულსური" ხმაურის მოსაშორებლად. ეს მეთოდი ასევე კარგად არის ოპტიმიზებული და სპეციალურად შექმნილია იმპულსური და მარილიან-პილპილის ხმაურის აღმოსაფხვრელად.

4. კონვოლუცია შეირჩა გამოსახულების გასამკვეთრებლად, რადგან ის ბევრად უფრო სწრაფად მუშაობს, ვიდრე არამკვეთრი ნიღაბი, და ამავე დროს იძლევა მისაღებ შედეგებს.

5. OpenCV ბიბლიოთეკა არ შეიცავს ფერების კორექციის ალგორითმებს - ამიტომ, გადაწყდა ყველაზე გავრცელებული და კარგად დოკუმენტირებული Single Scale Retinex ალგორითმის დანერგვა. ამ მეთოდს აქვს ძალიან მაღალი ეფექტურობა, მაგრამ სამუშაოს დასაჩქარებლად მოითხოვს ოპტიმიზაციას.

6. კენის ალგორითმი შეირჩა კიდეების აღმოჩენის მეთოდად, ვინაიდან ის უკეთეს შედეგს იძლევა ვიდრე Sobel-ის ფილტრი.

7. OpenCV ბიბლიოთეკაში წარმოდგენილი პირამიდული სეგმენტაციის ალგორითმი უკიდურესად ნელია, ამიტომ გადაწყდა გრაფიკებზე ადრე განხილული სეგმენტაციის ალგორითმის გამოყენება.

8. ინტერპოლაცია - არჩეული იქნა ბიკუბური ინტერპოლაციის მეთოდი, როგორც ყველაზე გონივრული კომპრომისი მუშაობის სიჩქარესა და შედეგის ხარისხს შორის.

გამოყენებული პროგრამული უზრუნველყოფის ინსტალაცია და კონფიგურაცია.

გამოყენებული გამოთვლითი კლასტერი გაშვებული იყო GNU Linux (Ubuntu)

ოპერაციული სისტემის ინსტალაციის შემდეგ, თქვენ უნდა დააინსტალიროთ რამდენიმე ბიბლიოთეკა, რომლებიც მხარს უჭერენ გამოსახულების ფაილების კითხვას და წერას, ეკრანზე ხატვას, ვიდეოსთან მუშაობას და ა.შ.

CMake-ის ინსტალაცია

პროექტი აგებულია CMake-ის გამოყენებით (საჭიროა ვერსია 2.6 ან უფრო მაღალი). შეგიძლიათ დააინსტალიროთ ბრძანებით:

apt-get install cmake

ასევე შეიძლება დაგჭირდეთ შემდეგი ბიბლიოთეკები:

build-essential libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev libeigen2-dev libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev

ffmpeg-ის ინსტალაცია

იმისათვის, რომ opencv-მა სწორად დაამუშაოს ვიდეო ფაილები, თქვენ უნდა დააინსტალიროთ ffmpeg ბიბლიოთეკა. ეს კეთდება შემდეგი ბრძანებებით:

1) ბიბლიოთეკის საწყისი კოდების ჩამოტვირთვა

wget http://ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz

2) არქივის გახსნა წყაროს კოდებით

tar -xvzf ffmpeg-0.7-rc1.tar.gz

3) ბიბლიოთეკის კონფიგურაცია

კონფიგურაცია --enable-gpl --enable-version3 --enable-nonfree --enable-postproc

enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb

Enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab

Enable-swscale --enable-გაზიარებული

4) ბიბლიოთეკის მშენებლობა და მონტაჟი

GTK ინსტალაცია

OpenCV ფანჯრების ჩვენება საჭიროებს GTK+ 2.x ან უფრო მაღალ დაყენებას, სათაურის ფაილების ჩათვლით (libgtk2.0-dev)

apt-get დააინსტალირე libgtk2.0-dev

Opencv-ის ინსტალაცია

ყველა დაკავშირებული ბიბლიოთეკის დაყენების შემდეგ, opencv2.2-ის ინსტალაცია ხდება შემდეგი ბრძანებებით:

1) OpenCV ბიბლიოთეკის საწყისი კოდების ჩამოტვირთვა

http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.2/OpenCV-2.2.0.tar.bz2

2) არქივის გახსნა წყაროს კოდებით

tar -xvf OpenCV-2.2.0.tar.bz2

3) Makefile-ის გენერირება CMake-ის გამოყენებით.

4) OpenCV ბიბლიოთეკის შექმნა და ინსტალაცია

5) შესაძლოა დაგჭირდეთ ბიბლიოთეკებისკენ მიმავალი ბილიკის დაყენება

ექსპორტი LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

შემუშავებული პროგრამული პაკეტის ინსტალაცია და შედგენა

აუცილებელია პროგრამების საწყისი კოდების კოპირება ამ განმარტებით ჩანაწერზე მიმაგრებული დისკიდან. დააკოპირეთ build_all.sh სერიული ფაილი იმავე საქაღალდეში და შემდეგ გაუშვით. თუ სისტემაზე დაინსტალირებულია gcc შემდგენელი, build ავტომატურად მოხდება.

ციფრული მკურნალობა სიგნალები

თემა 17. სურათის დამუშავება

არაფერია ადამიანის წარმოსახვის მიღმა.

ტიტუს ლუკრეციუსი. რომაელი ფილოსოფოსი და პოეტი. 1 საუკუნე ძვ.წ ე.

ფანტაზია კარგი რამეა. მაგრამ სარდაფიდან ბუზის ამოღება, გარეცხვა, აპოლონად გადაქცევა, ასანთის კოლოფში ჩალაგება და მეგობარს ელექტრონული ფოსტით გაგზავნა, კარგი გრაფიკული პროგრამა უკეთესი იქნება.

ანატოლი პიშმინცევი, ურალის სკოლის ნოვოსიბირსკის გეოფიზიკოსი. მე -20 საუკუნე

შესავალი.

1. ძირითადი ცნებები. სურათების გრაფიკული წარმოდგენა. ფერის წარმოდგენა კომპიუტერულ გრაფიკაში. RGB ფერის მოდელი. CIE XYZ ფერის სისტემა.

2. რასტრული გამოსახულებების გეომეტრიული გარდაქმნები. ტრანსფორმაციის სფეროები და ეტაპები. სინჯის აღება. ორგანზომილებიანი სიგნალის აღდგენის ინტერპოლაციის სერია. სურათების სიხშირის დამახინჯება და მათი აღმოფხვრა. გამოსახულების ნიმუშის აღება.

3. გამოსახულების გაფილტვრა. ხაზის ფილტრები. დამარბილებელი ფილტრები. კონტრასტული ფილტრები. განსხვავების ფილტრები. ორგანზომილებიანი ციკლური კონვოლუცია. არაწრფივი ფილტრები. ბარიერის გაფილტვრა. მედიანური ფილტრაცია. ექსტრემალური ფილტრები.

4. გამოსახულების შეკუმშვა. გამეორების სიგრძის კოდირების ალგორითმები (RLE). ლექსიკონის ალგორითმები. სტატისტიკური კოდირების ალგორითმები. დაკარგული გამოსახულების შეკუმშვა. გამოსახულების დაკარგვის შეფასება. ფურიეს ტრანსფორმაცია. ვეილეტის ტრანსფორმაცია.

შესავალი

ციფრული გამოსახულების სფეროში კვლევის სფერო სწრაფად იზრდება. ეს იმიტომ ხდება, რომ გამოსახულების დამუშავება არის მრავალგანზომილებიანი სიგნალის დამუშავება და რეალურ სამყაროში სიგნალების უმეტესობა მრავალგანზომილებიანია.


მათემატიკური გამოსახულება არის ორგანზომილებიანი სიგნალი, რომელიც ატარებს უზარმაზარ ინფორმაციას. 500 × 500 ელემენტის ფერადი გამოსახულება არის რამდენიმე ასეული ათასი ბაიტის მასივი. ასეთი ინფორმაციის დამუშავება შესაძლებელია მხოლოდ გამოთვლების რაციონალური ორგანიზებით. გამოსახულების დამუშავების კონკრეტული ამოცანებისთვის შეიძლება გამოყენებულ იქნას დამუშავების ეფექტური მეთოდები, ამ კონკრეტული ამოცანის მახასიათებლებისა და შეზღუდვების გათვალისწინებით. მაგრამ თუ ვსაუბრობთ გამოსახულების დამუშავებაზე პრობლემების ფართო კლასის გადასაჭრელად, მაშინ აუცილებელია გამოვყოთ სტანდარტული ოპერაციების ნაკრები, საიდანაც შეიძლება აშენდეს ალგორითმები თვითნებური პრობლემების გადასაჭრელად. მათ შორისაა წრფივი გარდაქმნები, 2D კონვოლუცია და 2D დისკრეტული ფურიეს გარდაქმნები.

მაგრამ გამოსახულების დამუშავებისას ფართოდ გამოიყენება არაწრფივი გარდაქმნებიც. გამოსახულების თავისებურება ის არის, რომ გამოსახულების ცალკეული ელემენტები გარკვეულ კავშირშია მეზობელ ელემენტებთან. მაშასადამე, გამოსახულების ტრანსფორმაციის ალგორითმების უმეტესობა ლოკალური ხასიათისაა, ანუ ისინი ამუშავებენ სურათებს ელემენტების ჯგუფების მიხედვით, რომლებიც მდებარეობენ მოცემულის ირგვლივ სამეზობლოში. ხაზოვანი გარდაქმნები აკმაყოფილებს ლოკალურობის თვისებას და იძლევა ალგორითმების აგების საშუალებას, რომელთა გამოთვლითი სირთულე დიდად არ არის დამოკიდებული დაფარული უბნის ზომაზე. იგივე თვისებები საჭიროა არაწრფივი გამოსახულების გარდაქმნებისთვის. ასეთი ტრანსფორმაციების კლასში შედის ალგორითმები, რომლებსაც უწოდებენ რანგის ფილტრაციის ალგორითმებს, ადგილობრივი რანგის გამოსახულების სტატისტიკის გაანგარიშების საფუძველზე. რანჟირების სტატისტიკისა და მათი წარმოებულების გაანგარიშებისას შესაძლებელია სურათების ინფორმაციის სიჭარბესთან დაკავშირებული გამარტივებები. ამ კლასის ყველაზე ცნობილი ალგორითმი არის მედიანური ფილტრაციის ალგორითმი. რანგის ალგორითმების სხვა მაგალითებია ექსტრემალური ფილტრაციის ალგორითმები, რომლებიც ცვლის გაანალიზებულ გამოსახულების ელემენტს სამეზობლოში მაქსიმუმით ან მინიმუმით. რანგის ალგორითმების კიდევ ერთი თვისებაა ადგილობრივი ადაპტაცია დამუშავებული გამოსახულების მახასიათებლებთან და მათი გამოყენების პოტენციალი არა მხოლოდ გამარტივებისა და დენოიზისთვის, არამედ ფუნქციების ამოღების მიზნით გამოსახულების ავტომატურ ამოცნობაში.

გამოსახულების დამუშავებისას ფართოდ გამოიყენება ერთგანზომილებიანი სიგნალის დამუშავების მეთოდები, თუ შესაძლებელია მათი განზოგადება მრავალგანზომილებიან სიგნალებზე. ამავდროულად, უნდა გავითვალისწინოთ, რომ მრავალგანზომილებიანი სისტემების აღწერის მათემატიკური მეთოდები არ არის სრულყოფილი. მრავალგანზომილებიან სისტემებს აქვთ თავისუფლების დიდი რაოდენობა და მათი დიზაინი იძენს მოქნილობას, რომელიც არ არის დამახასიათებელი ერთგანზომილებიანი სისტემებისთვის. ამავდროულად, მრავალგანზომილებიანი პოლინომები არ შეიძლება დაიშალოს მარტივ ფაქტორებად, რაც ართულებს მრავალგანზომილებიანი სისტემების ანალიზს და სინთეზს.

17.1. Ძირითადი ცნებები

სურათების გრაფიკული წარმოდგენა. ორგანზომილებიან სიბრტყეზე (მონიტორის ეკრანზე) გრაფიკული ინფორმაციის წარმოსაჩენად გამოიყენება ორი მიდგომა: რასტრული და ვექტორული.

ვექტორული მიდგომით, გრაფიკული ინფორმაცია აღწერილია, როგორც აბსტრაქტული გეომეტრიული ობიექტების ერთობლიობა - სწორი ხაზები, სეგმენტები, მრუდები, მართკუთხედები და ა.შ. ვექტორული აღწერა ითვალისწინებს აპრიორულ ცოდნას გამოსახულების სტრუქტურის შესახებ.

რასტერული გრაფიკა მოქმედებს თვითნებურ სურათებზე ბიტმაპების სახით. რასტერი არის სიბრტყეზე გამოსახულების აღწერა მისი იდენტურ ელემენტებად დაყოფით (ნიმუშების აღებით) ჩვეულებრივი ბადის გასწვრივ და თითოეულ ელემენტს მიანიჭებს საკუთარ ფერს და სხვა ატრიბუტებს. უმარტივესი რასტერი მართკუთხაა, ყველაზე ეკონომიური გამოსახულების გადაცემის ნიმუშების რაოდენობის მიხედვით არის ექვსკუთხა. მათემატიკურად, რასტერი არის ცალმხრივი მუდმივი მიახლოება უწყვეტი გამოსახულების ფუნქციის სიბრტყეზე.

რასტერის ელემენტს პიქსელი ეწოდება. სტანდარტული პიქსელის იდენტიფიკაცია:


f(i, j) = (A(i, j),C(i, j)), (17.1.1)

სადაც A(i, j) Ì R2 - პიქსელის ფართობი, C(i, j) Î C - პიქსელის ატრიბუტი (ჩვეულებრივ ფერი). ორი ყველაზე ხშირად გამოყენებული ატრიბუტია:

C(i, j) = I(i, j) - პიქსელის ინტენსივობა (სიკაშკაშე);

C(i, j) = (R(i, j), G(i, j), B(i, j)) - ფერის ატრიბუტები RGB ფერის მოდელში.

მატრიცის სახით:

Mij ​​= (Aij, Cij).

უწყვეტი სურათების შერჩევისას, Aij მნიშვნელობები შეიძლება განისაზღვროს ორი გზით, როგორც Aij = (i, j) წერტილების მნიშვნელობები, რომლებისთვისაც განისაზღვრება Cij ატრიბუტები, ან როგორც კვადრატების მნიშვნელობები. Aij = (i, i+1) × (j, j+1) ან ნებისმიერი სხვა ფორმა, Cij-ის განმარტებით ამ ფორმის ფარგლებში საშუალო მნიშვნელობებით (ნახ. 17.1.1).

პრაქტიკაში, როგორც წესი, X და Y არის კვადრატული ან მართკუთხა რასტერის არაუარყოფითი მთელი რიცხვების შეზღუდული სიმრავლე, სიგანის თანაფარდობით (ასპექტის თანაფარდობით) რასტერის სიმაღლესთან, რომელიც იწერება, როგორც, მაგალითად, "4:3".

ფერის წარმოდგენა კომპიუტერულ გრაფიკაში. ფერის კონცეფცია ემყარება ადამიანის თვალით ელექტრომაგნიტური ტალღების აღქმას გარკვეული სიხშირის დიაპაზონში. დღის სინათლეს, რომელსაც ჩვენ აღვიქვამთ, აქვს λ ტალღის სიგრძე 400 ნმ-დან (იისფერი) 700 ნმ-მდე (წითელი). სინათლის ნაკადის აღწერა შეიძლება იყოს მისი სპექტრული ფუნქცია I(λ). სინათლეს უწოდებენ მონოქრომატულს, თუ მის სპექტრს აქვს მხოლოდ ერთი კონკრეტული ტალღის სიგრძე.

ბადურაზე ორი ტიპის რეცეპტორებია: წნელები და კონუსები. ჯოხების სპექტრული მგრძნობელობა (ნახ. 17.1.2) პირდაპირპროპორციულია ჩავარდნილი სინათლის სიკაშკაშის. გირჩები იყოფა სამ ტიპად, რომელთაგან თითოეულს აქვს გარკვეული მგრძნობელობა შეზღუდულ დიაპაზონში მაქსიმალური წითელი, მწვანე და ლურჯი ფერებით და მკვეთრად კარგავს მათ მგრძნობელობას სიბნელეში. თვალის მგრძნობელობა ლურჯის მიმართ გაცილებით დაბალია, ვიდრე დანარჩენი ორი. ადამიანის სინათლის აღქმის მნიშვნელოვანი თვისებაა წრფივობა სხვადასხვა ტალღის სიგრძის ფერების დამატებისას.

RGB ფერის მოდელი (წითელი, მწვანე, ლურჯი - წითელი, მწვანე, ლურჯი) კომპიუტერულ გრაფიკაში ამჟამად ყველაზე გავრცელებულია. ამ მოდელში სპექტრული ფუნქცია წარმოდგენილია როგორც კონუსის თითოეული ტიპის მგრძნობელობის მრუდების ჯამი არაუარყოფითი წონის კოეფიციენტებით (ნორმალიზებული 0-დან 1-მდე), რომლებიც აღინიშნება როგორც R, G და B. მოდელი ხასიათდება დამამატებლობის თვისება ახალი ფერების მისაღებად. მაგალითად, სპექტრალური ფუნქციების კოდირება:

შავი: fblack = 0, (R, G, B) = (0,0,0);

იისფერი fviolet = fred + fblue, (R, G, B) = (1,0,1);

თეთრი fwhite = Fred + fgreen + fblue, (R, G, B) = (1,1,1).

RGB მოდელის სამგანზომილებიანი ფერის სივრცე ნაჩვენებია ნახ. 17.1.3. რეცეპტორების მიერ სინათლის აღქმის თავისებურებების გამო, ადამიანებისთვის ხილული ყველა ფერი არ არის წარმოდგენილი ამ მოდელში. თუმცა, რეპროდუცირებადი ფერების წილი გაცილებით დიდია, ვიდრე ფერების პროპორცია, რომლებიც არ არის წარმოდგენილი ამ მოდელში.

CIE XYZ ფერის სისტემა. ფერების წარმოდგენის საერთაშორისო სტანდარტი CIE (CIE - Commission Internationale de l "Eclairage) მიღებულ იქნა 1931 წელს განათების საერთაშორისო კომისიის მიერ, რომელიც განსაზღვრავს სამ ძირითად ფუნქციას ρX (λ), ρY (λ), ρZ (λ), დამოკიდებულია ტალღის სიგრძე, რომელთა ხაზოვანი კომბინაციები არაუარყოფითი კოეფიციენტებით (X, Y და Z) წარმოქმნის ყველა ადამიანის თვალსაჩინო ფერს. ეს ფუნქციები ითვალისწინებს სინათლის ინტენსივობის შედარებით აღქმას თვალის რეცეპტორების მიერ. 3D სივრცეში CIE ფერის სისტემა ქმნის კონუსს პირველ კვადრატში და გამოიყენება მაღალი ხარისხის ფერადი სურათების საჩვენებლად.

17.2. ბიტმაპების გეომეტრიული გარდაქმნები

ტრანსფორმაციის სფეროები და ეტაპები. სურათები შეიძლება დაიყოს ტექსტურად და დეტალურად. ტექსტურულ სურათებში ყველა ნიმუში (ელემენტი) შეიცავს ინფორმაციას (გამოსახულებას ტელევიზორის ეკრანზე). დეტალური სურათი არის სურათი, რომელშიც შეიძლება განვასხვავოთ ჩარევის ობიექტები, ფონი და სასარგებლო ობიექტები.

კომპიუტერებზე გამოსახულების დამუშავების ალგორითმების სამი ძირითადი ჯგუფია:

1. გამოსახულების პირველადი (წინასწარი) დამუშავება აღდგენის, შემთხვევითი ხმაურისგან გაწმენდის, ხარისხის გაუმჯობესების, ოპტიკური სისტემების გეომეტრიული დამახინჯებების (დეფოკუსირება, აბერაციები და ა.შ.) გამოსწორების მიზნით.

2. სურათების აღწერა, ნიმუშის ამოცნობა. იგი ხორციელდება გამოსახულების დეტალების პარამეტრების დასადგენად და მოიცავს: გამოსახულების უბნების მოძიებას, რომლებიც ერთგვაროვანია განათებისა და ფერის თვალსაზრისით, გამოსახულების ფორმის ნიშნების ხაზგასმა, ობიექტების სპეციალური წერტილების კოორდინატების განსაზღვრა და ა.შ.

3. ეფექტური კოდირება გადაცემის და შენახვის რაოდენობის შესამცირებლად.

წინასწარი დამუშავების მეთოდების უმეტესობა დაფუძნებულია ხაზოვანი სივრცით უცვლელი (LPI) ფილტრების გამოყენებაზე. ხაზოვანი ალგორითმები შესრულებულია 1D FIR და IIR ფილტრების 2D ანალოგების გამოყენებით. მათი გამოყენება შეიძლება, მაგალითად, ფილტრების დანერგვისას სურათებში ხმაურის დონის შესამცირებლად.

FIR ფილტრები დანერგილია კონვოლუციის მეთოდის გამოყენებით. 2D FIR ფილტრების უპირატესობა არის ხილვადობა, სიმარტივე და აბსოლუტური სტაბილურობა. IIR ფილტრები დანერგილია განსხვავებების განტოლებებისა და z-ტრანსფორმაციების გამოყენებით. ისინი უფრო სწრაფია ვიდრე FIR ფილტრები, მაგრამ შეიძლება იყოს არასტაბილური. ორგანზომილებიანი IIR ფილტრების სინთეზი განსხვავდება ერთგანზომილებიანი ფილტრებისგან, ვინაიდან ორგანზომილებიანი ფუნქციისთვის შეუძლებელია პოლუსების ცალსახად შერჩევა.

ასევე შეიძლება საჭირო გახდეს არაწრფივი მეთოდები სურათების აღდგენისა და მათი ხარისხის გასაუმჯობესებლად. მაგალითად, ხმაურის ჩასახშობად და ამავდროულად გამოსახულების კონტურული ნაწილის შესანარჩუნებლად, საჭიროა არაწრფივი ან ხაზოვანი სივრცით არაინვარიანტული (SPNI) ფილტრების გამოყენება, რომლებიც დანერგილია რანგის ალგორითმებით. ყველა რანგის არაწრფივი ფილტრი ეფუძნება სწრაფ ალგორითმებს ადგილობრივი ჰისტოგრამების გამოთვლისთვის.

ერთ-ერთი ასეთი მეთოდია მედიანური ფილტრაცია. მედიანური ფილტრების გამოყენება ეფექტურია გარკვეული ტიპის ხმაურისა და პერიოდული ხმაურის ჩასახშობად სიგნალის ერთდროული დამახინჯების გარეშე, მაგალითად, ხმაურის აფრქვევის ჩახშობისთვის, მათ შორის ხაზის ამოვარდნა. მეთოდი ასევე შეიძლება გამოყენებულ იქნას ამოცნობასთან დაკავშირებული პრობლემების გადასაჭრელად, მაგალითად, თხელი ხაზების და მცირე იზოლირებული ობიექტების ხაზგასასმელად.

სურათების აღწერისა და გამოსახულების ამოცნობის ალგორითმები, როგორც წესი, არაწრფივია და ევრისტიკული ხასიათისაა. ობიექტების ნიშნები, როგორც წესი, არის ობიექტის გამოსახულების ფართობი, გამოსახულების კონტურის პერიმეტრი, ფართობის თანაფარდობა გამოსახულების პერიმეტრის კვადრატთან. ობიექტის ფორმა შეიძლება ხასიათდებოდეს გამოსახულებაში ჩაწერილი წრის რადიუსით ან ობიექტის გამოსახულების გარშემო შემოხაზული, მინიმალური და მაქსიმალური რადიუსის ვექტორის სიგრძით გამოსახულების „მასის ცენტრიდან“.

სინჯის აღება. კომპიუტერში გამოსახულების გარდაქმნები და დამუშავებული მონაცემების შენახვა ხდება დისკრეტული ფორმით. ნიმუშის აღება გამოიყენება რეალური სამყაროს უწყვეტი ანალოგური სურათების დისკრეტული წარმოდგენის მისაღებად. პრაქტიკაში, იგი ხორციელდება შეყვანის მოწყობილობებით (ციფრული კამერა, სკანერი ან სხვა). დამუშავებული სურათების ვიზუალური აღქმისთვის გამომავალ მოწყობილობებზე (დისპლეი, პლოტერი და ა.შ.) ხდება ანალოგური გამოსახულების რეკონსტრუქცია მისი დისკრეტირებული წარმოდგენის მიხედვით.

შავ-თეთრი სურათების უმარტივეს შემთხვევაში გვაქვს ორგანზომილებიანი მასივი sa(x, y). RGB მოდელში ფერადი სურათებისთვის, ფერების დამატებისას დამამატებლობის თვისების გათვალისწინებით, თითოეული ფენა R, G და B ასევე შეიძლება ჩაითვალოს და დამუშავდეს, როგორც ორგანზომილებიანი მასივი, შედეგების შემდგომი შეჯამებით.

ერთგანზომილებიანი პერიოდული დისკრეტიზაციის ორგანზომილებიან შემთხვევაზე განზოგადების გზებიდან ყველაზე მარტივია პერიოდული დისკრეტიზაცია მართკუთხა კოორდინატებში:

s(n, m) = sa(nDx, mDy),

სადაც Dx და Dy არის ორგანზომილებიანი უწყვეტი სიგნალის sa(x, y) ჰორიზონტალური და ვერტიკალური შერჩევის ინტერვალები უწყვეტი x და y კოორდინატებით. ქვემოთ, Dx და Dy მნიშვნელობები, როგორც ერთგანზომილებიან შემთხვევაში, აღებულია 1-ის ტოლი.

ორგანზომილებიანი სიგნალის დისკრეტიზაცია ასევე იწვევს მისი სპექტრის პერიოდიზაციას და პირიქით. დისკრეტული სიგნალის კოორდინატებისა და სიხშირის წარმოდგენის ინფორმაციული ეკვივალენტობის პირობა ასევე შენარჩუნებულია ძირითადი სიგნალის დიაპაზონში შერჩევის წერტილების თანაბარი რაოდენობით. მართკუთხა დისკრეტიზაციისთვის, პირდაპირი და ინვერსიული ფურიეს გარდაქმნები განისაზღვრება გამონათქვამებით:

S(k, l) =s(n, m) exp(-jn2pk/N-jm2pl/M), (17.2.1)

S(k, l) =exp(-jn2pk/N) s(n, m) exp(-jm2pl/M), (17.2.1")

s(n, m) =S(k, l) exp(-jn2pk/N-jm2pl/M). (17.2.2)

s(n, m) = exp(-jn2pk/N) S(k, l) exp(-jm2pl/M). (17.2.2")

ბრინჯი. 17.2.1. სპექტრის პერიოდიზაცია.

ეს გამონათქვამები აჩვენებს, რომ 2D DFT მართკუთხა მონაცემების შერჩევის რასტერზე შეიძლება გამოითვალოს 1D სერიული DFT-ების გამოყენებით. გამონათქვამების მეორე ჯამები (17.2.1") და (17.2.2") არის s(n, m) და S(k, l) ფუნქციების მონაკვეთების ერთგანზომილებიანი DFT-ები n და k ხაზების გასწვრივ. შესაბამისად, და პირველი ჯამები არის განყოფილებებში გამოთვლილი ფუნქციების ერთგანზომილებიანი DFT-ები m და l-ით. სხვა სიტყვებით რომ ვთქვათ, s(n, m) და S(k, l) მნიშვნელობების საწყისი მატრიცები ჯერ ხელახლა გამოითვლება შუალედურ მატრიცებად DFT-ით ​​რიგებით (ან სვეტებით), ხოლო შუალედური მატრიცები ხელახლა გამოითვლება საბოლოო მატრიცებად DFT-ით. სვეტების (ან, შესაბამისად, რიგების მიხედვით).

იმისათვის, რომ სპექტრის პერიოდული გამეორება (ნახ. 17.2.1), რომელიც გამოწვეულია Fx=1/Dx და Fy=1/Dy სიხშირით ანალოგური სიგნალის შერჩევით, არ შეიცვალოს სპექტრი ძირითად სიხშირეში. დიაპაზონი (პირველი ანალოგური სიგნალის სპექტრთან მიმართებაში), აუცილებელია და საკმარისია, რომ მაქსიმალური სიხშირის კომპონენტები fmax ანალოგური სიგნალის სპექტრში, როგორც რიგებში, ასევე სვეტებში, არ აღემატებოდეს Nyquist სიხშირეს (fmax. x £ fN = Fx/2, fmax. y £ fM = Fy/2). ეს ნიშნავს, რომ სიგნალის შერჩევის სიხშირე უნდა იყოს მინიმუმ ორჯერ მაღალი, ვიდრე მაქსიმალური სიხშირის კომპონენტი სიგნალის სპექტრში:

Fx ³ 2fmax. x, Fy ³ 2fmax. y, (17.2.3)

რაც უზრუნველყოფს სპექტრული ფუნქციების მიღწევის ნულოვან მნიშვნელობებს სპექტრის ძირითადი დიაპაზონის ბოლოებში.

ორგანზომილებიანი სიგნალის აღდგენის ინტერპოლაციის სერია. თუ უწყვეტი სიგნალი sa(x, y) არის შეზღუდული სპექტრის სიგნალი და შერჩევის პერიოდები არჩეულია საკმარისად მცირე და მეზობელი პერიოდების სპექტრები არ ემთხვევა ერთმანეთს:

Sa(Wx, Wy) = 0 for |Wx|p/Dx, |Wy|p/Dx,

შემდეგ, როგორც ერთგანზომილებიან შემთხვევაში, სიგნალი sa(x, y) შეიძლება რეკონსტრუირებული იყოს დისკრეტული სიგნალიდან კოტელნიკოვ-შენონის სერიის ორგანზომილებიანი ანალოგის გამოყენებით:

sa(x, y) = Sn Sm s(n, m) . (17.2.4)

სურათების სიხშირის დამახინჯება და მათი აღმოფხვრა. შეუზღუდავი სპექტრის მქონე სიგნალის ნიმუშის აღება ასევე შესაძლებელია, მაგრამ ამ შემთხვევაში ხდება სპექტრების გადაფარვა მიმდებარე პერიოდებში, ხოლო მაღალი სიხშირეები, რომლებიც მაღალია Nyquist სიხშირეებზე, იქნება "ნიღბირებული", როგორც ერთგანზომილებიან შემთხვევაში, ქვეშ ძირითადი პერიოდის დაბალი სიხშირეები. პერიოდის საზღვრებიდან „არეკვლის“ ეფექტი კიდევ უფრო რთულ სურათს იძლევა სხვადასხვა კოორდინატებში ასახული სიხშირეების ჩარევის გამო. მსგავსი ეფექტი, რომელიც ცნობილია როგორც ალიასინგი, ასევე წარმოიქმნება სურათების ნიმუშის ნაკლებობისას. ეს ეფექტი განსაკუთრებით ნათლად შეიძლება შეინიშნოს სიკაშკაშის მკვეთრი კონტრასტული ცვლილებების დროს.

ასეთ ფენომენებთან საბრძოლველად გამოიყენება წინასწარი ფილტრაცია (ანტიალიასინგი) - ანალოგური გამოსახულების წინასწარი კონვოლუცია წონის ფილტრის ფუნქციით, რომელიც წყვეტს მაღალი სიხშირის კომპონენტებს, რამაც შეიძლება გამოიწვიოს ალიასირება. ორგანზომილებიან შემთხვევაში, ფილტრაცია აღწერილია შემდეგნაირად:

z(x, y) = h(x", y") ③③ s(x-x", y-y"). (17.2.5)

უნდა აღინიშნოს, რომ ანალოგური გამოსახულებები არსებობს მხოლოდ ოპტიკურ დიაპაზონში, მაგალითად, ეკრანზე, ფოტო ქაღალდზე ან ფილმზე სინათლის ჩვენების სახით, მაგრამ ვერ იარსებებს კომპიუტერის მეხსიერებაში. ამიტომ, წინასწარი ფილტრაციის ფიზიკური განხორციელება შესაძლებელია მხოლოდ სურათის დარეგისტრირებისას მისი დეფოკუსირებით, რომელიც, როგორც წესი, არ გამოიყენება. პირველადი ინფორმაცია ყოველთვის უნდა იყოს ჩაწერილი მაქსიმალური სისრულითა და სიზუსტით, ხოლო პირველადი ინფორმაციის გაწმენდა ზედმეტი დეტალებისა და ზედმეტისგან არის შემდგომი მონაცემთა დამუშავების საკითხი. მაშასადამე, 17.2.5 განტოლებასთან დაკავშირებით, ორგანზომილებიანი წინასწარი ფილტრაცია, მისი პრაქტიკული განხორციელებისას, შეიძლება იყოს მხოლოდ დიდი ზღვრით აღებული სურათების ფილტრაცია ძირითად სიხშირის დიაპაზონში (გადაჭარბებული გარჩევადობით) და გამოიყენება, როგორც წესი. , უფრო დიდ საფეხურზე შერჩევისას, მაგალითად, სურათების შეკუმშვისას. წინასწარი ფილტრაცია ასევე შეიძლება ჩაშენდეს გამოსახულების ალგორითმებში.

ნახ. 17.2.3 და ქვემოთ, ცხრილი 17.2.1 გვიჩვენებს ყველაზე გავრცელებული ერთგანზომილებიანი ალიასინგის საწინააღმდეგო ფილტრების მაგალითებს. ისინი ასევე შეიძლება განხორციელდეს ანალოგური ფილტრების სახით და გამოიყენება, მაგალითად, სურათების სატელევიზიო ხაზების ანალოგური სახით რადიო არხებზე გადაცემისას (ჰორიზონტალური ანტი-ალიასინგი). პრინციპში მსგავსი ოპერაციის გაკეთება შესაძლებელია სვეტებზე (დუბლიკატი - გამოსახულება) და გამოსახულების შეჯამების შემდეგ ჩატარდება სრული ანტიალიასინგის ოპერაცია, მაგრამ ეს მეთოდი უფრო სპეციალური სამეცნიერო კვლევის სფეროს განეკუთვნება.

ცხრილი 17.2.1.

წონის ძირითადი ფუნქციები

დროის ფანჯარა

წონის ფუნქცია

ფურიეს ტრანსფორმაცია

ბუნებრივი (P)

П(t) = 1, |t|£t; П(t) = 0, |t|>t

П(w) = 2ტ სინკ

ბარტლეტი (D)

B(w) = t sinc2(wt/2).

ჰენინგ, ჰანა

p(t) = 0.5

0.5p(w)+0.25p(w+p/t)+0.25p(w-p/t)

ჰამინგი

p(t) = 0.54+0.46 cos(pt/t)

0,54 პ(ბ)+0,23 პ(ბ+პ/ტ)+0,23 პ(წ-პ/ტ)

კარე (მე-2 ფანჯარა)

p(t) = b(t) sinc(pt/t)

t B(w)*P(w), P(w) = 1 for |w|

ლაპლას-გაუსი

p(t) = exp[-b2(t/t)2/2]

[(t/b) exp(-t2w2/(2b2))] ③ P(w)

ერთგანზომილებიანი ფილტრების ორგანზომილებიანი ანალოგები f1(x) აგებულია ორ სიმეტრიულ ვარიანტში: ან რადიუსის ფუნქციით:

f2 (x, y) = f1 (),

ან როგორც ნამუშევარი:

f2(x, y) = f1(x) × f1(y).

პირველი ვარიანტი უფრო სწორია, მაგრამ მეორეს აქვს განცალკევებულობის თვისება, ანუ ორგანზომილებიანი კონვოლუცია შეიძლება შესრულდეს ორი ერთგანზომილებიანი კონვოლუციით თანმიმდევრულად რიგებში f1(x) და სვეტებში f1(y).

გამოსახულების ნიმუშის შეცვლა ან resampling არის ციფრული სიგნალის შერჩევის სიჩქარის ცვლილება. ციფრული სურათებისთვის ეს ნიშნავს სურათის ზომის შეცვლას.

არსებობს სურათების შერჩევის სხვადასხვა ალგორითმები. მაგალითად, გამოსახულების 2-ჯერ გასაზრდელად ბილინარული ინტერპოლაციის მეთოდის გამოყენებით, შუალედური სვეტები და რიგები მიიღება მეზობელი სვეტებისა და რიგების მნიშვნელობების ხაზოვანი ინტერპოლაციით. შესაძლებელია ახალი გამოსახულების თითოეული წერტილის მიღება თავდაპირველი გამოსახულების უფრო დიდი რაოდენობის წერტილების შეწონილი ჯამის სახით (ბიკუბური და სხვა სახის ინტერპოლაცია). უმაღლესი ხარისხის ხელახალი შერჩევა მიიღება ალგორითმების გამოყენებისას, რომლებიც ითვალისწინებენ არა მხოლოდ დროს, არამედ სიგნალის სიხშირის დომენსაც.

განვიხილოთ ხელახალი ნიმუშის ალგორითმი გამოსახულების სიხშირის ინფორმაციის მაქსიმალური შენარჩუნებით. ჩვენ განვიხილავთ ალგორითმის მოქმედებას ერთგანზომილებიან სიგნალებზე, რადგან ორგანზომილებიანი გამოსახულება შეიძლება ჯერ ჰორიზონტალურად (სტრიქონებში) და შემდეგ ვერტიკალურად (სვეტებში) დაჭიმული ან შეკუმშული იყოს, ხოლო ორგანზომილებიანი გამოსახულების ხელახალი ნიმუშის აღება შესაძლებელია. შემცირდა ერთგანზომილებიანი სიგნალების ხელახალი შერჩევით.

დავუშვათ, გვაქვს ერთგანზომილებიანი სიგნალი (ნახ. 17.2.4), მოცემული 0-T ინტერვალზე და დისკრეტირებული ნაბიჯით Dt=1 (N ინტერვალები). აუცილებელია სიგნალის „გაჭიმვა“ m-ჯერ. ნახატზე ნაჩვენები სიგნალის სპექტრი გამოითვლება სწრაფი ფურიეს ტრანსფორმირებით (FFT, სპექტრის ნიმუშების რაოდენობა ტოლია სიგნალის ნიმუშების რაოდენობაზე) და მოცემულია FFT ძირითად დიაპაზონში (0-2p, Nyquist სიხშირე wN = p/Dt = p, ან 0,5N სპექტრის ნიმუშების ნუმერაციის მიხედვით Df = 1/T ან Dw = 2p/T სპექტრის გასწვრივ საფეხურით. გაჭიმვა მოითხოვს 2 საფეხურს.

პირველი ნაბიჯი არის ნულოვანი ინტერპოლაცია, რომელიც ზრდის სიგნალის სიგრძეს m-ჯერ. (სურ. 17.2.5). აუცილებელია ორიგინალური სიგნალის ყველა ნიმუშის გამრავლება m-ზე, შემდეგ კი ყოველი სიგნალის ნიმუშის შემდეგ ჩადეთ m-1 ნულოვანი მნიშვნელობა. 0-T ინტერვალზე, რომლის მნიშვნელობა უცვლელი რჩება, ახლა არის m-ჯერ მეტი შერჩევის ინტერვალი (mN) და ახალი შერჩევის ნაბიჯი ტოლი იქნება Dx=Dt/m. შესაბამისად, ახალი Nyquist სიხშირე ამ სიგნალისთვის არის mp/Dt = mp. მაგრამ სპექტრის საფეხურის ფიზიკური მნიშვნელობა სიხშირის ერთეულებში არის სიგნალის დაყენების ინტერვალის ფიზიკური მნიშვნელობის საპირისპირო (Df=1/T) და, შესაბამისად, FFT mN სიგნალის წერტილებზე გამოთვლის სპექტრის mN წერტილებს ძირითადი FFT დიაპაზონი 0-2pm საწყისი სიგნალის სპექტრის საფეხურით, რომელშიც წარმოდგენილი იქნება საწყისი სიგნალის სპექტრის m-პერიოდები (ერთი მთავარი და m-1 მხარე).

მეორე ნაბიჯი არის სპექტრის გვერდითი ზოლების გაფილტვრა დაბალი გამტარი ფილტრის გამოყენებით, დროის ან სპექტრულ დომენში. ნახ. 17.2.6, სპექტრი გაიწმინდა და შესრულდა ინვერსიული ფურიეს ტრანსფორმაცია, რის შედეგადაც მიიღეს სიგნალი m-ჯერ უფრო გრძელი ვიდრე თავდაპირველი სიგნალი ყველა სიხშირის ინფორმაციის სრული შენარჩუნებით.

მსგავსი პრინციპის მიხედვით, სიგნალის n-ჯერ შეკუმშვის (დეციმაციის) ალგორითმი შეიძლება აშენდეს, ხოლო ნაბიჯების თანმიმდევრობა შებრუნებულია. სიგნალის შეკუმშვისას იზრდება სიგნალის შერჩევის საფეხური და, შესაბამისად, Nyquist სიხშირე მცირდება, ხოლო მაღალი სიხშირეების შეწყვეტა (ხმაური და სიგნალის სპექტრის უმნიშვნელო მაღალი სიხშირის ნაწილები) აისახება ძირითადი დიაპაზონის საზღვრიდან. და დაემატა ძირითად ინფორმაციას, რაც ქმნის დამახინჯებებს. ამ ფენომენის აღმოსაფხვრელად, სიგნალი ჯერ იფილტრება დაბალი გამშვები სიხშირით Nyquist-ის ახალი სიხშირის ტოლი ათვლის სიხშირით (anti-aliasing) და მხოლოდ ამის შემდეგ ხდება სიგნალის განადგურება შეთხელებით.

როდესაც ხელახალი შერჩევა ხორციელდება მხოლოდ დროის დომენში, გაჭიმვისა და შეკუმშვის ალგორითმები ჩვეულებრივ გაერთიანებულია ერთ თანმიმდევრულ პროცესში, შერჩევის ნაბიჯის ცვლილების დაყენებით m/n თანაფარდობის სახით, რაც საშუალებას გაძლევთ დააყენოთ m-ის მთელი მნიშვნელობები. და n შერჩევის საფეხურის ცვლილების წილადური მნიშვნელობებისთვის. ეს მნიშვნელოვნად ამარტივებს ალგორითმებს და აუმჯობესებს მათი მუშაობის ეფექტურობასა და ხარისხს. მაგალითად, როდესაც სიგნალი იჭიმება 1,5-ჯერ m/n = 3/2-ზე, სიგნალი ჯერ იჭიმება 3-ჯერ (ნულების მარტივი და ერთგვაროვანი დამატება ყველა ნიმუშზე, შემდეგ ხდება დაბალგამტარი ფილტრაცია, რის შემდეგაც სიგნალი მცირდება 2-ის კოეფიციენტით, ფილტრი არ არის საჭირო, რადგან მისი გამორთვის სიხშირე ემთხვევა პირველი დაბალი გამტარი ფილტრის სიხშირეს. საპირისპირო შეკუმშვის ოპერაციაში (მაგალითად, m/n = 2/3 ), ანალოგიურად, გამოიყენება მხოლოდ ალიასის საწინააღმდეგო ფილტრი.

17.3. სურათის გაფილტვრა

გამოსახულების გაფილტვრა არის ოპერაცია, რომლის შედეგადაც მიიღება იგივე ზომის სურათი, რომელიც მიღებულია ორიგინალიდან გარკვეული წესების მიხედვით. როგორც წესი, გამოსახულებაში თითოეული პიქსელის ინტენსივობა (ფერი) განისაზღვრება თავდაპირველ სურათში მის ზოგიერთ სამეზობლოში მდებარე პიქსელების ინტენსივობით (ფერებით).

ფილტრაციის წესები შეიძლება იყოს ძალიან მრავალფეროვანი. გამოსახულების გაფილტვრა არის კომპიუტერული ხედვის, შაბლონების ამოცნობისა და გამოსახულების დამუშავების ერთ-ერთი ყველაზე ფუნდამენტური ოპერაცია. გამოსახულების დამუშავების მეთოდების დიდი უმრავლესობა იწყება ორიგინალური სურათების ამა თუ იმ გაფილტვრით.

ხაზის ფილტრები აქვს ძალიან მარტივი მათემატიკური აღწერა. ჩვენ ვივარაუდებთ, რომ ორიგინალური ნახევარტონური გამოსახულება A არის მოცემული და აღვნიშნავთ მისი პიქსელების ინტენსივობას A(x, y)-ით. ხაზოვანი ფილტრი განისაზღვრება რეალური ღირებულების მქონე ფუნქციით h (ფილტრის ბირთვი), რომელიც განსაზღვრულია რასტერზე. თავად ფილტრაცია ხორციელდება დისკრეტული კონვოლუციის (შეწონილი შეჯამება) ოპერაციის გამოყენებით:

B(x, y) = h(i, j) ③③A(x, y) = h(i, j) A(x-i, y-j). (17.3.1)

შედეგი არის სურათი B. ჩვეულებრივ, ფილტრის ბირთვი არ არის ნულოვანი მხოლოდ N წერტილის ზოგიერთ უბანში (0, 0). ამ უბნის გარეთ, h(i, j) უდრის ნულს, ან ძალიან ახლოსაა მასთან და შეიძლება უგულებელყო. შეჯამება შესრულებულია (i, j) н N-ზე და თითოეული პიქსელის B(x, y) მნიშვნელობა განისაზღვრება A გამოსახულების პიქსელებით, რომლებიც მდებარეობს N ფანჯარაში (x, y) ცენტრში. აღინიშნება სიმრავლე N(x, y) ). ფილტრის ბირთვი, რომელიც განსაზღვრულია N მართკუთხა მეზობლად, შეიძლება მივიჩნიოთ, როგორც m n-ის მატრიცა, სადაც გვერდის სიგრძე კენტი რიცხვია. ბირთვის მატრიცის სახით მითითებისას ის უნდა იყოს ცენტრში. თუ პიქსელი (x, y) მდებარეობს გამოსახულების კიდეების სიახლოვეს, მაშინ A(x-i, y-j) კოორდინატები გარკვეული (i, j) შეიძლება შეესაბამებოდეს გამოსახულების გარეთ არარსებულ A პიქსელს. ეს პრობლემა შეიძლება მოგვარდეს რამდენიმე გზით.

არ გაფილტროთ ასეთი პიქსელებისთვის B გამოსახულების კიდეებზე ამოჭრით ან მათი მნიშვნელობებისთვის A გამოსახულების ორიგინალური მნიშვნელობების გამოყენებით.

არ შეიტანოთ გამოტოვებული პიქსელი შეჯამებაში მისი წონის h(i, j) თანაბრად განაწილებით სხვა პიქსელებს შორის N(x, y) მეზობლად.

ხელახლა განსაზღვრეთ პიქსელის მნიშვნელობები გამოსახულების საზღვრებს გარეთ ექსტრაპოლაციის გამოყენებით.

ხელახლა განსაზღვრეთ პიქსელების მნიშვნელობები გამოსახულების საზღვრებს გარეთ, გამოსახულების სარკისებური გაგრძელების გამოყენებით.

მეთოდის არჩევა ხდება კონკრეტული ფილტრისა და გამოსახულების მახასიათებლების გათვალისწინებით.

დამარბილებელი ფილტრები. r რადიუსის უმარტივესი მართკუთხა დამარბილებელი ფილტრი მოცემულია (2r+1) × (2r+1) მატრიცით, რომლის ყველა მნიშვნელობა არის 1/(2r+1)2, ხოლო მნიშვნელობების ჯამი არის ერთი. ეს არის დაბალი გამტარი 1D U- ფორმის მოძრავი საშუალო ფილტრის 2D ანალოგი. ასეთი ბირთვით ფილტრაციისას პიქსელის მნიშვნელობა იცვლება პიქსელის საშუალო მნიშვნელობით მის გარშემო 2r+1 კვადრატში. 3×3 ფილტრის ნიღბის მაგალითი:

.

ფილტრების ერთ-ერთი გამოყენება ხმაურის შემცირებაა. ხმაური დამოუკიდებლად იცვლება პიქსელიდან პიქსელამდე და იმ პირობით, რომ ხმაურის მნიშვნელობის მათემატიკური მოლოდინი ნულის ტოლია, მეზობელი პიქსელების ხმაური გააუქმებს ერთმანეთს შეჯამებისას. რაც უფრო დიდია ფილტრაციის ფანჯარა, მით უფრო დაბალია საშუალო ხმაურის ინტენსივობა, თუმცა ასევე მოხდება სურათის მნიშვნელოვანი დეტალების შესაბამისი დაბინდვა. თეთრი წერტილის გამოსახულება შავ ფონზე ფილტრაციის დროს (რეაქცია ერთ პულსზე) იქნება ერთგვაროვანი ნაცრისფერი კვადრატი.

მართკუთხა ფილტრის გამოყენებით ხმაურის შემცირებას მნიშვნელოვანი ნაკლი აქვს: ფილტრის ნიღბის ყველა პიქსელს დამუშავებულიდან ნებისმიერ მანძილზე აქვს იგივე ეფექტი შედეგზე. ოდნავ უკეთესი შედეგი მიიღება ფილტრის შეცვლით ცენტრალური წერტილის წონის ზრდით:

.

უფრო ეფექტური ხმაურის შემცირება შესაძლებელია, თუ პიქსელების გავლენა შედეგზე მცირდება დამუშავებულიდან მანძილის გაზრდით. ამ თვისებას ფლობს გაუსის ფილტრი ბირთვით: h(i, j) = (1/2ps2) exp(-(i2+j2)/2s2). გაუსის ფილტრს აქვს უსასრულო ზომის არა-ნულოვანი ბირთვი. ამასთან, ფილტრის ბირთვის მნიშვნელობა ძალიან სწრაფად მცირდება n-მდე და, შესაბამისად, პრაქტიკაში, შეიძლება შემოიფარგლოთ კონვოლუციით პატარა ფანჯრის გარშემო (0, 0), მაგალითად, ფანჯრის რადიუსის ტოლი 3σ-ის აღებით.

გაუსიანური ფილტრაცია ასევე გამარტივებულია. თუმცა, მართკუთხა ფილტრისგან განსხვავებით, გაუსიანი ფილტრის მქონე წერტილის გამოსახულება იქნება სიმეტრიული ბუნდოვანი ადგილი, სიკაშკაშის შემცირებით შუადან კიდეებამდე. გამოსახულების დაბინდვის ხარისხი განისაზღვრება σ პარამეტრით.

კონტრასტული ფილტრები . თუ დამარბილებელი ფილტრები ამცირებს გამოსახულების ლოკალურ კონტრასტს, ბუნდოვანს, მაშინ კონტრასტის გამაძლიერებელი ფილტრები წარმოქმნიან საპირისპირო ეფექტს და, არსებითად, მაღალი სივრცითი სიხშირის ფილტრებია. გამაძლიერებელი ფილტრის ბირთვს (0, 0) აქვს 1-ზე მეტი მნიშვნელობა, მნიშვნელობების ჯამური ჯამი უდრის 1-ს. მაგალითად, გამაძლიერებელი ფილტრები არის ფილტრები ბირთვით, რომელიც მოცემულია მატრიცებით:

. .

ფილტრის გამოყენების მაგალითი ნაჩვენებია ნახ. 17.3.1. კონტრასტის გაზრდის ეფექტი მიიღწევა იმის გამო, რომ ფილტრი ხაზს უსვამს განსხვავებას მეზობელი პიქსელების ინტენსივობას შორის, აშორებს ამ ინტენსივობას ერთმანეთისგან. ეს ეფექტი უფრო ძლიერი იქნება, რაც უფრო დიდი იქნება ბირთვის ცენტრალური ტერმინის მნიშვნელობა. ხაზოვანი კონტრასტის გაუმჯობესების ფილტრაციის დამახასიათებელი არტეფაქტია შესამჩნევი მსუბუქი და ნაკლებად შესამჩნევი მუქი ჰალოები კიდეების გარშემო.

განსხვავებების ფილტრები არის წრფივი ფილტრები, რომლებიც განისაზღვრება დიფერენციალური ოპერატორების დისკრეტული მიახლოებით (სასრული განსხვავებების მეთოდით). ეს ფილტრები მნიშვნელოვან როლს თამაშობენ ბევრ აპლიკაციაში, მაგალითად, გამოსახულების კიდეების მოსაძებნად.

უმარტივესი დიფერენციალური ოპერატორია x-წარმოებული d/dx, რომელიც განისაზღვრება უწყვეტი ფუნქციებისთვის. მსგავსი ოპერატორების საერთო ვარიანტები დისკრეტული სურათებისთვის არის Prewitt და Sobel ფილტრები:

. .

წარმოებული ოპერატორის მიახლოებითი ფილტრები y-კოორდინატთან d/dy მიიღება მატრიცების ტრანსპოზირებით.

უმარტივესი ალგორითმი გრადიენტის ნორმის გამოსათვლელად სამ მიმდებარე წერტილზე:

G(x, y) = .

ასევე გამოიყენება გამარტივებული გაანგარიშების ფორმულა:

გრადიენტის ნორმის გამოთვლა ოთხ მიმდებარე წერტილზე (რობერტსის ოპერატორი):

Sobel-ის ალგორითმი იყენებს სიკაშკაშის რვა ნიმუშს ცენტრალური წერტილის სიახლოვეს:

G(x, y) = , G(x, y) @ ,

Gxx, y = -,

Gyx, y = - .

გრადიენტის ნორმის უფრო ზუსტ განმარტებასთან ერთად, Sobel-ის ალგორითმი ასევე საშუალებას გაძლევთ განსაზღვროთ გრადიენტის ვექტორის მიმართულება გამოსახულების ანალიზის სიბრტყეში j კუთხის სახით გრადიენტის ვექტორსა და მატრიცის რიგების მიმართულებას შორის:

j(x, y) = argtg(Gyx, y /Gxx, y).

გამარტივებისა და კონტრასტის გამაძლიერებელი ფილტრებისგან განსხვავებით, რომლებიც არ ცვლიან გამოსახულების საშუალო ინტენსივობას, განსხვავება ოპერატორების გამოყენების შედეგად, როგორც წესი, მიიღება გამოსახულება საშუალო პიქსელის მნიშვნელობით ნულთან ახლოს. ორიგინალური სურათის ვერტიკალური წვეთები (საზღვრები) შეესაბამება პიქსელებს დიდი მოდულის მნიშვნელობებით მიღებულ სურათში. ამრიგად, განსხვავებულ ფილტრებს ასევე უწოდებენ ობიექტის საზღვრის გამოვლენის ფილტრებს.

ზემოაღნიშნული ფილტრების მსგავსად, სასრული განსხვავების მეთოდი შეიძლება გამოყენებულ იქნას სხვა დიფერენციალური ოპერატორებისთვის ფილტრების შესაქმნელად. კერძოდ, დიფერენციალური ლაპლასის ოპერატორი (ლაპლასიური) D= 𝝏2/𝝏x2 + 𝝏2/𝝏y2, რომელიც მნიშვნელოვანია მრავალი აპლიკაციისთვის, შეიძლება მიახლოებული იყოს დისკრეტული სურათებისთვის ფილტრით მატრიცით (ერთ-ერთი ვარიანტი):

.

როგორც ჩანს ნახ. 17.3.2, დისკრეტული ლაპლასის გამოყენების შედეგად, აბსოლუტური მნიშვნელობის დიდი მნიშვნელობები შეესაბამება სიკაშკაშის ვერტიკალურ და ჰორიზონტალურ განსხვავებებს. ამრიგად, ფილტრი არის ფილტრი, რომელიც პოულობს ნებისმიერი ორიენტაციის საზღვრებს. სურათზე კიდეების პოვნა შესაძლებელია ამ ფილტრის გამოყენებით და ყველა პიქსელის აღებით, რომელთა აბსოლუტური მნიშვნელობა აღემატება გარკვეულ ზღვარს.

თუმცა, ამ ალგორითმს აქვს მნიშვნელოვანი ნაკლოვანებები. მთავარი არის გაურკვევლობა ზღვრული მნიშვნელობის არჩევისას. გამოსახულების სხვადასხვა ნაწილისთვის მისაღები შედეგი ჩვეულებრივ მიიღება მნიშვნელოვნად განსხვავებულ ზღურბლზე. გარდა ამისა, დიფერენციალური ფილტრები ძალიან მგრძნობიარეა გამოსახულების ხმაურის მიმართ.

ორგანზომილებიანი ციკლური კონვოლუცია. როგორც 1D სიგნალების შემთხვევაში, 2D კონვოლუცია შეიძლება განხორციელდეს სივრცითი სიხშირის დომენში FFT ალგორითმების გამოყენებით და 2D გამოსახულების სპექტრისა და ფილტრის ბირთვის გამრავლებით. ის ასევე ციკლურია და ჩვეულებრივ შესრულებულია მოცურების ვერსიით. ციკლურობის გათვალისწინებით, ბირთვის სპექტრის მუდმივი ნიმუშის გამოსათვლელად, ბირთვის ფილტრის ნიღბის ზომები გაორმაგებულია ღერძების გასწვრივ და ივსება ნულებით, ხოლო ნიღბის იგივე ზომები გამოიყენება სურათზე მოცურებული ფანჯრის გამოსაყოფად, რომლის ფარგლებშიც FFT ხორციელდება. FIR ფილტრის დანერგვა FFT-ით ​​განსაკუთრებით ეფექტურია, თუ ფილტრს აქვს დიდი საცნობარო არეალი.

არაწრფივი ფილტრები . ციფრული გამოსახულების დამუშავებისას ფართოდ გამოიყენება რანგის სტატისტიკაზე დაფუძნებული არაწრფივი ალგორითმები სხვადასხვა ხმაურის მოდელებით დაზიანებული სურათების აღსადგენად. ისინი საშუალებას გაძლევთ თავიდან აიცილოთ გამოსახულების დამატებითი დამახინჯება ხმაურის მოხსნისას, ასევე მნიშვნელოვნად გააუმჯობესოთ ფილტრების შედეგები მაღალი ხარისხის ხმაურის მქონე სურათებზე.

მოდით წარმოვიდგინოთ A(x, y) გამოსახულების ელემენტის M-მეზობლობის კონცეფცია, რომელიც ცენტრალურია ამ უბნისთვის. უმარტივეს შემთხვევაში, M- სამეზობლო შეიცავს N- პიქსელებს - წერტილებს, რომლებიც ხვდება ფილტრის ნიღაბში, მათ შორის (ან არ მოიცავს) ცენტრალურს. ამ N- ელემენტების მნიშვნელობები შეიძლება განლაგდეს V(r) ცვალებად სერიებში, დალაგებული აღმავალი (ან დაღმავალი) თანმიმდევრობით და ამ სერიის გარკვეული მომენტების გამოთვლა შესაძლებელია, მაგალითად, სიკაშკაშის საშუალო მნიშვნელობა mN. და დისპერსიის dN. ფილტრის გამომავალი მნიშვნელობის გაანგარიშება, რომელიც ცვლის ცენტრალურ ნიმუშს, შესრულებულია ფორმულით:

B(x, y) = aА(x, y) + (1-a)mN. (17.3.2)

კოეფიციენტის მნიშვნელობა a = ასოცირდება გარკვეული დამოკიდებულებით ფილტრის ფანჯარაში არსებული ნიმუშების სტატისტიკასთან, მაგალითად:

a = dN /(dN + k dS), (17.3.3)

სადაც dS არის ხმაურის ვარიაცია მთელ სურათზე ან S-მეზობლებზე S > M და MнS-ისთვის, k არის S-მეზობლობის ვარიაციის ნდობის მუდმივი. როგორც ამ ფორმულიდან ჩანს, k=1 და dN » dS-სთვის ადგილი აქვს a » 0,5 და მნიშვნელობა B(x, y) = (A(x, y) + mN)/2, ანუ ისინი ემატება თანაბრად. ცენტრალური ნიმუშის მნიშვნელობებზე და მისი M- სამეზობლოს პიქსელების საშუალო მნიშვნელობაზე. dN მნიშვნელობების ზრდით, ცენტრალური მითითების მნიშვნელობის წვლილი შედეგზე იზრდება; შემცირებით, mN-ის მნიშვნელობა. საშუალო მნიშვნელობების წვლილი M- სამეზობლოზე შეიძლება შეიცვალოს k კოეფიციენტის მნიშვნელობით.

სტატისტიკური ფუნქციის არჩევანი და მასზე a კოეფიციენტის დამოკიდებულების ბუნება შეიძლება იყოს საკმაოდ მრავალფეროვანი (მაგალითად, M- სამეზობლოში წაკითხვის განსხვავებების ცვალებადობის მიხედვით ცენტრალურ წაკითხვასთან) და დამოკიდებულია ორივეზე. ფილტრის დიაფრაგმის ზომა და სურათების ბუნება და ხმაური. არსებითად, a კოეფიციენტის მნიშვნელობამ უნდა განსაზღვროს ცენტრალური ნიმუშის დაზიანების ხარისხი და, შესაბამისად, ნასესხების ფუნქცია M- სამეზობლოდან ნიმუშების კორექტირებისთვის.

გამოსახულების დამუშავებისთვის არაწრფივი ფილტრების უმარტივესი და ყველაზე გავრცელებული ტიპები არის ბარიერი და მედიანური ფილტრები.

ბარიერის გაფილტვრა მოცემულია, მაგალითად, შემდეგნაირად:

B(x, y) =

ღირებულება გვარის ფილტრის ბარიერი. თუ ფილტრის ცენტრალური წერტილის მნიშვნელობა ზღვრული მნიშვნელობით აღემატება mN ნიმუშების საშუალო მნიშვნელობას მის M სიახლოვეს, მაშინ ის იცვლება საშუალო მნიშვნელობით. ბარიერის მნიშვნელობა შეიძლება იყოს მუდმივი ან ფუნქციურად დამოკიდებული ცენტრალური წერტილის მნიშვნელობაზე.

მედიანური ფილტრაცია განისაზღვრება შემდეგნაირად:

B(x, y) = med (M(x, y)),

ანუ, ფილტრაციის შედეგი არის სამეზობლო პიქსელების მედიანური მნიშვნელობა, რომელთა ფორმა განისაზღვრება ფილტრის ნიღბით. მედიანა ფილტრაციას შეუძლია ეფექტურად ამოიღოს ხმაური სურათიდან, რომელიც დამოუკიდებლად მოქმედებს ცალკეულ პიქსელებზე. მაგალითად, ასეთი ჩარევები არის „გატეხილი“ პიქსელი ციფრული გადაღების დროს, „თოვლის“ ხმაური, როდესაც ზოგიერთი პიქსელი იცვლება მაქსიმალური ინტენსივობის პიქსელებით და ა.შ. მედიანური ფილტრაციის უპირატესობა ის არის, რომ მუქ ფონზე „ცხელი“ პიქსელი იქნება. შეცვალა მუქი, და არ "smeared" გარშემო სამეზობლოში.

მედიანა ფილტრაციას აქვს გამოხატული სელექციურობა მასივის ელემენტებთან მიმართებაში, რომლებიც წარმოადგენენ ფილტრის დიაფრაგში არსებული რიცხვების თანმიმდევრობის არაერთფეროვან კომპონენტს. ამავდროულად, მედიანური ფილტრი უცვლელად ტოვებს თანმიმდევრობის მონოტონურ კომპონენტს. ამ მახასიათებლის გამო, მედიანური ფილტრები, ოპტიმალურად შერჩეული დიაფრაგმით, ინარჩუნებენ მკვეთრი საგნის კიდეებს დამახინჯების გარეშე, თრგუნავენ არაკორელაციას ან სუსტად კორელაციას ხმაურს და მცირე ზომის დეტალებს.

ექსტრემალური ფილტრები დადგენილი წესებით:

Bmin(x, y) = min(M(x, y)),

Bmax(x, y) = max (M(x, y)),

ანუ ფილტრაციის შედეგი არის პიქსელის მინიმალური და მაქსიმალური მნიშვნელობები ფილტრის ნიღაბში. ასეთი ფილტრები გამოიყენება, როგორც წესი, ორობითი სურათებისთვის.

17.4. სურათის შეკუმშვა

ტიპიური სურათი, რომლის გარჩევადობაა დაახლოებით 3000×2000, 24 ბიტი პიქსელზე ფერადი გადაცემისთვის, აქვს 17 მეგაბაიტი ზომა. პროფესიონალური მოწყობილობებისთვის, მიღებული გამოსახულების რასტერის ზომა შეიძლება იყოს ბევრად დიდი, ფერის სიღრმე 48 ბიტამდე პიქსელზე, ხოლო ერთი სურათის ზომა შეიძლება იყოს 200 მეგაბაიტზე მეტი. აქედან გამომდინარე, გამოსახულების შეკუმშვის ალგორითმები ძალიან მნიშვნელოვანია გამოსახულების წარმომადგენლობითი მონაცემების რაოდენობის შესამცირებლად.

არსებობს ალგორითმების ორი ძირითადი კლასი:

1. უდანაკარგო შეკუმშვა A (დაკარგვის შეკუმშვა), თუ არსებობს ისეთი შებრუნებული ალგორითმი A-1, რომ ნებისმიერი h - გამოსახულება A[h] = h1 გვაქვს A-1 = h. უდანაკარგო შეკუმშვა გამოიყენება გრაფიკული გამოსახულების ფორმატებში, როგორიცაა: GIF, PCX, PNG, TGA, TIFF და გამოიყენება განსაკუთრებით ღირებული პირველადი ინფორმაციის დამუშავებისას (სამედიცინო გამოსახულებები, საჰაერო და კოსმოსური სურათები და ა.შ.), როდესაც თუნდაც მცირედი დამახინჯება არასასურველია.

2. დაკარგვის შეკუმშვა, თუ იგი არ იძლევა ორიგინალური გამოსახულების ზუსტად აღდგენის შესაძლებლობას. A-სთან დაწყვილებული გამოსახულების აღდგენის სავარაუდო ალგორითმი აღინიშნა როგორც A*. წყვილი (A, A*) არჩეულია იმისათვის, რომ უზრუნველყოს მაღალი შეკუმშვის კოეფიციენტები ვიზუალური ხარისხის შენარჩუნებისას. Lossy შეკუმშვა გამოიყენება გრაფიკულ ფორმატებში: JPEG, JPEG2000 და ა.შ.

ყველა ალგორითმი და განცხადება ვრცელდება როგორც სურათებზე, ასევე თვითნებურ მიმდევრობებზე, რომელთა ელემენტებს შეუძლიათ მიიღონ სასრული რაოდენობის მნიშვნელობა. ამავე დროს, გასათვალისწინებელია, რომ არ არსებობს იდეალური ალგორითმები, რომლებსაც შეუძლიათ ნებისმიერი მონაცემთა ნაკრების შეკუმშვა დანაკარგის გარეშე.

გაიმეორეთ სიგრძის კოდირების (RLE) ალგორითმები ეფუძნება მარტივ პრინციპს: ორიგინალური მიმდევრობის ელემენტების განმეორებითი ჯგუფების ჩანაცვლება წყვილით (რაოდენობა, ელემენტი) ან მხოლოდ რაოდენობით.

ბიტის დონე. ჩვენ განვიხილავთ ორიგინალურ მონაცემებს ბიტების თანმიმდევრობის დონეზე, მაგალითად, შავ-თეთრ სურათს. ჩვეულებრივ არის რამდენიმე 0 ან 1 ზედიზედ და შესაძლებელია თანმიმდევრული იდენტური ციფრების დაშიფვრა. მაგრამ გამეორებების რაოდენობა ასევე უნდა იყოს კოდირებული ბიტებში. შეიძლება ჩაითვალოს, რომ გამეორებების თითოეული რაოდენობა იცვლება 0-დან 7-მდე (3-ბიტიანი კოდი), ცვლის ერთებისა და ნულების კოდების თანმიმდევრობას. მაგალითად, მიმდევრობები შეიძლება შევადაროთ რიცხვებს 7 0 4, ანუ 7 ერთეული, 0 ნული, 4 ერთეული, მაშინ როცა გვაქვს ახალი წელი - რაც უფრო გრძელია იდენტური ბიტების თანმიმდევრობა, მით მეტია ეფექტი. ასე რომ, 21 ერთეულის, 21 ნულის, 3 ერთისა და 7 ნულის თანმიმდევრობა დაშიფრულია შემდეგნაირად: , ანუ თავდაპირველი 51 ბიტიანი თანმიმდევრობიდან გვაქვს 36 ბიტიანი თანმიმდევრობა.

ბაიტის დონე. დავუშვათ, რომ შეყვანა არის ნაცრისფერი ფერის სურათი, სადაც 1 ბაიტი ენიჭება პიქსელის ინტენსივობის მნიშვნელობას, ხოლო იდენტური ბიტების გრძელი ჯაჭვის მოლოდინი მნიშვნელოვნად შემცირებულია.

ჩვენ დავყოფთ შეყვანის ნაკადს ბაიტებად (კოდი 0-დან 255-მდე) და დაშიფვრით განმეორებით ბაიტებს წყვილად (რიცხვი, ასო). ერთი ბაიტი არ შეიძლება შეიცვალოს. ასე რომ, ბაიტები AABBBCDAA კოდირებს (2A) (3B) (C) (D) (2A).

თუმცა, ამ ალგორითმის მოდიფიკაციები იშვიათად გამოიყენება დამოუკიდებლად (მაგალითად, PCX ფორმატში), რადგან მიმდევრობების ქვეკლასი, რომლებზეც ალგორითმი ეფექტურია, შედარებით ვიწროა. უფრო ხშირად ისინი გამოიყენება როგორც შეკუმშვის მილსადენის ერთ-ერთი ეტაპი.

ლექსიკონის ალგორითმები შემომავალი მიმდევრობის მხოლოდ ერთი ელემენტის დაშიფვრის ნაცვლად, შესრულებულია ელემენტების ჯაჭვის კოდირება. ეს იყენებს სტრიქონების ლექსიკონს (შექმნილი შეყვანის თანმიმდევრობით) ახლის კოდირებისთვის.

LZ77 ალგორითმი იყო ერთ-ერთი პირველი, ვინც გამოიყენა ლექსიკონი. N რიგითობის ბოლო უკვე დაშიფრული ელემენტები გამოიყენება ლექსიკონად. შეკუმშვისას ლექსიკონი-ქვემიმდევრობა „სრიალებს“ შემოსულ მიმდევრობაზე. გამომავალზე ელემენტების ჯაჭვი დაშიფრულია შემდეგნაირად: ლექსიკონში ელემენტების დამუშავებული ჯაჭვის შესატყვისი ნაწილის პოზიცია - ოფსეტი (მიმდინარე პოზიციასთან შედარებით), სიგრძე, ჯაჭვის შესაბამისი ნაწილის შემდეგ პირველი ელემენტი. შესატყვისი ჯაჭვის სიგრძე ზემოდან შემოიფარგლება n ნომრით. შესაბამისად, ამოცანაა იპოვოთ ლექსიკონიდან ყველაზე დიდი სტრიქონი, რომელიც შეესაბამება დამუშავებულ თანმიმდევრობას. თუ არ არის შესატყვისები, მაშინ იწერება ოფსეტური ნული, სიგრძე ერთი და დაშიფრული მიმდევრობის პირველი ელემენტი.

ზემოთ აღწერილი კოდირების სქემა იწვევს მოცურების ფანჯრის კონცეფციას, რომელიც შედგება ორი ნაწილისგან:

N-ლექსიკონის სიგრძის უკვე დაშიფრული ელემენტების ქვემიმდევრობა - საძიებო ბუფერი;

n სიგრძის თანმიმდევრობა ელემენტების ჯაჭვიდან, რომლის შესატყვისის პოვნის მცდელობა იქნება, არის წინსვლის ბუფერი.

შეკუმშული თანმიმდევრობის გაშიფვრა არის ჩაწერილი კოდების გაშიფვრა: თითოეული ჩანაწერი შეესაბამება ჯაჭვს ლექსიკონიდან და აშკარად დაწერილი ელემენტით, რის შემდეგაც ლექსიკონი გადადის. ლექსიკონი ხელახლა იქმნება დეკოდირების ალგორითმის გაშვებისას.

ეს ალგორითმი არის ალგორითმების მთელი ოჯახის წინაპარი. მის უპირატესობებში შედის შეკუმშვის ღირსეული ხარისხი საკმარისად დიდ თანმიმდევრობებზე და სწრაფი დეკომპრესია. ნაკლოვანებებს შორისაა შეკუმშვის ნელი სიჩქარე და შეკუმშვის დაბალი კოეფიციენტი, ვიდრე ალტერნატიული ალგორითმები.

LZW ალგორითმი. ლექსიკონი ამ ალგორითმში არის ცხრილი, რომელიც ივსება ელემენტების ჯაჭვებით ალგორითმის გაშვებისას. შეკუმშვის პროცესი ეძებს ლექსიკონში უკვე დაწერილ ყველაზე გრძელ სტრიქონს. ყოველ ჯერზე, როცა ლექსიკონში ელემენტების ახალი სტრიქონი არ მოიძებნება, ის ემატება ლექსიკონს და ჩაიწერება სტრიქონის კოდი. თეორიულად, არ არსებობს მაგიდის ზომაზე შეზღუდვა, მაგრამ ზომის ლიმიტი აუმჯობესებს შეკუმშვის კოეფიციენტს, რადგან გროვდება არასაჭირო (არ წარმოქმნილი) ჯაჭვები. რაც უფრო მეტი ჩანაწერი აქვს ცხრილს, მით მეტი ინფორმაციაა საჭირო შენახვის კოდებისთვის.

გაშიფვრა მოიცავს კოდების პირდაპირ გაშიფვრას, ანუ ლექსიკონის აგებას და შესაბამისი ჯაჭვების გამოტანას. ლექსიკონის ინიციალიზაცია ხდება ისე, როგორც კოდირში. ალგორითმის უპირატესობებში შედის შეკუმშვის მაღალი ხარისხი და საკმაოდ მაღალი სიჩქარე, როგორც შეკუმშვა, ასევე დეკოდირება.

ენტროპიის კოდირების ალგორითმები მიმდევრობის თითოეულ ელემენტს მიანიჭეთ კოდი ისე, რომ მისი სიგრძე შეესაბამებოდეს ელემენტის გაჩენის ალბათობას. შეკუმშვა ხდება ორიგინალური მიმდევრობის ელემენტების ჩანაცვლებით, რომლებსაც აქვთ იგივე სიგრძე (თითოეული ელემენტი იკავებს ბიტების ერთსა და იმავე რაოდენობას) სხვადასხვა სიგრძის ელემენტებით, ალბათობის უარყოფითი ლოგარითმის პროპორციულად, ანუ ელემენტებს, რომლებიც უფრო ხშირად გვხვდება, ვიდრე სხვებს აქვთ კოდი. უფრო მცირე სიგრძით.

ჰაფმანის ალგორითმი იყენებს ცვლადი სიგრძის პრეფიქსის კოდს, რომელსაც აქვს სპეციალური თვისება: მოკლე კოდები არ ემთხვევა უფრო გრძელის პრეფიქსს (საწყის ნაწილს). ასეთი კოდი იძლევა ერთი-ერთზე კოდირების საშუალებას. შეკუმშვის პროცესი შედგება შეყვანის თანმიმდევრობის თითოეული ელემენტის მისი კოდით ჩანაცვლებაში. კოდების ნაკრების აგება, როგორც წესი, ხორციელდება ე.წ კოდის ხეები.

ჰაფმანის ალგორითმი არის ორგადასასვლელი. სურათზე პირველი გავლა ქმნის ელემენტის წონების ცხრილს, ხოლო მეორე გავლის დროს ხდება კოდირება. არსებობს ფიქსირებული ცხრილის ალგორითმის დანერგვა. ხშირად ხდება, რომ ანბანის ელემენტების აპრიორული ალბათობის განაწილება უცნობია, რადგან მთელი თანმიმდევრობა ერთდროულად მიუწვდომელია, ხოლო ჰაფმანის ალგორითმის ადაპტური მოდიფიკაციები გამოიყენება.

დაკარგული გამოსახულების შეკუმშვა. სურათების შესანახად საჭირო ინფორმაციის რაოდენობა ჩვეულებრივ დიდია. კლასიკური ალგორითმები, როგორც ზოგადი დანიშნულების ალგორითმები, არ ითვალისწინებენ, რომ შეკუმშული ინფორმაცია არის გამოსახულება - ორგანზომილებიანი ობიექტი და არ იძლევა შეკუმშვის საკმარის ხარისხს.

დაკარგვის შეკუმშვა ემყარება გამოსახულების ადამიანის აღქმის მახასიათებლებს: ყველაზე დიდი მგრძნობელობა ფერის ტალღის სიგრძის გარკვეულ დიაპაზონში, გამოსახულების მთლიანობაში აღქმის უნარს, მცირე დამახინჯების შემჩნევის გარეშე. გამოსახულების ძირითადი კლასი, რომელზეც ფოკუსირებულია დაკარგვის შეკუმშვის ალგორითმები, არის ფოტოები, სურათები გლუვი ფერის გადასვლებით.

გამოსახულების დაკარგვის შეფასება. შეკუმშულიდან მათი აღდგენის (გაშიფვრის) შემდეგ გამოსახულებების დანაკარგების შესაფასებლად მრავალი ზომა არსებობს, თუმცა, ყველა მათგანისთვის შეიძლება შეირჩეს ორი სურათი ისე, რომ მათი განსხვავების ზომა იყოს საკმარისად დიდი, მაგრამ განსხვავებები თითქმის შეუმჩნეველი იქნება. თვალი. და პირიქით - შეგიძლიათ აიღოთ სურათები, რომლებიც ძლიერ განსხვავდებიან თვალით, მაგრამ აქვთ მცირე ზომის განსხვავება.

დანაკარგის სტანდარტული რიცხვითი საზომი, როგორც წესი, არის ორიგინალიდან რეკონსტრუირებული გამოსახულების პიქსელის მნიშვნელობების სტანდარტული გადახრა (RMS). თუმცა, ზარალის შეფასების ყველაზე მნიშვნელოვანი „ღონისძიება“ დამკვირვებლის აზრია. რაც უფრო ნაკლებ განსხვავებას (ან უკეთესად, მათ არარსებობას) აღმოაჩენს დამკვირვებელი, მით უფრო მაღალია შეკუმშვის ალგორითმის ხარისხი. Lossy შეკუმშვის ალგორითმები ხშირად საშუალებას აძლევს მომხმარებელს აირჩიოს "დაკარგული" მონაცემების რაოდენობა, ანუ არჩევანის უფლება შეკუმშული სურათის ხარისხსა და ზომას შორის. ბუნებრივია, რაც უკეთესია ვიზუალური ხარისხი მაღალი შეკუმშვის კოეფიციენტზე, მით უკეთესი იქნება ალგორითმი.

ფურიეს ტრანსფორმაცია. ზოგად შემთხვევაში, სურათი შეიძლება ჩაითვალოს ორი ცვლადის ფუნქციად, რომლებიც განსაზღვრულია საბოლოო რასტერის წერტილებში. ასეთი ფუნქციების სიმრავლე ფიქსირებული სასრული რასტერის წერტილებზე ქმნის სასრულ განზომილებიან ევკლიდეს სივრცეს და მათზე შეიძლება გამოყენებულ იქნას დისკრეტული ფურიეს ტრანსფორმაცია, ანუ გამოსახულების სპექტრული წარმოდგენა. Ის უზრუნველყოფს:

სპექტრის კოეფიციენტების არაკორელაცია და დამოუკიდებლობა, ანუ ერთი კოეფიციენტის წარმოდგენის სიზუსტე არ არის დამოკიდებული სხვაზე.

- ენერგიის დატკეპნა. ტრანსფორმაცია ინახავს ძირითად ინფორმაციას მცირე რაოდენობის კოეფიციენტებში. ეს თვისება ყველაზე მეტად გამოხატულია ფოტორეალისტურ სურათებში.

სპექტრული წარმოდგენის კოეფიციენტები არის გამოსახულების სივრცითი სიხშირეების ამპლიტუდები. გლუვი გადასვლების მქონე სურათების შემთხვევაში, ინფორმაციის უმეტესი ნაწილი დაბალი სიხშირის სპექტრშია.

JPEG ფორმატში გამოყენებული შეკუმშვის ალგორითმი ეფუძნება დისკრეტულ კოსინუს ფურიეს ტრანსფორმაციას. ალგორითმში შეკუმშვის სქემა არის მილსადენი, სადაც ეს ტრანსფორმაცია მხოლოდ ერთ-ერთი ეტაპია, მაგრამ ერთ-ერთი მთავარი. ალგორითმი შეიცავს შემდეგ ძირითად ოპერაციებს:

1. გადაიტანეთ YCbCr ფერთა სივრცეში. აქ Y არის ლუმა კომპონენტი, Cb და Cr არის ქრომინანტობის კომპონენტები. ადამიანის თვალი უფრო მგრძნობიარეა სიკაშკაშის მიმართ, ვიდრე ფერის. ამიტომ, Y-ის გადაცემისას უფრო მნიშვნელოვანია მეტი სიზუსტის შენარჩუნება, ვიდრე Cb და Cr-ის გადაცემისას.

2. დისკრეტული კოსინუს ტრანსფორმაცია (DCT). სურათი დაყოფილია 8 × 8 ბლოკად. თითოეულ ბლოკზე გამოიყენება დისკრეტული კოსინუსური ტრანსფორმაცია (ცალკე Y, Cb და Cr კომპონენტებისთვის).

3. მაღალი სიხშირის კომპონენტების შემცირება DCT მატრიცებში. ადამიანის თვალი თითქმის არ ამჩნევს ცვლილებებს მაღალი სიხშირის კომპონენტებში, შესაბამისად, მაღალი სიხშირეზე პასუხისმგებელი კოეფიციენტების შენახვა შესაძლებელია ნაკლები სიზუსტით.

4. მატრიცების ზიგზაგური დალაგება. ეს არის სპეციალური მატრიცული საშვი ერთგანზომილებიანი მიმდევრობის მისაღებად. ჯერ მოდის ელემენტი T00, შემდეგ T01, T10, T1. უფრო მეტიც, ტიპიური ფოტორეალისტური სურათებისთვის ჯერ იქნება დაბალი სიხშირის კომპონენტების შესაბამისი არანულოვანი კოეფიციენტები, შემდეგ კი ბევრი ნული (მაღალი სიხშირის კომპონენტები).

5. შეკუმშვა ჯერ RLE მეთოდით, შემდეგ კი ჰაფმანის მეთოდით.

გამოსახულების აღდგენის ალგორითმი მუშაობს საპირისპირო მიზნით. შეკუმშვის კოეფიციენტი არის 5-დან 100-მდე ან მეტჯერ. ამავდროულად, უმეტესი ფოტორეალისტური სურათების ვიზუალური ხარისხი რჩება კარგ დონეზე 15-ჯერ შეკუმშვისას. ალგორითმი და ფორმატი ყველაზე გავრცელებულია სრული ფერადი სურათების გადასატანად და შესანახად.

ვეილეტის ტრანსფორმაცია სიგნალები არის კლასიკური ფურიეს ტრანსფორმაციის განზოგადება. ინგლისურიდან თარგმნილი ტერმინი "wavelet" (wavelet) ნიშნავს "პატარა (მოკლე) ტალღას". ტალღები არის განზოგადებული სახელწოდება გარკვეული ფორმის მათემატიკური ფუნქციების ოჯახებისთვის, რომლებიც ლოკალურია დროით და სიხშირით, და რომლებშიც ყველა ფუნქცია მიიღება ერთი ბაზის ფუნქციიდან დროის ღერძის გასწვრივ მისი გადაადგილებით და გაფართოებით.

დაკარგვის შეკუმშვის ალგორითმებში, როგორც წესი, შეკუმშვის მილსადენის ყველა ოპერაცია შენარჩუნებულია დისკრეტული ფურიეს ტრანსფორმაციის დისკრეტული ტალღოვანი ტრანსფორმაციის ჩანაცვლებით. Wavelet გარდაქმნებს აქვთ ძალიან კარგი სიხშირე-სივრცითი ლოკალიზაცია და აღემატება ტრადიციულ ფურიეს გარდაქმნებს ამ ინდიკატორში. ამ შემთხვევაში შესაძლებელი ხდება უფრო ძლიერი კვანტიზაციის გამოყენება, რაც აუმჯობესებს მიმდევრობის თვისებებს შემდგომი შეკუმშვისთვის. ამ ტრანსფორმაციაზე დაფუძნებული გამოსახულების შეკუმშვის ალგორითმები, იგივე შეკუმშვის კოეფიციენტით, უკეთეს შედეგებს აჩვენებს სურათის ხარისხის შენარჩუნებაში.

ლიტერატურა

46. ​​და სხვ. სწრაფი ალგორითმები ციფრული გამოსახულების დამუშავებაში. - მ.: რადიო და კომუნიკაცია, 1984. - 224გვ.

47. სოიფერის გამოსახულების დამუშავება. ნაწილი 2. მეთოდები და ალგორითმები. - სოროსის სასწავლო ჟურნალი No3, 1996 წ.

48. ხრტილოვანი ხმაური გამოსახულებებიდან არაწრფივი ალგორითმების საფუძველზე რანგის სტატისტიკის გამოყენებით. - იაროსლავის სახელმწიფო უნივერსიტეტი, 2007 წ.

49. ანდრეევის სატელევიზიო თვალთვალის სისტემები. ნაწილი II. არითმეტიკა - ლოგიკური საფუძვლები და ალგორითმები. სახელმძღვანელო. - სანკტ-პეტერბურგი: პეტერბურგი, GUITMO, 2005. - 88წ.

51. შესავალი ციფრული სიგნალის დამუშავებაში (მათემატიკური საფუძვლები) - მ.: მოსკოვის სახელმწიფო უნივერსიტეტი, კომპიუტერული გრაფიკისა და მულტიმედიის ლაბორატორია, 2002. - http://pv. *****/dsp/dspcourse. pdf, http://dsp-book. *****/dspcourse. djvu, http://geogin. *****/archiv/dsp/dsp4.pdf.

1ი. და რასტრული გრაფიკის სხვა ალგორითმული საფუძვლები. – საინფორმაციო ტექნოლოგიების ინტერნეტ უნივერსიტეტი. - http://www. *****/goto/course/rastergraph/

2ი. ლუკინ-ელექტრონული სისტემები: ლექციის შენიშვნები. ITMO, 2004. - სანკტ-პეტერბურგი, ITMO IFF, 2004. - http://iff. *****/kons/oes/KL. htm

შენიშნა შეცდომებისა და დამატებების შემოთავაზებების შესახებ: *****@***ru.

საავტორო უფლება©2008დავიდოვიმაგრამ..

ლაბორატორია #1

გამოსახულების დამუშავების ალგორითმები

კონვოლუციის ოპერაცია

Convolution არის ძალიან ფართო ალგორითმი, რომელიც შეიძლება გამოყენებულ იქნას როგორც გამოსახულების წინასწარი დამუშავებისთვის, ასევე ობიექტების ამოცნობისა და იდენტიფიკაციისთვის. მოდით გამოსახულება მიეცეს ორგანზომილებიანი სიკაშკაშის მატრიცით " და იმპულსური პასუხის მატრიცა . მატრიცის მათემატიკური კონვოლუცია ბირთვით შეიძლება განისაზღვროს შემდეგი ფორმულით:

სადაც M2xN2 - კონვოლუციური ბირთვის მატრიცის ზომა. მატრიცის ზომა უდრის (M1+M2-1)x(N1+N2-1), სადაც M1xN1 - ორიგინალური მატრიცის ზომა " . მატრიცა მიიღება ორიგინალიდან მატრიცის კიდეებზე ელემენტების დამატებით რაიმე წესის მიხედვით, რათა ის საჭირო ზომამდე მიიყვანოთ. ჩვეულებრივ, თავდაპირველი მატრიცა ჩასმულია ნულებით კიდეებზე მატრიცის სიგანის ნახევარზე. მარცხენა და მარჯვენა და, შესაბამისად, ნახევარი სიმაღლე ზემოთ და იგივე ქვემოთ. შემდეგ მიღებული მატრიცის ზომა იგივე იქნება, რაც მატრიცა " .

კონვოლუცია შეიძლება გამოითვალოს პირდაპირ ერთი მატრიცის მეორეზე "გაშვებით", როგორც უკვე ნაჩვენებია ზემოთ. ნახ. 1 გვიჩვენებს კონვოლუციის გამოთვლის სქემას (ნიღბის მატრიცის ზომა აღებულია 3x3-ის ტოლი). კონვოლუციის ოპერატორი შეიძლება განიხილებოდეს, როგორც კოეფიციენტების მატრიცა (ნიღბები), რომლებიც მრავლდება ელემენტზე ელემენტზე არჩეულ სურათის ფრაგმენტთან, რასაც მოჰყვება შეჯამება გაფილტრული სურათის ელემენტის ახალი მნიშვნელობის მისაღებად. ეს მატრიცა შეიძლება იყოს თვითნებური ზომის, არა აუცილებლად კვადრატული.

ბრინჯი. 1. კონვოლუციის ოპერაციის განხორციელება.

ვარჯიში

    განახორციელეთ ალგორითმი, რომელიც ასრულებს ორიგინალური გამოსახულების კონვოლუციის ოპერაციას მატრიცა-ნიღბით.

    მატრიცა-ნიღბის ზომას და ტიპს ადგენს მომხმარებელი.

    გამოიყენეთ შემდეგი ნიღბის მატრიცები გამოსახულების დამუშავების სხვადასხვა ალგორითმების განსახორციელებლად:

    • გამოსახულების ხმაურის დასათრგუნად და ჩასახშობად გამოიყენება შემდეგი ფორმის 3x3 მატრიცის ნიღაბი:

    კონტურების ხაზგასასმელად გამოიყენება შემდეგი ფორმის მატრიც-ნიღბები:

1/9*

    შემდეგი ფორმის ნიღაბი გამოიყენება კონტურების შესარჩევად:

4. დანერგეთ მედიანური ფილტრი, რომელიც გამოიყენება წერტილის და იმპულსური ხმაურის ჩასახშობად. გამოსახულების პიქსელი და მისი მეზობლები განსახილველ ზონაში განლაგებულია ვარიაციულ სერიაში (პიქსელის აღმავალი ან დაღმავალი მნიშვნელობებით) და ამ ვარიაციული სერიის ცენტრალური მნიშვნელობა არჩეულია პიქსელის ახალ მნიშვნელობად. საშუალო ფილტრაციის შედეგია ის, რომ სურათში შემავალი ნებისმიერი შემთხვევითი ხმაური ეფექტურად აღმოიფხვრება. ეს იმიტომ ხდება, რომ განხილულ რეგიონში პიქსელის ინტენსივობის ნებისმიერი შემთხვევითი მკვეთრი ცვლილება დალაგდება, ე.ი. ის განთავსდება ამ რეგიონში დახარისხებული მნიშვნელობების ზედა ან ქვედა ნაწილში და არ ჩაითვლება, რადგან ცენტრალური მნიშვნელობა ყოველთვის შეირჩევა ახალი ელემენტის მნიშვნელობისთვის.

5. განახორციელეთ ჭედური ალგორითმი. ჭედურობა კეთდება საშუალოდ ან კიდეების გაუმჯობესების ალგორითმების ანალოგიურად. გამოსახულებაში თითოეული პიქსელი დამუშავებულია 3x3 ჭედური ბირთვით (მატრიცა-ნიღაბი). მაგალითად, როგორც ჭედური ბირთვი, შეგიძლიათ აიღოთ შემდეგი ნიღბის მატრიცა:

ჭედური ძრავის მიერ პიქსელის მნიშვნელობის დამუშავების შემდეგ მას ემატება 128. ამრიგად, ფონის პიქსელების მნიშვნელობა გახდება საშუალო ნაცრისფერი ფერი (წითელი = 128, მწვანე = 128, ლურჯი = 128). 255-ზე მეტი თანხები შეიძლება დამრგვალდეს 255-მდე.

გამოსახულების ჭედურ ​​ვერსიაში, კონტურები, როგორც ჩანს, ზედაპირის ზემოთ არის ამოწურული. გამოსახულების ხაზგასმის მიმართულება შეიძლება შეიცვალოს ბირთვში 1 და -1 პოზიციების შეცვლით. თუ, მაგალითად, 1 და -1 მნიშვნელობები იცვლება, მაშინ უკანა განათების მიმართულება იცვლება.

6. გამოსახულების აკვარელი. აკვარელის ფილტრი გარდაქმნის სურათს და დამუშავების შემდეგ აკვარელში დაწერილი ჩანს:

    აკვარელის ფილტრის გამოყენების პირველი ნაბიჯი არის გამოსახულების ფერების გლუვი. გლუვის ერთ-ერთი გზა არის საშუალო ფერის გამოყენება თითოეულ წერტილში. თითოეული პიქსელის და მისი 24 მეზობლის ფერის მნიშვნელობა (მატრიცა-ნიღაბის ზომაა 5x5) დალაგებულია ვარიაციული სერიების მიხედვით კლებადობით ან აღმავალობით. მედიანური (მეცამეტე) ფერის მნიშვნელობა ვარიაციის სერიაში ენიჭება ცენტრალურ პიქსელს.

    ფერების შერბილების შემდეგ, თქვენ უნდა გამოიყენოთ კიდეების გამაძლიერებელი ფილტრი, რათა ხაზგასმით აღვნიშნოთ ფერების გადასვლების საზღვრები.

გამოსახულების წარმოდგენა

გამოსახულების წარმოდგენის ორი ძირითადი ტიპი არსებობს - ვექტორული და რასტრული.

ვექტორულ წარმოდგენაში გამოსახულება აღწერილია ხაზების (ვექტორების) კომპლექტით, რომლებიც შეიცავს საწყისი და ბოლო წერტილების კოორდინატებს, ხაზების გამრუდებას და სხვა გეომეტრიულ მახასიათებლებს; სხვადასხვა რეგიონების აგების წესები და ფერის მახასიათებლებია. ასევე აღწერილი. სხვა სიტყვებით რომ ვთქვათ, რასტრული წარმოდგენა მოითხოვს რაიმე მათემატიკური მოდელის ფორმირებას. ამიტომ ვექტორული წარმოდგენა ძირითადად გამოიყენება გამოსახულების სინთეზის ამოცანების გადაჭრისას. მიუხედავად იმისა, რომ ზოგიერთი გამოსახულების ამოცნობის ალგორითმი მოითხოვს ვექტორულ წარმოდგენას მათი სამუშაოსთვის, რომელიც უნდა იყოს მიღებული ორიგინალური სურათიდან.

რასტრული გამოსახულება არის ერთი ან მეტი მატრიცა, რომელიც აღწერს გამოსახულების მახასიათებლების სივრცულ განაწილებას გარკვეულ დეკარტის კოორდინატთა ბადეზე. ამ შემთხვევაში, გამოსახულება აგებულია წერტილების ნაკრებიდან და აქვს რასტრული სტრუქტურა. გამოსახულების რასტრული წარმოდგენის მთავარი ელემენტია პიქსელი (მოკლე ფრაზა „სურათის ელემენტები“), რომელსაც აქვს კოორდინატები რასტრულ კოორდინატთა სისტემაში და ზოგიერთი ატრიბუტი (ფერი, სიკაშკაშე, გამჭვირვალობა და ა.შ.). პიქსელების რაოდენობა X და Y კოორდინატების გასწვრივ (ჰორიზონტალურად და ვერტიკალურად) ადგენს გამოსახულების რეზოლუციას (განზომილებას). პიქსელის ფერი მოცემულია მისი სიღრმით, რაც არის ბიტების რაოდენობა, რომელიც საჭიროა ნებისმიერი ფერის დასაზუსტებლად.

რასტერული სურათები, პიქსელის ფერის დაყენების მეთოდებისა და ორიგინალური გამოსახულების თვისებების მიხედვით, იყოფა:

ორობითი

ნახევარტონა

პალიტრა

სრული ფერი

ბინარულ წარმოდგენაში, პიქსელის ფერი შეიძლება იყოს თეთრი ან შავი და დაშიფრულია ერთ ბიტში. სურათი არის მატრიცა. ამ მატრიცის I (i, j) თითოეულ ელემენტს აქვს მნიშვნელობა 0 ან 1, სადაც i არის მწკრივის ნომერი და არის ელემენტის j სვეტის ნომერი, რომელიც შეესაბამება მოცემულ პიქსელს (ნახ. 1).

ნაცრისფერი მასშტაბის სურათებში, პიქსელები წარმოადგენს სიკაშკაშის მნიშვნელობებს, რომლებიც შეესაბამება ნაცრისფერ ფერებს. მატრიცული ინდექსები, რომლებიც აღწერს ნახევარტონურ სურათს, განსაზღვრავს პიქსელის პოზიციას რასტერზე და მატრიცის ელემენტის მნიშვნელობას.

- ადგენს მის სიკაშკაშეს I (i, j) (ნახ. 2).

პალიტრის სურათები აღწერილია ორი მატრიცით (ნახ. 3). ერთი ინახავს ინდექსების მნიშვნელობებს, რომლებიც განსაზღვრავს წვდომას პალიტრის მატრიცის მწკრივზე. პალიტრის მატრიცა არის ფერადი რუკა. იგი შეიცავს სვეტების 3 ჯგუფს - წითელი "R", მწვანე "G" და ლურჯი "B" ფერების შესაბამისი. ისინი ადგენენ შესაბამისი პიქსელის ფერს.

პალიტრა არის Nc 3 მატრიცა, სადაც Nc არის ფერების რაოდენობა.

გამოსახულების წინასწარი დამუშავების ალგორითმები

სრული ფერადი სურათები აგებულია RGB ფორმატში და წარმოადგენს სამ მატრიცას R (i , j ), G (i , j ), B (i , j ) . თითოეული მატრიცის შესაბამისი ელემენტები შეიცავს წითელი, მწვანე და ლურჯი ფერების ინტენსივობას პიქსელისთვის, რომელიც მითითებულია მატრიცის ინდექსებით. ამრიგად, სრულფეროვან სურათს არ აქვს ფერადი რუკა და თითოეული პიქსელის ფერი წარმოდგენილია შესაბამისი მატრიცებიდან აღებული სამი რიცხვით (ნახ. 4).

მატრიცებში რიცხვების ფორმატი შეიძლება იყოს მთელი რიცხვი ან მცურავი წერტილი. პირველი შემთხვევა ეხება ე.წ. სწორედ ამ ფორმატში ინახება სურათების შესახებ ინფორმაცია სტანდარტულ გრაფიკულ ფაილებში.

მეორე ვარიანტი გამოიყენება სურათების შიდა წარმოდგენისთვის მათი დამუშავების დროს. ამ შემთხვევაში, მოსახერხებელია ინტენსივობის მონაცემების ნორმალიზება ერთ დიაპაზონში, მაგალითად, დიაპაზონში და შეასრულოთ სხვადასხვა გამოთვლები მცურავი რიცხვებით, შემდეგ კი შედეგი გადაიყვანოთ თავდაპირველ მთლიან ფორმაში. ეს მეთოდი საშუალებას გაძლევთ შეამციროთ გაანგარიშების შეცდომები და გააუმჯობესოთ დამუშავების შედეგის სიზუსტე.

სრული ფერადი სურათებისთვის, ერთ-ერთი ვარიანტია ფერების მაქსიმალური რაოდენობა, რომელიც შეიძლება იყოს წარმოდგენილი ამ ფორმატში. ყველაზე ხშირად გამოყენებული სურათები აქვს 16, 256, 65536 (მაღალი ფერი) და 10,7 მილიონი (ნამდვილი ფერი).

გამოსახულების წინასწარი დამუშავების ალგორითმები

0 0 0 0 1 1 1 0 0

120 122 125 128 115 117 118

1 0 0 0 1 1 1 1 0

119 121 124 125 128 130 133

1 1 0 0 1 1 0 0 1

122 122 124 123 127 126 128

120 121 123 125 127 125 126

1 1 1 0 1 1 0 0 0

118 110 109 108 108 109 110

0 0 1 0 0 1 0 0 1

გამოსახულების წინასწარი დამუშავების ალგორითმები

ინდექსის მატრიცა

31 15 03 09

პალიტრის მატრიცა

გამოსახულების წინასწარი დამუშავების ალგორითმები

სრული ფერადი სურათი შეიძლება იყოს წარმოდგენილი არა მხოლოდ RGB ფორმატში, არამედ სხვა ფერის სისტემების გამოყენებით.

HSB სისტემაში ფერი წარმოდგენილია შემდეგი ფერის მახასიათებლებით: Hue - ფერის ტონი;

სატურაცია - გაჯერება; სიკაშკაშე - სიკაშკაშე.

ითვლება, რომ ეს ფერის სისტემა შეესაბამება ადამიანის ფერის აღქმის თავისებურებებს.

LAB სისტემაში ფერი განიხილება, როგორც სიკაშკაშის (სიმსუბუქის) და ორი დამოუკიდებელი ქრომინანტური მნიშვნელობის კომბინაცია, რომელიც განსაზღვრავს პიქსელის ნამდვილ ფერს. ქრომატულობა A - ფერის კომპონენტი შეირჩევა მაჯენტიდან მწვანემდე დიაპაზონში. ქრომატულობა B - მეორე ფერის კომპონენტი შეირჩევა დიაპაზონიდან ყვითელიდან ლურჯამდე.

არსებობს ფერების წარმოდგენის სხვა სისტემები. ბუნებრივია, ისინი ყველა დაკავშირებულია და ერთი წარმოდგენიდან მეორეს მიღება შესაძლებელია. ფერადი სისტემების მრავალფეროვნება განპირობებულია მათი დახმარებით გადაწყვეტილი ამოცანებით. მაგალითად, უფრო მოსახერხებელია ფერის კორექციის ჩატარება LAB სისტემაში, სურათის რეპროდუცირება მონიტორის ეკრანზე RGB სისტემაში, უმჯობესია დაბეჭდვა,

გამოსახულების წინასწარი დამუშავების ალგორითმები

CMYK წარმოდგენის გამოყენებით. თუმცა, ნებისმიერ შემთხვევაში, სურათების დამუშავებისას და მათი ამოცნობისას, ისინი მუშაობენ გამოსახულების რასტრული წარმოდგენით, რომლებიც შეიცავს ერთ ან მეტ მატრიცას.

წინასწარი დამუშავების ალგორითმების კლასიფიკაცია

გამოსახულების წინასწარი დამუშავების ალგორითმები იყოფა სხვადასხვა ჯგუფად, რაც დამოკიდებულია კლასიფიკაციის მახასიათებლებზე. წინასწარი დამუშავების ყველა ალგორითმი ან უნდა გააუმჯობესოს გამოსახულების ხარისხი გარკვეული გაგებით, ან გადაიყვანოს ის ფორმაში, რომელიც ყველაზე მოსახერხებელია შემდგომი დამუშავებისთვის.

ალგორითმებს, რომლებიც მიზნად ისახავს გამოსახულების ფერის რეპროდუქციის გაუმჯობესებას, ეწოდება ფერის კორექციის ალგორითმები. ამ ჯგუფში ასევე შედის ალგორითმები, რომლებიც მუშაობენ ნაცრისფერი მასშტაბის სურათებთან, რომლებიც ცვლის მათ სიკაშკაშეს და კონტრასტის მახასიათებლებს.

ალგორითმები, რომლებიც მიმართულია სურათების სივრცითი მახასიათებლების დამუშავებაზე, ეწოდება ალგორითმები სივრცითი ფილტრაცია.ამ ჯგუფში შედის ხმაურის ჩახშობის ალგორითმები, სივრცის დაგლუვების ალგორითმები და სივრცის გაძლიერების ალგორითმები, სივრცითი სიხშირეების ჩახშობისა და გაძლიერების ალგორითმები.

ალგორითმები, რომლებიც ასრულებენ გეომეტრიულ მოქმედებებს სურათზე, ეწოდება გეომეტრიული დამუშავების ალგორითმები. Ესენი მოიცავს:

გამოსახულების წინასწარი დამუშავების ალგორითმები

გამოსახულების ამოჭრა - ორიგინალური გამოსახულების მართკუთხა ფორმის გარკვეული ნაწილის შერჩევა;

სურათის ზომის შეცვლა. ეს ალგორითმები იყენებენ ინტერპოლაციის სხვადასხვა მეთოდს, რათა სწორად შეავსონ გამოტოვებული პიქსელები გაფართოებულ სურათში, ან გადათვალონ პიქსელის მნიშვნელობები, როდესაც სურათი შემცირებულია.

გამოსახულების როტაცია. ეს ალგორითმები ატრიალებენ თავდაპირველ სურათს მოცემული კუთხით, სწორად ითვლის პიქსელების მნიშვნელობებს სხვადასხვა ინტერპოლაციის მეთოდების გამოყენებით.

ალგორითმები, რომლებიც ასრულებენ ტრანსფორმაციას ერთი ფერის სისტემიდან მეორეში, ეწოდება ფერის კონვერტაციის ალგორითმები. ისინი ასევე მოიცავს ალგორითმებს ფერადი სურათების ნაცრისფერში გადასაყვანად და ბინარიზაციის ალგორითმებს, რომლებიც ორიგინალურ სურათს ორობითად გარდაქმნის.

ალგორითმები, რომლებიც ირჩევენ ორიგინალ სურათზე ზოგიერთ უბანს სხვადასხვა, ხშირად არაფორმალური პირობების მიხედვით, სეგმენტაციის ალგორითმები ეწოდება. ასეთი ალგორითმის მაგალითი შეიძლება იყოს, მაგალითად, ალგორითმი, რომელიც ხაზს უსვამს ტექსტისა და გრაფიკული ინფორმაციის სფეროებს დოკუმენტის სურათზე, ან ალგორითმი, რომელიც ირჩევს ტექსტურ სურათში ცალკეულ სიტყვებს.

გამოსახულების წინასწარი დამუშავების ალგორითმები

სივრცითი ფილტრაციის ალგორითმები

სურათის სივრცითი ფილტრაცია მათემატიკური ფორმით არის დისკრეტული გამოსახულების დისკრეტული კონვოლუცია სივრცითი ფილტრის გარკვეული იმპულსური პასუხით.

თუ (i, j)

Im(i m, jn)h (m, n), სადაც:

m N11 n N21

Im, თუ ორიგინალური და გაფილტრული სურათების მატრიცაა, h არის ფილტრის იმპულსური პასუხის მატრიცა,

N 11, N 21 იმპულსური პასუხის სვეტების ქვედა და ზედა საზღვრები, N 12, N 22 იმპულსური რეაგირების რიგების მარცხენა და მარჯვენა საზღვრები.

იმპულსური პასუხის მატრიცის მიღება შესაძლებელია მოცემული პარამეტრების მიხედვით სივრცითი ფილტრის გამოთვლით. ციფრული ფილტრაციის შესახებ დიდი რაოდენობით ლიტერატურა ეთმობა სივრცითი ფილტრების გამოთვლის მეთოდებს, მაგალითად. პრაქტიკული გამოთვლებისთვის შეგიძლიათ გამოიყენოთ სტანდარტული მათემატიკური პაკეტები, მაგალითად, "MATLAB" სისტემა მოიცავს "Image Filter Design" ფილტრის გამოთვლის სისტემას.

გაითვალისწინეთ, რომ ფილტრაცია ასევე შეიძლება განხორციელდეს სიხშირის დომენში. Იმაში

გამოსახულების წინასწარი დამუშავების ალგორითმები

ამ შემთხვევაში, ფილტრაციის თანმიმდევრობა შემდეგია:

გადაიყვანეთ სურათი სივრცულიდან სიხშირის დომენში 2D დისკრეტული ფურიეს ტრანსფორმაციის გამოყენებით

შეასრულეთ გამოსახულების სიხშირის მატრიცის ელემენტარული გამრავლება ფილტრის სიხშირის მატრიცით

მიღებული შედეგი გარდაიქმნება სივრცულ დომენად ინვერსიული ორგანზომილებიანი დისკრეტული ფურიეს ტრანსფორმაციის გამოყენებით.

მე (x, y)

მე (f x, f y)

თუ (f x , f y ) Im (f x , f y ) H (f x , f y )

თუ (fx, f y)

თუ (x, y).

სიხშირის დომენში სურათების გაფილტვრა იშვიათად გამოიყენება გამოთვლების დიდი რაოდენობის გამო. თუმცა, ეს ფილტრაციის მეთოდი ფართოდ გამოიყენება თეორიულ გამოთვლებში გამოსახულების დამუშავების ვარიანტების ანალიზში. ეს საშუალებას გაძლევთ საკმაოდ ნათლად წარმოიდგინოთ რა სახის ფილტრაციაა საჭირო. მაგალითად, თუ თქვენ გჭირდებათ გამოსახულების სიკაშკაშის მკვეთრი ცვლილებების ხაზგასმა, მაშინ აშკარაა, რომ თქვენ უნდა გამოიყენოთ მაღალი გამტარი ფილტრები. პირიქით, თუ საჭიროა დაბალი სიხშირის ხმაურის მოშორება - კანკალის სქემები, ინდივიდუალური მწვერვალები და ა.შ., მაშინ უნდა გამოიყენოთ დაბალი გამტარი ფილტრები. ფილტრის სპეციფიკური პარამეტრები შეირჩევა ჩარევის სიხშირის ანალიზისა და ორიგინალური გამოსახულების თვისებების საფუძველზე.