Форма № Н-9.02
К защите допускаю
Заведующий кафедрой,
_д.т.н., проф. Кортунов В.І._
(наук. степень, ученое звание, фамилия, инициалы)
_____________________________
(подпись, дата)
Пояснительная записка
дипломного проекта (работы)
бакалавр
(образовательно-квалификационный уровень)
Кривонос Ю.С.
(фамилия и инициалы) (подпись, дата)
Рецензент
(фамилия и инициалы) (подпись, дата)
Харьков – 2015
2
СОДЕРЖАНИЕ
ВВЕДЕНИЕ………………………………………………………………………
1 ОБЗОР СУЩЕСТВУЮЩИХ МЕТОДОВ ЛОКАЛИЗАЦИИ ОБЪЕКТОВ НА
КОСМОСНИКАХ……………………………………………………………..
1.1 Анализ предметной области автоматизации обработки изображений для
выделения границ объектов…………………………………………………...
1.2 Выделение контуров водных объектов…………………………………
1.2.1 Методика выделения объектов по яркостным
характеристикам…………………………………………………………………
1.2.2 Методика выделения объектов по цвету…………………….
1.2.3 Методика выделения объектов по текстурным особенностям.
1.2.4 Методика ручного выделения объектов…………………….
1.3 Способы тематической обработки данных ДЗЗ для локализации
анализируемых объектов………………………………………………………….
1.3.1 Общая характеристика методов……………………………
1.3.2 Анализ особенностей цветовой модели RGB……………..
1.3.3 Анализ особенностей цветовой модели HSV…………………
1.3.4 Особенности формирования изображений…………………
1.3.5 Особенности получения индексных изображений……………..
1.3.6 Анализ главных компонентов (principal components analysis)..
1.3.7 Метод спектрального разделения (spectral unmixing)………
2 МЕТОДИКА ПОСТРОЕНИЯ КАРТОГРАФИЧЕСКИХ МОДЕЛЕЙ ЗОН
ВОЗМОЖНОГО ВОЗНИКНОВЕНИЯ ЧС…………………………………..
2.1 Постановка задачи……………………………………………………..
2.1.1 Особенности работы с изображениями………………………
2.2 Фильтрация изображения…………………………………………….
2.3 Выбор оптимального критерия повышения контрасности…………
2.3.1 Гистограммы основных цветов………………………………
2.3.2 Гистограммы яркости……………………………………….
2.3 Методы контрастирования изображения…………………………
2.3.1 Линейное контрастирование……………………………………
3
ВВЕДЕНИЕ
- Цветовые преобразования;
- Индексные изображения;
- Классификации.
12
g = af + b (2.3)
Отсюда
; .
33
Повышение контраста
(1.2)
Листинг 3.1
1. SIGMA = double.Parse(textBox1.Text);
2. int win2 = (int)(3 * SIGMA);
3. int win = 2 * win2 + 1;
4. double[,] O1 = new double[win, win];
5. Image_new = new Bitmap(Image_mem);
6. int i, j;
7. double const1 = (System.Math.Sqrt(2 * System.Math.PI) * SIGMA);
44
Листинг 3.2
46. break;} }
47. double m1, m2, m3, m4;
48. if (minS != i_25) {
49. m1 = 63 / (i_25 - minS); }
50. else m1 = 1;
51. if (i_25 != i_50) {
52. m2 = 63 / (i_50 - i_25); }
53. else m2 = 1;
54. if (i_50 != i_75){
55. m3 = 63 / (i_75 - i_50); }
56. else m3 = 1;
57. if (i_75 != maxS) {
58. m4 = 63 / (maxS - i_75); }
59. else m4 = 1;
60. for (int i = X1; i < X2; i++) {
61. progressBar1.Value = (i - X1) + (X2 - X1);
62. for (int j = Y1; j < Y2; j++)
63. { color = Image_mem.GetPixel(i, j);
64. S = (color.GetSaturation() * 255);
65. H = (color.GetHue());
66. V = (color.GetBrightness() * 255);
67. if ((double)S <= i_25) {
68. S = (S - minS) * m1;}
69. if ((double)S > i_25 && S <= i_50) {
70. S = (S - i_25) * m2 + 63; }
71. if ((double)S > i_50 && S <= i_75)
72. { S = (S - i_50) * m3 + 126;
73. } if ((double)S > i_75 && S <= maxS)
74. { S = (S - i_75) * m4 + 189; }
75. FromHSV_To_RGB(H, S, V, ref R, ref G, ref B);
76. Image_mem.SetPixel(i, j, Color.FromArgb(255, R, G, B));
77. }} pictureBox1.Image = Image_mem;
78. progressBar1.Value = 0; }
Листинг 3.3
47
1. void FromHSV_To_RGB(double H, double S, double V, ref int R, ref int G, ref int B){
2. if (S == 0) { R = (int)V; G = (int)V; B = (int)V; return; }
3. int ii;
4. double fr;
5. int c1, c2, c3;
6. while (H >= 360) H -= 360;
7. ii = (int)(H /= 60.0);
8. fr = H - ii;
9. c1 = (int)(V * (255 - S)) / 255;
10. c2 = (int)(V * (255 - S * fr)) / 255;
11. c3 = (int)(V * (255 - S * (1.0 - fr))) / 255;
12. switch (ii)
13. {case 0: R = (int)V; G = c3; B = c1; break;
14. case 1: R = c2; G = (int)V; B = c1; break;
15. case 2: R = c1; G = (int)V; B = c3; break;
16. case 3: R = c1; G = c2; B = (int)V; break;
17. case 4: R = c3; G = c1; B = (int)V; break;
18. case 5: R = (int)V; G = c1; B = c2; break;}}
Листинг 3.4
Листинг 3.5
1. DialogResult dr;
52
Листинг 3.6
53
1. mashtab = double.Parse(textBox2.Text);
2. for (int i = 0; i < 100000000; i++){
3. masPL[i] = 0;}
4. Color col1;
5. double PL=0;
6. for (int i = 0; i < Image_mem.Width; i++){
7. for (int j = 0; j < Image_mem.Height; j++){
8. col1 = Image_mem.GetPixel(i, j);
9. PL = col1.R;
10. if (col1 == Color.Red)
11. masPL[(int)PL]++;} }
12. string inf;
13. inf = " Площадь равна "+PL*mashtab*mashtab*0.001+" км.кв.";
14. MessageBox.Show(inf);
4 ЭКОНОМИЧЕСКАЯ ЧАСТЬ
1. Microsoft Создание 1 13
Visual Studio программы 888,00
13.0
Итого
ОЗУ 4-8 Гб
1. Разработка 2 2 2
технического
задания
2. Постановка 1 1 1
задачи,
разработка
требований к
методике
3. Разработка 1 1 1
структурной
схемы работы
4. Работа с 0 1 1
данными,
просмотр
необходимой
документации
5. Скачивание 0 1 1
снимков
6. Разработка 2 6 6
методики
7. Формирование 5 10 10
отчета
(руководство по
разработке
методики)
8. Печать 1 1 1
руководства
Итого: 12 23 23
61
Итого:
, (4.2)
соответственно;
(4.3)
63
(4.4)
(4.5)
1. Материалы 31 529,00
6. Амортизация 656,85
ВЫВОДЫ