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;
输入图像是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;