Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Alexalexandr
0 / 0 / 0
Регистрация: 05.06.2017
Сообщений: 8
1

Как правильно объявить/установить счетчик

10.11.2019, 23:14. Просмотров 140. Ответов 1
Метки нет (Все метки)

Вообщем задача следующая: у меня в коде проходит 4 итерации на сравнение картинок, а потом идет запись процента в файл. Но мне нужно разделить все 4 итерации по 4 разным файлам. Подскажите как мне правильно объявить/сделать счетчик, что бы он возрастал. Мне нужно, что бы результат записывался в таком формате: 1.txt - первая итерация, 2.txt - вторая и т.д.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System;
using XnaFan.ImageComparison;
using System.Drawing;
using System.IO;
using System.Reflection;
using System.Diagnostics;
 
// Created in 2012 by Jakob Krarup (www.xnafan.net).
// Use, alter and redistribute this code freely,
// but please leave this comment :)
 
namespace TestingImageComparison_Console
{
    
    class Program
    {
        static DirectoryInfo exeFolder, projectFolder, sampleImagesFolder, duplicateImagesFolder;
 
        public static void Main(string[] args)
        {
            //find the image folder
            string codebase = Assembly.GetExecutingAssembly().Location;
            exeFolder = new DirectoryInfo(Path.GetDirectoryName(codebase));
            projectFolder = exeFolder.Parent.Parent;
            sampleImagesFolder = new DirectoryInfo(Path.Combine(projectFolder.FullName, "exeFolder"));
            duplicateImagesFolder = new DirectoryInfo(Path.Combine(sampleImagesFolder.FullName, "duplicateImages"));
 
            //compare different images
            Compare("3.png", "1.png");
            Compare("3.png", "2.png");
            Compare("4.png", "1.png");
            Compare("4.png", "2.png");
 
            //show the images in the folder
            //Process.Start(exeFolder.FullName);
 
            //display a search for duplicates
            //ShowDuplicates();
 
 
            //Console.WriteLine("Any key to end...");
            //Console.ReadKey();
        }
        
        static void Compare(string bmp1, string bmp2, byte threshold = 2)
        
        {
            
            //get the full path of the images
            string image1Path = Path.Combine(exeFolder.FullName, bmp1);
            string image2Path = Path.Combine(exeFolder.FullName, bmp2);
 
            //compare the two
            Console.WriteLine("Comparing: " + bmp1 + " and " + bmp2 + ", with a threshold of " + threshold);
            Bitmap firstBmp = (Bitmap)Image.FromFile(image1Path);
            Bitmap secondBmp = (Bitmap)Image.FromFile(image2Path);
            //get the difference as a bitmap
            firstBmp.GetDifferenceImage(secondBmp, true);
 
            //Console.WriteLine(string.Format("Difference: {0} %", firstBmp.PercentageDifference(secondBmp, threshold) * 10000));
            //Console.WriteLine(string.Format("BhattacharyyaDifference: {0:0.0} %", firstBmp.BhattacharyyaDifference(secondBmp) * 10000));
 
            string fileName = ВОТ ТУТ НУЖЕН СЧЕТЧИК + ".txt";
            FileStream aFile = new FileStream(fileName, FileMode.OpenOrCreate);
            StreamWriter sw = new StreamWriter(aFile);
            //aFile.Seek(0, SeekOrigin.End);
            sw.Write(firstBmp.PercentageDifference(secondBmp, threshold) * 10000);
            sw.Close();
 
 
            firstBmp.Dispose();
            secondBmp.Dispose();
          
            
            Console.WriteLine("ENTER to continue...");
            Console.ReadLine();
        }
 
        static void ShowDuplicates()
        {
            Console.WriteLine("Finding duplicates in " + duplicateImagesFolder.FullName);
            foreach (var list in ImageTool.GetDuplicateImages(duplicateImagesFolder.FullName, true))
            {
                Console.WriteLine(list.Count + " duplicates:");
                foreach (var item in list)
                {
                    Console.WriteLine(" - " + Path.GetFileName(item));
                }
            }
        }
    }
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2019, 23:14
Ответы с готовыми решениями:

Как правильно объявить классы?
Всем привет. Помогите правильно объявить и написать классы. Суть в следующем. Есть объект Client,...

список как правильно объявить?
как правильно объявить список? Пишу так List lstpsklt = new List(); пишу как тут...

Как установить счётчик?
Приветствую. Мне нужно установить счётчик на человека под конкретной фамилией в БД, чтобы...

Как правильно объявить дословную строку?
Regex opera = new Regex ("\\s*(+|-|*|/("); Он ругается, я помню что перед знаками нужно было...

Как правильно объявить функцию WINAPI
Здравствуйте. Я пытаюсь объявить в коде на языке C# функцию WINAPI ExtractIcon следующим...

1
Diamante
Нарушитель
1786 / 1376 / 781
Регистрация: 14.08.2016
Сообщений: 4,927
Завершенные тесты: 1
11.11.2019, 00:12 2
C#
1
if(File.Exists(имя_файла)) //задать другое имя файла
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2019, 00:12

Подскажите пожалуйста, как правильно объявить класс DataTable
Подскажите как правильно объявить класс DataTable ? Все ошибки упираются в него. Заранее...

Объявить два интерфейса. Объявить два класса, первый из которых реализует один из интерфесов, а второй - оба
Помогите написать программу,несеку фишку.Объявить два интерфейса. Объявить два класса, первый из...

Как правильно объявить QByteArray?
А именно: QByteArray fl_header(320, 0); Хотел сделать его членом класса Widget, но там нельзя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.