|
|
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
Vidmak, Ионас, я по поводу этой дурацкой задачки про выделение контура. (Распознавание образов. Выделение контура~5 строк). Просто мне показалось, что решение у вас буквально в голове....помогите...завтра экзамен, а я в С++ просто чайник (даже хуже). Заранее спасибо. Чем смогу тоже помогу в свою очередь. С уважением, Лиза P.S.-Заранее извиняюсь, если это выглядит как флуд (правда горит)....Последняя сессия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 19:41 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
liza23 Ионас, я по поводу этой дурацкой задачки ...Последняя сессия В программу должны как-то поступить исходные данные об анализируемой картинке. Допустим, если это квадрат, то даны координаты четырех точек. Программа должна проверить, являются ли углы прямыми и равны ли стороны. Эти проверки и должны быть заложены в IF. При положительном ответе д.б. MessageBox с текстом "Обнаружен черный квадрат Малевича", при отрицательном "Малевич не найден." Я понимаю, что Вам надо осветить суть технологии распознавания: 1. Представление исходных данных, полученных как результаты измерений, для подлежащего распознаванию объекта. 2. Выделение характерных пр изнаков или свойств из полученных исходных данных и снижение размерности вектора образа. 3. Отыскание оптимальных решающих процедур, необходимых для идентификации (наш случай) и классификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 21:22 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
Ионас Программа должна проверить, являются ли углы прямыми и равны ли стороны. Эти проверки и должны быть заложены в IF. При положительном ответе д.б. MessageBox с текстом "Обнаружен черный квадрат Малевича", при отрицательном "Малевич не найден." Надеюсь математику объяснять не надо. Есть две точки. Значит можно написать уравнение прямой. А к-т при X соответствует углу наклона. Расстояние между двумя точками - самаяпростая формула. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 21:44 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
Ионас Ионас Программа должна проверить, являются ли углы прямыми и равны ли стороны. Эти проверки и должны быть заложены в IF. При положительном ответе д.б. MessageBox с текстом "Обнаружен черный квадрат Малевича", при отрицательном "Малевич не найден." Надеюсь математику объяснять не надо. Есть две точки. Значит можно написать уравнение прямой. А к-т при X соответствует углу наклона. Расстояние между двумя точками - самаяпростая формула. уравнение прямой A1A2=(x2-x1)^2+(y2-y1)^2, начало положено...как теперь это в С++ забить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 23:39 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
Программа должна спрашивать про 2 точки или про четыре: #include<stdio.h> void.main() { int x,y printf("\"Введите значение первой координаты:"); . . . printf("\"Введите значение второй координаты:"); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 23:44 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
float a1a2,x1,x2,y1,y2; a1a2=pow((x2-x1),2)+pow((y2-y1),2); В чем делаешь ? В консоли Visual C++ или в борланде или в DOS ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 23:46 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
Ионасfloat a1a2,x1,x2,y1,y2; a1a2=pow((x2-x1),2)+pow((y2-y1),2); В чем делаешь ? В консоли Visual C++ или в борланде или в DOS ? Вообще установлено Visual C++,но когда устанавливала (прога была на 6-ти дисках), запуталась и не установила...часть программы, которая выводит графики на экран (GRAPHICS), так что пойду в КМ проверять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 23:50 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
Если правильно помню, то необходим корень квадратный, т.е. : a1a2=pow(pow((x2-x1),2)+pow((y2-y1),2),.5); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 23:53 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
liza23 не установила...часть программы, которая выводит графики на экран (GRAPHICS), так что пойду в КМ проверять Зачем тебе графики ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 23:55 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
Ионас liza23 не установила...часть программы, которая выводит графики на экран (GRAPHICS), так что пойду в КМ проверять Зачем тебе графики ? значит я совсем ничего не понимаю....предположим, я ввела программу, чтобы ее запустить я нажимаю Build->Start debug->Go->...затем выскакивает ошибка ..Error executing cl.exe. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 00:00 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
ну ладно ввели уравнение....а точки?...каждую по отдельности запрашивать?...или как-то по умолчанию... к примеру,x1=12 x2=10 и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 00:02 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
и когда использовать оператор if if yes "Обнаружен черный квадрат Малевича" (не знаю как точно записать, что выражение - уравнение прямой верно) else no "Малевич не найден." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 00:05 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
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("\Малевич не найден") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 00:12 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
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 - это название проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 00:38 |
|
||
|
Vidmak, Ионас
|
|||
|---|---|---|---|
|
#18+
Ну я пошел спать. Если что, то завтра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 00:49 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=315&tid=2029704]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 363ms |

| 0 / 0 |
