need code which created 'stopSigns.mat'

2 views (last 30 days)
Using Computer Vision system toolbox i'm trying to detect bottles in an image. For that I want to train Computer Vision System toolbox with "trainCascadeObjectDetector" function. I also analysed the example program "Train a Stop Sign Detector"
But the problem is i'am stuck at one point, that is, for my application how to create and load positive samples data from "bottles.mat" file, which is same as "stopSigns.mat"
Can any-one crack the issue, or is there any alternate way to train Computer Vision System Toolbox without using .mat file for positive samples data input.
  1 Comment
mustafa
mustafa on 15 Jan 2014
Edited: mustafa on 15 Jan 2014
You can create a GUI for bounding boxes via 'imrect' or use @Brett Shoelson's great GUI on this link to create .mat file for object recognition.

Sign in to comment.

Accepted Answer

Anand
Anand on 14 May 2013
You don't really need a mat file. You need ground truth data for training. So, you need a set of images with bottles in them and bounding boxes for the bottles in the images.
The mat file just contains an array of structs specifying the name of the image file and the bounding box of the bottle in that image.
The mat file is just used to pass the positive instances input argument to the trainCascadeObjectDetector function.
Hope that helps!
  2 Comments
shreedhar bc
shreedhar bc on 14 May 2013
Sir I have 100 images in which I have bottles at different place. Each image contain one bottle. Now How to define bounding box for bottle at different place in all 100 different Images ?
Anand
Anand on 15 Jan 2014
Like mustafa suggested, you can use this file exchange submission to help with that:
You'll need to individually draw bounding boxes for each of the training images.

Sign in to comment.

More Answers (1)

Esam
Esam on 8 Mar 2014
Try this code to create ur .mat file as I did. u'll need to describe each positive sample :
data = [];
field1 ='imageFilename';
value1 = {'Car/T01.bmp','Car/T02.bmp','Car/T03.bmp','Car/T04.bmp','Car/T05.bmp'};
field2 ='objectBoundingBoxes';
value2 = {[21,25,100,150] ,[17,10,168,122] ,[20,13,150,182] ,[9,15,162,100] ,[17,3,130,107]};
data = struct(field1,value1,field2,value2);
save ('cars.mat','data');
  1 Comment
Datti Nagadhara Harini
Datti Nagadhara Harini on 2 Apr 2014
how do u get those values to prepare a boundary box around the object

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!