powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Vidmak, Ионас
16 сообщений из 16, страница 1 из 1
Vidmak, Ионас
    #34241458
liza23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vidmak, Ионас, я по поводу этой дурацкой задачки про выделение контура. (Распознавание образов. Выделение контура~5 строк). Просто мне показалось, что решение у вас буквально в голове....помогите...завтра экзамен, а я в С++ просто чайник (даже хуже). Заранее спасибо. Чем смогу тоже помогу в свою очередь.

С уважением, Лиза


P.S.-Заранее извиняюсь, если это выглядит как флуд (правда горит)....Последняя сессия
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241526
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liza23 Ионас, я по поводу этой дурацкой задачки ...Последняя сессия
В программу должны как-то поступить исходные данные об анализируемой картинке. Допустим, если это квадрат, то даны координаты четырех точек.
Программа должна проверить, являются ли углы прямыми и равны ли стороны. Эти проверки и должны быть заложены в IF. При положительном ответе д.б. MessageBox с текстом "Обнаружен черный квадрат Малевича", при отрицательном "Малевич не найден."
Я понимаю, что Вам надо осветить суть технологии распознавания:
1. Представление исходных данных, полученных как результаты измерений, для подлежащего распознаванию объекта.
2. Выделение характерных пр изнаков или свойств из полученных исходных данных и снижение размерности вектора образа.
3. Отыскание оптимальных решающих процедур, необходимых для идентификации (наш случай) и классификации.
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241540
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ионас
Программа должна проверить, являются ли углы прямыми и равны ли стороны. Эти проверки и должны быть заложены в IF. При положительном ответе д.б. MessageBox с текстом "Обнаружен черный квадрат Малевича", при отрицательном "Малевич не найден."
Надеюсь математику объяснять не надо. Есть две точки. Значит можно написать уравнение прямой. А к-т при X соответствует углу наклона. Расстояние между двумя точками - самаяпростая формула.
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241632
liza23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ионас Ионас
Программа должна проверить, являются ли углы прямыми и равны ли стороны. Эти проверки и должны быть заложены в IF. При положительном ответе д.б. MessageBox с текстом "Обнаружен черный квадрат Малевича", при отрицательном "Малевич не найден."
Надеюсь математику объяснять не надо. Есть две точки. Значит можно написать уравнение прямой. А к-т при X соответствует углу наклона. Расстояние между двумя точками - самаяпростая формула.

уравнение прямой A1A2=(x2-x1)^2+(y2-y1)^2, начало положено...как теперь это в С++ забить?
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241640
liza23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программа должна спрашивать про 2 точки или про четыре:

#include<stdio.h>
void.main()
{
int x,y
printf("\"Введите значение первой координаты:");

.
.
.
printf("\"Введите значение второй координаты:");
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241643
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
float a1a2,x1,x2,y1,y2;
a1a2=pow((x2-x1),2)+pow((y2-y1),2);
В чем делаешь ? В консоли Visual C++ или в борланде или в DOS ?
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241648
liza23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ионасfloat a1a2,x1,x2,y1,y2;
a1a2=pow((x2-x1),2)+pow((y2-y1),2);
В чем делаешь ? В консоли Visual C++ или в борланде или в DOS ?

Вообще установлено Visual C++,но когда устанавливала (прога была на 6-ти дисках), запуталась и не установила...часть программы, которая выводит графики на экран (GRAPHICS), так что пойду в КМ проверять
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241650
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если правильно помню, то необходим корень квадратный, т.е. :
a1a2=pow(pow((x2-x1),2)+pow((y2-y1),2),.5);
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241651
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liza23 не установила...часть программы, которая выводит графики на экран (GRAPHICS), так что пойду в КМ проверять
Зачем тебе графики ?
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241659
liza23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ионас liza23 не установила...часть программы, которая выводит графики на экран (GRAPHICS), так что пойду в КМ проверять
Зачем тебе графики ?

значит я совсем ничего не понимаю....предположим, я ввела программу, чтобы ее запустить я нажимаю Build->Start debug->Go->...затем выскакивает ошибка ..Error executing cl.exe.
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241661
liza23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну ладно ввели уравнение....а точки?...каждую по отдельности запрашивать?...или как-то по умолчанию...
к примеру,x1=12
x2=10 и т.д.
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241663
liza23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и когда использовать оператор if
if yes "Обнаружен черный квадрат Малевича" (не знаю как точно записать, что выражение - уравнение прямой верно)
else no "Малевич не найден."
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241671
liza23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
liza23и когда использовать оператор if
if yes "Обнаружен черный квадрат Малевича" (не знаю как точно записать, что выражение - уравнение прямой верно)
else no "Малевич не найден."

а может
if (a1a2=pow(pow((x2-x1),2)+pow((y2-y1),2),5))
printf("\"Обнаружен черный квадрат Малевича")
else (a1a2 не ровно (опять же не знаю как)pow(pow((x2-x1),2)+pow((y2-y1),2),5))
printf("\Малевич не найден")
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241683
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
liza23 а может
if (a1a2=pow(pow((x2-x1),2)+pow((y2-y1),2),5))
printf("\"Обнаружен черный квадрат Малевича")
else (a1a2 не ровно (опять же не знаю как)pow(pow((x2-x1),2)+pow((y2-y1),2),5))
printf("\Малевич не найден")

float a1a2,x1=37.12,x2=27.4,y1=56,y2=89.56;//по этому образцу для всех 4-х точек
a1a2=pow(pow((x2-x1),2)+pow((y2-y1),2),.5);// таких дли д.б. четыре
............................................................
if((a1a2==a2a3)&&(a2a3==a3a4)&&(a3a4==a4a1)) printf("\"Обнаружен квадрат");
else printf("\квадрат не найден");

Build->Start debug->Go->...затем выскакивает ошибка ..Error executing cl.exe.

Build-> Set ActiveConfiguration->Win32 Release
Debug совсем не нужен. От него лишь здоровенный файл, занимающий много места на диске.
Затем Build->Execute
В чем все-таки пишешь ? Win32 Consol Application или MFC AppWizard[exe]?
Если консоль, то до фигурных скобок надо писать:
#include <conio.h>
#include <stdio.h>
#include <math.h>
{
здесь то, что было написано выше


}
А если мастером, то надо на форме разместить кнопку и по клику кнопки д.б создана функция OnButton1()
внутри которой все, что выше.
А математическую библиотеку, т.е. #include <math.h> надо записать в самом начале функции NameDlg.cpp. Name - это название проекта.
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241695
Ионас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я пошел спать. Если что, то завтра.
...
Рейтинг: 0 / 0
Vidmak, Ионас
    #34241715
liza23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо ОГРОМНОЕ ты мне очень помог:-)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Vidmak, Ионас
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]