рдПрдордЧреВ рд╕реАрд╡реА рдХреЗ рд╕рд╛рде рддрд╛рд░реЛрдВ рд╡рд╛рд▓реЗ рдЖрдХрд╛рд╢ рдХреА рд╢реВрдЯрд┐рдВрдЧ

рдЫрд╡рд┐

рд╢реБрдн рджрд┐рди, рд╣реИрдмреНрд░ред

рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реБрдЖ рдХрд┐ рдореИрдВ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдлреЛрдЯреЛрдЧреНрд░рд╛рдлреА рдФрд░ рдЦрдЧреЛрд▓ рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реВрдВред рдореБрдЭреЗ рддрд╛рд░реЛрдВ рднрд░реЗ рдЖрдХрд╛рд╢ рдХреА рд╢реВрдЯрд┐рдВрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рд╣реИред рдЪреВрдВрдХрд┐ рд░рд╛рдд рдореЗрдВ рдмрд╣реБрдд рдХрдо рд░реЛрд╢рдиреА рд╣реЛрддреА рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рд╕реБрдВрджрд░ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдПрдХреНрд╕рдкреЛрдЬрд╝рд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИ - рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдкреГрдереНрд╡реА рдШреВрдорддреА рд╣реИ, рдЖрдХрд╛рд╢ рдореЗрдВ рддрд╛рд░реЗ рдЪрд▓рддреЗ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд▓рдВрдмреЗ рдПрдХреНрд╕рдкреЛрдЬрд╝рд░ рдХреЗ рд╕рд╛рде, рддрд╛рд░реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдЪрд╛рдк рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдЖрдВрджреЛрд▓рди рдХреЗ рд▓рд┐рдП рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдм рдЧрд╣рд░реЗ рдЖрдХрд╛рд╢ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреА рддрд╕реНрд╡реАрд░реЗрдВ рдЦреАрдВрдЪрдирд╛ / рдЕрд╡рд▓реЛрдХрди рдХрд░рдирд╛, рд╡рд╣рд╛рдБ рдЙрдкрдХрд░рдг - рдорд╛рдЙрдВрдЯ рд╣реИрдВ ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рд╕рдордп рдорд╛рдЙрдВрдЯ рдЦрд░реАрджрдиреЗ рдХрд╛ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЦреБрдж рд╕реЗ рдПрдХ рд╕рд╡рд╛рд▓ рдкреВрдЫрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ - рдХреНрдпрд╛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдПрдХ рд╕рдорд╛рди рдкреНрд░рднрд╛рд╡ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

рдХрдЯ рдХреЗ рддрд╣рдд рдмрд╣реБрдд рд╕рд╛рд░реА рддрд╕реНрд╡реАрд░реЗрдВред рдкреЛрд╕реНрдЯ рдХреА рд╕рднреА рддрд╕реНрд╡реАрд░реЗрдВ рдореЗрд░реА рд╣реИрдВ, (рд▓рдЧрднрдЧ рд╕рднреА) рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдФрд░ рдлреНрд░реА-рдЯреВ-рдбрд╛рдЙрдирд▓реЛрдб рд╣реИрдВред

рдкрд░рд┐рдЪрдп


рд╢реВрдЯрд┐рдВрдЧ рд╕рд┐рддрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ: рд╡реЗ рдЪрд▓рддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдВрджреЛрд▓рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЧреЛрдЪрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╢рдЯрд░ рдЧрддрд┐ (20 тАЭ+) рдкрд░ рднреА рддрд╛рд░реЗ рдЕрдм рдЕрдВрдХ рдирд╣реАрдВ рдмрдирддреЗ рд╣реИрдВ - рдЫреЛрдЯреЗ рдЪрд╛рдк рджрд┐рдЦрд╛рдИ рдкрдбрд╝рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╡реЗ рдЖрдХрд╛рд╢ рд╕реЗ рдЦреАрдВрдЪрддреЗ рд╣реИрдВред

рдЫрд╡рд┐
рдПрдХреНрд╕рдкреЛрдЬрд░ ~ 15 "

рдЫрд╡рд┐
рдПрдХреНрд╕рдкреЛрдЬрд░ ~ 20 '

рд╕рд┐рджреНрдзрд╛рдВрдд


рдкреГрдереНрд╡реА рдЕрдкрдиреА рдзреБрд░реА рдкрд░ рдШреВрдорддреА рд╣реИред рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рджреВрд░ рдХреЗ рддрд╛рд░реЗ, рдпрд╣ рдЕрд╡рдзрд┐ 86164.090530833 рд╕реЗрдХрдВрдб рд╣реИ ред
рддрджрдиреБрд╕рд╛рд░, рд╢рдЯрд░ рдЧрддрд┐ рдХреЛ рдЬрд╛рдирдиреЗ рд╕реЗ рдЖрдк рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреЗрдВрджреНрд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХрд┐рддрдиреЗ рдбрд┐рдЧреНрд░реА рдлреНрд░реЗрдо рдореЗрдВ рд╕рднреА рддрд╛рд░реЛрдВ рдХреЛ рдШреБрдорд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдЗрд╕ рдореВрд▓реНрдп рдХреЗ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ рдкреВрд░реЗ рдлреНрд░реЗрдо рдХреЛ рдШреБрдорд╛рдХрд░ рдЗрд╕ рдШреБрдорд╛рд╡ рдХреА рднрд░рдкрд╛рдИ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рддрд╛рд░реЛрдВ рдХреЛ рдЬрдЧрд╣ рдореЗрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдПрдХ рдРрд╕рд╛ рдХреЗрдВрджреНрд░ рдЦреЛрдЬрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдЬрд┐рд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд╕рдм рдХреБрдЫ рдШреВрдорддрд╛ рд╣реИ, рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рдзреНрд░реБрд╡реАрдп рддрд╛рд░рд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ - рдкреГрдереНрд╡реА рдХреЗ рд░реЛрдЯреЗрд╢рди рдХреА рдзреБрд░реА рдЗрд╕рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╕реЗ рдЧреБрдЬрд░рддреА рд╣реИред

рдЫрд╡рд┐
рдЖрдХрд╛рд╢реАрдп рдзреНрд░реБрд╡ - рдПрдХ рд╣реА рдзреБрд░реАред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди



рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ .NET рдХреЗ рд▓рд┐рдП Emgu CV - рдЖрд╡рд░рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп OpenCV рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рдореИрдВ рдкреВрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ - рдореИрдВ рдХреЗрд╡рд▓ рдореВрд▓ рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред

рдпрджрд┐ рдлрд╝реЛрдЯреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдУрд╡рд░рд▓реИрдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝реЛрдЯреЛрд╢реЙрдк рдореЗрдВ рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдмреНрд▓реЗрдВрдбрд┐рдВрдЧ рдореЛрдб: рд▓рд╛рдЗрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛ред рдЗрд╕рдХрд╛ рд╕рд╛рд░ рджреЛ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдпрд╣ рдПрдХ рд╣реИ, рдЙрдЪреНрдЪрддрдо рдЪрдордХ рдХреЗ рд╕рд╛рде рдкрд┐рдХреНрд╕реЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рджреЛ рд╕реНрд░реЛрдд рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рджреЛ рдкрд┐рдХреНрд╕реЗрд▓ рд╣реИрдВ, рддреЛ рдЬреЛ рдкрд┐рдХреНрд╕реЗрд▓ рдЙрдЬреНрдЬрд╡рд▓ рд╣реИ рд╡рд╣ рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ рдореЗрдВ рд╣реЛрдЧрд╛ред

рдПрдореБрдЧ рд╕реАрд╡реА рдореЗрдВ, рдпрд╣ рд╡рд┐рдзрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд╛рдЧреВ рд╣реИред

public Image<TColor, TDepth> Max( Image<TColor, TDepth> img2 ) 


рдореЛрдб 1: рд░реЛрдЯреЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдЫрд╡рд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдирд╛

рдпрд╣рд╛рдБ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ - рдмрд╕ рдмрд╛рд░реА-рдмрд╛рд░реА рд╕реЗ рд╕реВрдЪреА рдХреЗ рд╕рднреА рдлрд╝реЛрдЯреЛ рдХреЛ рдПрдХ рдХреЗ рдКрдкрд░ рдПрдХ рдХрд░рдХреЗ рдУрд╡рд░рд▓реЗ рдХрд░реЗрдВред

 List<string> fileNames = (List<string>)filesList; // input Image<Bgr, Byte> image = new Image<Bgr, Byte>(fileNames.First()); // resulting foreach (string filename in fileNames) { Image<Bgr, Byte> nextImage = new Image<Bgr, byte>(filename); image = image.Max(nextImage); nextImage.Dispose(); pictureProcessed(this, new PictureProcessedEventArgs(image)); // updating image in imagebox } 


рдЗрд╕ рдореЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдлрд┐рд░, рддрд╕реНрд╡реАрд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд┐рддрд╛рд░реЛрдВ рдХреЗ рдЖрдВрджреЛрд▓рди рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдирд┐рдХрд▓рддрд╛ рд╣реИред рдЖрдк рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд░реЛрдЯреЗрд╢рди (рдзреНрд░реБрд╡реАрдп рддрд╛рд░рд╛) рдХрд╛ рдХреЗрдВрджреНрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдХрднреА-рдХрднреА рдирд┐рд╢рд╛рди рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рддрд╕реНрд╡реАрд░реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИрдВред

рдореЛрдб 2: рд░реЛрдЯреЗрд╢рди рдореБрдЖрд╡рдЬреЗ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдореБрдЖрд╡рдЬрд╛

рдЗрд╕ рдореЛрдб рдореЗрдВ, рд╕рдм рдХреБрдЫ рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдореЗрдВ рд╢реВрдЯрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд╕реНрдЯрд╛рд░ рдХреЗ рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЗ рдХреЛрдг рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдзреАрд░рдЬ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдЪрд╛рд░ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо EXIF рдлреЛрдЯреЛ рдбреЗрдЯрд╛ рд╕реЗ рд╢реВрдЯрд┐рдВрдЧ рдХреЗ рд╕рдордп рдХреЛ рдЦреАрдВрдЪ рд▓реЗрдВрдЧреЗред

 Bitmap referencePic = new Bitmap(fileNames.First()); //loading first image byte[] timeTakenRaw = referencePic.GetPropertyItem(36867).Value; // EXIF DateTime taken string timeTaken = System.Text.Encoding.ASCII.GetString(timeTakenRaw, 0, timeTakenRaw.Length - 1); // array to string without last char (newline) DateTime referenceTime = DateTime.ParseExact(timeTaken, "yyyy:MM:d H:m:s", System.Globalization.CultureInfo.InvariantCulture); 


рдЕрдм рдХреНрд░рдо рдореЗрдВред
рд╣рдореЗрдВ рд╢реВрдЯрд┐рдВрдЧ рдХреА рд╢реБрд░реБрдЖрдд рдХрд╛ рдХреНрд╖рдг рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрд╕рдореЗрдВ рд╕реЗ рд╢реЗрд╖ рдлрд╝реНрд░реЗрдореЛрдВ рдХреА рдЧрд┐рдирддреА рд╢реБрд░реВ рд╣реЛ рд╕рдХреЗред
рдлрд╝реЛрдЯреЛ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ PropertyItem ID рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ: 36867 - рдлрд╝реНрд░реЗрдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордпред
рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд░рдгреА рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓реЗрдВ (рдЕрдВрддрд┐рдо рд╡рд░реНрдг \ n рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдмрд╛рд╣рд░ рдХрд░рддреЗ рд╣реИрдВ)ред
рдЙрд╕ рд╕рдордп рдорд┐рд▓рд╛ рдЬрдм рд╢реВрдЯрд┐рдВрдЧ рд╢реБрд░реВ рд╣реБрдИ рдереАред

рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдж рдХреА рдлреЛрдЯреЛ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдорд╛рди рдкрд╛рдПрдВрдЧреЗ рдФрд░ рд░реЛрдЯреЗрд╢рди рдХреЗ рдХреЛрдг рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреЗ рдЕрдВрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдкреГрдереНрд╡реА рдХреА рд╕рдВрдкреВрд░реНрдг рдХреНрд░рд╛рдВрддрд┐ рдореЗрдВ рдХрд┐рддрдиреЗ рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ ред

 double secondsShift = (dateTimeTaken - referenceTime).TotalSeconds; double rotationAngle = secondsShift / stellarDay * 360; 


рд╣рдо рдкреНрд░рддрд┐рд░реВрдк рдкрд░рд┐рд╡рд░реНрддрди рджреНрд╡рд╛рд░рд╛ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдШреБрдорд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд░реЛрдЯреЗрд╢рди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, Emgu CV рдореЗрдВ рдпрд╣ рд╕рдм рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

 RotationMatrix2D<double> rotationMatrix = new RotationMatrix2D<double>(rotationCenter, -rotationAngle, 1); //change rotationAngle sign for CW/CCW 


рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реЛрдиреЗ рдкрд░, рдЖрдк рд╡рд░реНрддрдорд╛рди рдлрд╝реЛрдЯреЛ рдХреЗ рд▓рд┐рдП affine рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рдореЛрдб рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
 using (Image<Bgr, Byte> imageToRotate = new Image<Bgr, Byte>(currentPic)) { referenceImage = referenceImage.Max(imageToRotate.WarpAffine<double>(rotationMatrix, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC, Emgu.CV.CvEnum.WARP.CV_WARP_FILL_OUTLIERS, background)); } 


рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдкреНрд░рддреНрдпреЗрдХ рдлреЛрдЯреЛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрди рджреЛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖред

рдкрд░реАрдХреНрд╖рдг


рд╕реНрд░реЛрдд рдЫрд╡рд┐рдпрд╛рдБ:

27 рдЯреБрдХрдбрд╝реЗ

рдЯреЗрд╕реНрдЯ 1: рд╕реНрдЯреИрдХ

рд╕рднреА рдлрд╝реЛрдЯреЛ рдХреЛ рдПрдХ рдореЗрдВ рдУрд╡рд░рд▓реЗ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдоред
рдЫрд╡рд┐

рдЯреЗрд╕реНрдЯ 2: рдШреБрдорд╛рдПрдБ рдФрд░ рдвреЗрд░

рд╣рдордиреЗ рд░реЛрдЯреЗрд╢рди рдХреЗ рдХреЗрдВрджреНрд░ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛, рдФрд░ рдЖрдЧреЗред


рджреВрд╕рд░реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рдЕрдЬреАрдм рдкреНрд░рднрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
1. рдкреГрдереНрд╡реА рдкрд░ рдзрдмреНрдмрд╛ рд╣реИ - рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рд╕рд┐рддрд╛рд░реЗ рддрдп рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
2. рдХреЗрдВрджреНрд░ рдореЗрдВ рддрд╛рд░реЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдмрдиреЗ рд░рд╣реЗ, рдЕрд░реНрдерд╛рдд, рд╣рд░ рдЪреАрдЬ рдХреЛ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдХрд┐ рдЙрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
3. рд╕рд┐рддрд╛рд░реЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ "рддреИрд░рддреЗ" рд╣реИрдВ

рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реБрдЖ? рдореБрдЭреЗ рдХреЛрдИ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ! рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдВрд╕ рд╡рд┐рд░реВрдкрдг рдХреЗ рдХрд╛рд░рдг, рд╕рд┐рддрд╛рд░реЛрдВ рдХрд╛ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдПрдХ рд╕рд░реНрдХрд▓ рдмрди рдЧрдпрд╛ - рдпрд╣ рдПрдХ рджреАрд░реНрдШрд╡реГрддреНрдд рдмрди рдЧрдпрд╛ред

рдЫрд╡рд┐
рдПрдХреНрд╕рдкреЛрдЬрд░ ~ 43 '

рдЗрд╕ рддрд╕реНрд╡реАрд░ рдореЗрдВ рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рдХреНрд╖реЗрдкрд╡рдХреНрд░ рдЖрджрд░реНрд╢ рд╕рд░реНрдХрд▓ рд╕реЗ рдЕрд▓рдЧ рд╣реИ - рдФрд░ рдпрд╣ рд╕рдм рдЧрдгрдирд╛ рдХреА рдЧрдИ рдереАред

рдЙрдкрдХрд░рдг

рд╕рдм рдХреБрдЫ Canon 7F рдкрд░ Canon EF-S 10-22mm рдХреЗ рд╕рд╛рде рдлрд┐рд▓реНрдорд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд▓реЗрдВрд╕ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдСрдкреНрдЯрд┐рдХрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реИрдВ - рдЕрд░реНрдерд╛рддреН, рд╡рд┐рд░реВрдкрдгред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдореИрдВ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рджреЛрд╖реА рд╣реВрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдЗрддрдиреА рдЖрд╕рд╛рдиреА рд╕реЗ рдирд╣реАрдВ рдирд┐рдХрд▓рд╛ред рдЕрдЧрд▓реА рдмрд╛рд░ рдореИрдВ рд╡рд┐рдХреГрддрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рд╕рд╛рдл рдЖрд╕рдорд╛рди!

рдЧрд┐рддреБрдм рднрдВрдбрд╛рд░

Source: https://habr.com/ru/post/In179541/


All Articles