Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Nerowar
1

Не могу найти ошибку

27.11.2014, 15:28. Показов 591. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача у меня написать программу на матлабе "детектор углов по алгоритму трайковича(Trajkovic)"
Нашел вроде бы код программы только в нем какая то ошибка , не пойму как исправить, помогите, буду благодарен за помощь.
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
clear all;
close all;
[filename, pathname] = uigetfile({'*.jpg;*.tif;*.png;*.gif;*.bmp','All Image Files';...
          '*.*','All Files' },'mytitle',...
          'C:\Work\myfile.jpg')
img = imread(filename);
img=mean(img,3);
[ligneorigine colonneorigine]=size(img);
 
taille=1;
%effet de bord
img = wextend(2,'zpd',img,1);
[ligne colonne]=size(img);
d=zeros(ligne,colonne);
 
for i = taille+1 : ligne-(taille+1)
    for j = taille+1 : colonne -(taille+1)
        d(i,j)=min( (img(i,j-1)-img(i,j))^2+(img(i,j+1)-img(i,j))^2 ,...
                    (img(i-1,j)-img(i,j))^2+(img(i+1,j)-img(i,j))^2 );
    end
    i
end
 
threshold = 50;
d(d<=threshold)=0;
d(d>threshold)=1;
m=zeros(ligne,colonne);
 
%threshold = 35000;
for i = taille+1 : ligne-(taille+1)
    for j = taille+1 : colonne -(taille+1)
        if d(i,j)~=0
            c=min( (img(i,j-1)-img(i,j))^2+(img(i,j+1)-img(i,j))^2 ,...
                    (img(i-1,j)-img(i,j))^2+(img(i+1,j)-img(i,j))^2 );
            B1= (img(i-1,j)-img(i,j-1))*(img(i,j-1)-img(i,j))+(img(i+1,j)-img(i,j+1))*(img(i,j+1)-img(i,j));
            B2= (img(i-1,j)-img(i,j+1))*(img(i,j+1)-img(i,j))+(img(i+1,j)-img(i,j-1))*(img(i,j-1)-img(i,j));
            RA=(img(i,j-1)-img(i,j))^2+(img(i,j+1)-img(i,j))^2;
            RB=(img(i-1,j)-img(i,j))^2+(img(i+1,j)-img(i,j))^2;
            C= RA;
            B=min(B1,B2);
            A= RB-RA-2*B;
            if B<0 && (A+B)>0
                m(i,j)=C-(B^2/A);
            else
                m(i,j)=c;
            end
        else
            m(i,j)=0;
        end
    end
    i
end
 
m = m(taille:end-taille-1,taille:end-taille-1);
threshold = 1000;
m(m<=threshold)=0;
 
[imax,vmax]= maxlocaux(m,10);
figure(  'name','détection de coin Trajkovic 4 voisins',...
            'NumberTitle','off',...
            'MenuBar','none',...
            'color',[0.3137 0.3137 0.5098]);
imshow(uint8(img))
hold on
nb=200;
if length(imax)>nb
    nbcorner = nb;
else
    nbcorner=length(imax);
end
for i = 1 :  nbcorner %length(imax)
    plot([vmax(i,2)-2 vmax(i,2)-2 vmax(i,2)+2 vmax(i,2)+2 vmax(i,2)-2],...
        [vmax(i,1)-2 vmax(i,1)+2 vmax(i,1)+2 vmax(i,1)-2 vmax(i,1)-2] ,'r','LineWidth',1)
end
Ошибка в 58 строчке, при выполнение скрипта матлаб пишет

??? Undefined function or method 'maxlocaux' for input arguments of type 'double'.

Error in ==> trajcovic at 58
[imax,vmax]= maxlocaux(m,0)
;
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2014, 15:28
Ответы с готовыми решениями:

Двумерный массив. Поиск нулей.Не могу найти ошибку ошибку в коде
Вот,например массив 5 5 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 считываются два...

Не могу найти ошибку. Нажимаю на клавишу, выдает ошибку
uses ABCObjects,GraphABC; const Image_0 = '0_765e9_6a3e424a_S.png'; var...

Не могу найти ошибку в программе(для просмотра картинок):кнопка НАЗАД не работает(не становится активной) Найдите ошибку.

Не могу найти ошибку!! не могу не как разобраться! надо до завтра.
условие: Для 7 человек, среди которых есть мужчины и женщины, хранятся следующие данные: имя, пол...

0
27.11.2014, 15:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.11.2014, 15:28
Помогаю со студенческими работами здесь

Не могу разобраться с If-ами. Не могу найти ошибку
Только начал знакомство с программированием. Преподаватель задал задание, написать программу в VLC...

Найти слова, повторяющиеся более одного раза, не могу найти ошибку
#include &lt;iostream&gt; using namespace std; void obr1(char **s, char **mas, int n, int m) { int...

Не могу найти ошибку. Найти количество элементов, равных своему индексу
Выводит всегда false, а должен выводить C, т.е количество элементов равных своему индексу, скорее...

Найти в матрице первую нулевую строку. Не могу найти ошибку
Задача: Найти в матрице первую нулевую строку. program search; const nmax=10; var...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru