getting error in lane detection

I am not familiar with matlab. i had used your tutorial video no 6 and getting error in following statement
lanes=findlanes(B,h,stats);
hold off;
and i am getting following error
??? Undefined function or variable
'stats'.
can you help me resolving following error

답변 (2개)

Walter Roberson
Walter Roberson 2015년 8월 8일

0 개 추천

and see the lines of code there:
% Extract statistics
stats = regionprops(L,'MajorAxisLength','MinorAxisLength');
You do not appear to have done that before calling findlanes()

댓글 수: 3

mustafa wala
mustafa wala 2015년 8월 9일
편집: Image Analyst 2015년 8월 9일
I am not satisfied with your answer. I had listed codes which I had used in this. You can see it below.
%%Lane Marking Identification
%%Read image
street = imread('street1.jpg');
%%Display image
figure;
gray(256);
imagesc(street1);
%%Scale image
scaled=street1*1.05;
image(scaled);
%%Threshold
level=211;
binary = scaled>level;
imagesc(binary);
%%Remove the noise
binary = bwareaopen(binary,100);
imagesc(binary)
hold on
%%Find the boundaries of objects
[B,L] = bwboundaries(binary(:,:),'noholes');
h = zeros(1,length(B));
% Plot boundaries
for K=1:length(B)
boundary = B{K};
h(K)=plot(boundary(:,2), boundary(:,1), 'g','LineWidth', 2);
end
% Extract statistics
stats = regionprops(L,'MajorAxisLength','MinorAxisLength');
%%Find lanes and delete non-lane objects
lanes=find_lanes(B,h,stats);
hold off;
Can you correct it, and give me the answer with the reasons?
I will need to see the complete traceback of the error message. Your Question refers to a line which invokes findlanes() but your code here refers to find_lanes(), a different routine. Possibly you are using a find_lanes() that invokes findlanes() so the problem might be in your find_lanes() routine, whatever content it might happen to have.
Please show the output of
which -all find_lanes
which -all findlanes
Image Analyst
Image Analyst 2016년 4월 22일
I'm not satisfied with your comment, mustafa. Please attach 'street1.jpg' so people can actually run your code.

댓글을 달려면 로그인하십시오.

Image Analyst
Image Analyst 2015년 8월 9일

0 개 추천

You say that it's saying stats is undefined. So change this code
% Extract statistics
stats = regionprops(L,'MajorAxisLength','MinorAxisLength');
%%Find lanes and delete non-lane objects
lanes=find_lanes(B,h,stats);
to this code:
% Extract statistics
stats = regionprops(L,'MajorAxisLength','MinorAxisLength');
whos stats
which find_lanes
whos find_lanes
%%Find lanes and delete non-lane objects
lanes=find_lanes(B,h,stats);
and tell me what it says in the command window.

댓글 수: 7

mustafa wala
mustafa wala 2015년 8월 10일
i tried your above statements and it gives following output in command window
'find_lanes' not found. ??? Undefined function or method 'find_lanes' for input arguments of type 'cell'.
Oghenemine Henry
Oghenemine Henry 2016년 4월 21일
I always get this error message when trying to run the code. Please how do I correct this Error using bwboundaries Expected input number 1, BW, to be two-dimensional.
Error in bwboundaries>parseInputs (line 159) validateattributes(BW, {'numeric','logical'}, {'real','2d','nonsparse'}, ...
Error in bwboundaries (line 128) [BW, conn, findholes] = parseInputs(varargin{:});
Error in lanemarkings (line 21) [B,L,N]=bwboundaries(binary, 'noholes');
Your BW is most likely a true color RGB image rather than a binary (logical) image. What does this say:
whos BW
Oghenemine Henry
Oghenemine Henry 2016년 4월 23일
nothing appears when I type
whos BW
Image Analyst
Image Analyst 2016년 4월 23일
It looks like BW is the name given by some internal functions. It looks like you called it "binary" so what does whos binary show? It probably shows that it's a color image not a "logical" binary image.
whos binary Name Size Bytes Class Attributes
binary 568x962x3 1639248 logical
binary is a 3-D volumetric image, like you're dealing with CT or MRI images or something. I don't think this should be. You should convert street to a grayscale image before you threshold it at 211.
From street, or street1, whatever you called the variable, which color channel do you want to use? Or do you want to take a weighted average?
if ndims(street)
street = rgb2gray(street);
end

댓글을 달려면 로그인하십시오.

카테고리

질문:

2015년 8월 8일

댓글:

2016년 4월 24일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by