Technical discussion about Matlab and issues related to Digital Signal Processing.
Hello,
I try to Demonstrate how a robot can perform selective cutting of trees. It should work like
this: First, an example of the kind of tree (a log of wood) to be cut is shown to the robot.
The SwissRanger SR-3000 3D range camera (possibly in combination with a regular web camera)
should be used to identify trees in the environment, classify the sort of tree (birch or pine)
and select a suitable tree of the correct sort. The robot should then autonomously locate and
move toward an selected tree until it hits it ("cuts it"). When the cuttring is done,
the robot should turn and look for another tree, and so on. The robot should allways avoid
trees not selected for cuttring. But whe i try to perform this project i have these two
problems:
when i have a a gap for example between the 2log of wood and the robot see the undesired log
one (the kind of log that it is avoided to be cut) it performs cutting to it ,also it behaves
the same way if there is no gap,so in these two ways it cut the undesired log (the log is not a
goal for cutting)
NOTE:I attached the the images that this aproblem appear to it while testing my project,(with
gap between 2 image,without gap between two images)
so i hope to help me to solve this problem and avoid cutting undesired log in any case, ,and
this is the code which i used for cutting.
function Sum=cut()
Y=vcapg2;
%Y=imread('u7.jpg');
X=Y;
[m,n]=size(X)
figure,imshow(X);
%RGB = imread('u7.jpg');
RGB=Y;
[X,map] = rgb2ind(RGB,128);
I = ind2gray(X,map);
BW = edge(I,'sobel',0.05,'Vertical');
BW3=BW;
%figure,imshow(BW);
[m,n]=size(BW);
for i=1:m
for j=1:n
if (Y(i,j,1)<100 & Y(i,j,2)<100 & Y(i,j,3)<100)
BW(i,j)=0;
else
BW(i,j)=1;
BW3(i,j)=0;
end
end
end
%%BW=BW(:,85:400);%%%%%%%%%%%%
%figure,imshow(BW)
[L,num] = bwlabel(~BW,8);
STATS = regionprops(L,'all');
D=BW3(105:230,:);
[M,N]=size(D)
figure,imshow(D);
%figure,imshow(BW3);
I apprciate any help , regards,
LAR