From: ImageAnalyst on 2 May 2010 23:19 On May 2, 9:41 pm, "david carollo" <xdav...(a)gmail.com> wrote: > Now it works! :) > I've to put an "%" before the instruction in line 10.The idea is good, the computational weigh if we process a miniature 32*32 of the image is good and faster..I would apply this on my directory of images to have an array Mx3 with the H,S and V value (to have the values for find the best matching with the tiles of the big image)..Can you help me? > > Thank you very much... ------------------------------------------------------------ It still baffles me why mfilename is returning null on your system (but no one else's), but whatever.... I told you what I would do. What sort of additional help do you need? Can you be more specific?
From: david carollo on 3 May 2010 05:33 I need to extract HSV values from the directory..and if possible with that divide my database in 10 branches, using the V values to do that (in the first all the images has V from 0 to 0.1, the second 0.1 to 0.2, the third 0.2 to 0.3 ecc to the last from 0.9 to 1)..i search a lot of time this information on the web but i cannot find it..Is there a function to do that? Have a nice day..
From: ImageAnalyst on 3 May 2010 06:20 I would just have some preprocessing step where you read in all images in the folder, use rgb2hsv() to convert their color space, and then use mean() to get the means. Or it's probably good enough to get the mean in RGB space and then convert those 3 numbers to hsv, which would be faster than the first method and probably accurate enough (although not mathematically exactly the same as the first method). Then enter the filename and mean HSV values into your database. I can't help you with the database storing or querying because I've never done that from MATLAB - if it were me I'd either learn how to do database stuff from MATLAB, or I'd just store the results in an array in a .mat file. Now the preprocessing is done. I think that would work fine. I'm not sure of the reasoning behind dividing your database into 10 "branches."
From: david carollo on 3 May 2010 07:02 My database is very large, I need a function wich automatically extract the H,S & V mean value and get them in an array..How I can do that? The story of 10 branches because my system must does a non-linear research in the database (for computational issues). Thank you!
From: ImageAnalyst on 3 May 2010 15:49
On May 3, 7:02 am, "david carollo" <xdav...(a)gmail.com> wrote: > My database is very large, I need a function wich automatically extract the H,S & V mean value and get them in an array..How I can do that? > The story of 10 branches because my system must does a non-linear research in the database (for computational issues). > > Thank you! ----------------------------------------------------------------------------------------- david: I showed you how to get the mean hsv in post #10 in this thread: http://www.mathworks.com/matlabcentral/newsreader/view_thread/280874#741300 Obviously the only thing you need to do is to make the means be an array and put them inside a for loop - a trivial step. If you need help making a variable inside a loop an array, then you'll need to take a lot more training before tackling this project because that's about as easy as it gets. In other words, it's so basic to turn hMean = mean(hImage(:)); into for k = 1:numberOfImages hmean(k) = mean(hImage(:)); end that I'm not even really sure if this is what you're asking. And I still don't understand your comment on branches, but that doesn't have anything to do with calculating the means of the images. Maybe it's because it's impossible to explain something lin two lines (about what your posts average). Your posts should be longer than mine because it's your project and you know the most about it, plus it shows us you're serious about putting the effort into solving your problem. And I expect you should be willing to put more time into your project than I should. -ImageAnalyst |