<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.nl/matlabcentral/newsreader/view_thread/319365</link>
    <title>MATLAB Central Newsreader - batch processing</title>
    <description>Feed for thread: batch processing</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2013 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.nl/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Sat, 21 Apr 2012 12:06:08 +0000</pubDate>
      <title>batch processing</title>
      <link>http://www.mathworks.nl/matlabcentral/newsreader/view_thread/319365#874381</link>
      <author>Student </author>
      <description>Hi I am trying to do some batch processing. I can print all images in a folder to the screen by using : &lt;br&gt;
&lt;br&gt;
files = dir('*.png');&lt;br&gt;
num_files = numel(files);&lt;br&gt;
images = cell(1, num_files)&lt;br&gt;
for k = 1:num_files&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;images{k} = imread(files(k).name);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;figure, imshow (images{k})&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
But I start running into problems when I try to chnge the images to the red channel, do adaptive histogram equalization an then finally edge detect them. I am trying to print only the final edge detected image of each image. This is the code I created: &lt;br&gt;
&lt;br&gt;
files = dir('*.png');&lt;br&gt;
num_files = numel(files);&lt;br&gt;
images = cell(1, num_files)&lt;br&gt;
for k = 1:num_files&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;images{k} = imread(files(k).name);&lt;br&gt;
&lt;br&gt;
RedChannel= images{k}(:, :, 2);&lt;br&gt;
RedChannel= adapthisteq(RedChannel,'clipLimit',0.01,'Distribution','uniform');&lt;br&gt;
BW = edge(RedChannel, 'canny',.35);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;figure, imshow (BW )&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Using this code only the first image prints to screen so I am making a mistake somwhere. Can anyone see where I am making the mistake?&lt;br&gt;
&lt;br&gt;
Cheers Guys</description>
    </item>
    <item>
      <pubDate>Sat, 21 Apr 2012 16:05:57 +0000</pubDate>
      <title>Re: batch processing</title>
      <link>http://www.mathworks.nl/matlabcentral/newsreader/view_thread/319365#874401</link>
      <author>ImageAnalyst</author>
      <description>Do you need to store all the images in a cell array?  I would think&lt;br&gt;
not.  Do you need to have separate figures for each image?  I would&lt;br&gt;
think not.  Did you use drawnow to force it to update immediately?  It&lt;br&gt;
looks like not.  I would try this:&lt;br&gt;
&lt;br&gt;
try % Start of try/catch block.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;folder = pwd; % Assume files live in the current folder.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;files = dir(fullfile(folder, '*.png'));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;numberOfFiles = length(files);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;figure;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for k = 1 : numberOfFiles&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fullFileName = fullfile(folder, files(k).name);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;thisImage = imread(fullFileName );&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RedChannel = thisImage(:, :, 2);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RedChannel = adapthisteq(RedChannel,...&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'clipLimit', 0.01, 'Distribution', 'uniform');&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;edgeImage = edge(RedChannel, 'canny', 0.35);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;imshow(edgeImage, []);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;drawnow; % Force it to display immediately.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br&gt;
catch ME&lt;br&gt;
	errorMessage = sprintf('Error in function blah_blah_blah().\n\nError&lt;br&gt;
Message:\n%s', ME.message);&lt;br&gt;
	fprintf(1, '%s\n', errorMessage);&lt;br&gt;
	uiwait(warndlg(errorMessage));&lt;br&gt;
end</description>
    </item>
  </channel>
</rss>
