for循环在matlab中导致错误的文本分割

for loop causing bad text segmentation in matlab

输入图像是a.jpg and b.jpg 这两个存储在例如 comp folder.and 中的图像想在段 folder.but 中写入分割图像我认为对于每个 image.And 重复多次的循环问题分割我无法解决问题。 这是我的代码

Resultado='C:\Users\Nurul\Desktop\picsegment';
srcFiles = dir('C:\Users\Nurul\Desktop\comp\*.jpg');  
for i = 1 : length(srcFiles)
filename = strcat('C:\Users\Nurul\Desktop\comp\',srcFiles(i).name);
a = imread(filename);
LLL=a;
s=regionprops(LLL); 

figure,imshow(LLL);    title('segmented Image');
  hold on
for J=1:numel(s)  
 rectangle('Position',s(J).BoundingBox,'edgecolor','g')
 end
 im1=LLL;
 baseFileName = sprintf('%d.jpg', i); % e.g. "1.png"
 fullFileName = fullfile(Resultado, baseFileName); 
  imwrite(im1, fullFileName);
  end

请帮忙 谢谢

您将数据保存为 jpg,大错特错!

不过,如果你想保留保存为jpg的数据,请记住它不会保存为二值图像,这意味着你需要再次将其二值化!否则,每个小像素噪声都会被 regionprops 检测为数据,这就是为什么你得到这么多方块的原因。

只需添加

a = imread(filename);

a=im2bw(a,0.5); % Add this line. The fancy way would be im2bw(a,graythresh(a)), but 0.5 will do in your case

LLL=a;