如何使用单元阵列图或存储数据到数组准备策划?

11视图(30天)
你好,我将数据存储到单元阵列(这是z 埃塔{我IntDiff_no Noise_no}) 有困难,把它们分成小的单元阵列阴谋策划这样的图。有什么办法,或者我应该改变我数组,存储它们吗?但我不知道如何去做。下面附加的代码。希望得到指导解决这个问题。谢谢你!
%创建空白图像
w = 200;
h = 200;
blankImage = 255 * 1 (w h, 3,“uint8”);
%的位置在空单元的信
position_x = (w + 1) / 2;
position_y = (h + 1) / 2;
%不同字体大小,从10到16
font_start = 120;
font_end = 160;
num_fonts = font_start: 10: font_end;
%得到字体的数量
numImages =长度(num_fonts);
%创建一个单元阵列的字体填写下一步的图像
Output_collection =细胞(1、numImages);
Orig_grayImage =细胞(1、numImages);
alphabet_segmented =细胞(5 5 5);
check_foreground =细胞(5 5 5);
alphabet_Uppercase =细胞(1、26);
alphabet_Uppercase = [“一个”,“B”,“C”,' D ',“E”,“F”,‘G’,“H”,“我”,“J”,“K”,“L”,“米”,“N”,“O”,“P”,“问”,“R”,“年代”,“T”,“U”,“V”,' W ',“X”,“Y”,“Z”];
Int_image_array =细胞(1、numImages);
=细胞(1、numImages);
Binaryimg{1,} =细胞(1,numImages);
alphabet_orginal =细胞(1、numImages);
% alphabet_Image =细胞(26岁,5);
noise_start = 0.01;
noise_end = 0.05;
num_noiseimg = noise_start: 0.01: noise_end;
each_noise =长度(num_noiseimg);
alphabetNoiseimg_collection =细胞(5 5 5);
alphabetSauvImage_collection =细胞(5 5 5);
真的= 0;
noise_pos = 1;
Int_image =细胞(1、numImages);
IntimageFig_pos = 1:2:9;
NoiseimgFig_pos = 2:2:10;
intensityDifference = 20:20:100;
each_intensityDifference =长度(intensityDifference);
ζ=细胞(5 5 5);
% for循环创建字母“A”
%灰度
%存储单元阵列
% all_alphabet = 1:
我= 1:numImages
font_size = num_fonts(我)
Orgimage = insertText (blankImage [position_x position_y),“一个”,“字体”,“Times New Roman”,“字形大小”font_size,“输入TextColor”,“黑”,“BoxColor”,' w ',“BoxOpacity”0,“AnchorPoint”,“中心”);
grayImage = rgb2gray (Orgimage);
BWImage = imcomplement (grayImage);
{1,}= BWImage;
Orig_grayImage {1,} = {1,};
Binaryimg {1,} = imbinarize (Orig_grayImage {1,});
alphabet_orginal{1,} =总和(Binaryimg {1,} (:));
%图(我);
% imshow ({1,});
% impixelinfo;
%背景= BWImage = = 0;
%前景= ~背景;
% Newforegnd =前景;
b = insertText (blankImage [position_x position_y),“b”,“字体”,“Times New Roman”,“字形大小”font_size,“输入TextColor”,“黑”,“BoxColor”,' w ',“BoxOpacity”0,“AnchorPoint”,“中心”);
o = insertText (blankImage [position_x position_y),“o”,“字体”,“Times New Roman大胆”,“字形大小”font_size,“输入TextColor”,“黑”,“BoxColor”,' w ',“BoxOpacity”0,“AnchorPoint”,“中心”);
BWImage_bin = imbinarize (BWImage);
= repmat (“b”、大小(BWImage_bin));
BoldO =“<强> o < / >强”;
(BWImage_bin) =“o”;
显示(出);
Output_collection {1,} =;
%次要情节(5 1我);
% imshow (BWImage);
%轴上;
%的标题(sprintf (% d '的字体大小,font_size));
IntDiff_no = 1: each_intensityDifference
IntDiff_percentage = intensityDifference (IntDiff_no)
% backgroundGrayLevel = IntDiff_percentage;
% Int_image = {1,};
% background_range = {1,} = = 0;
% Int_image (background_range) = backgroundGrayLevel;
% foregroundGrayLevel = backgroundGrayLevel + ((backgroundGrayLevel / 100) * 255);
% foreground_range = {1,} = = 255;
% Int_image (foreground_range) = foregroundGrayLevel;
% Int_image_array{我IntDiff_no} = Int_image;
highIntensity = (IntDiff_percentage / 100) * 255;% 20%
Int_image = uint8(重新调节({1,},0,highIntensity));
Int_image_array{我IntDiff_no} = Int_image;
图(“名字”sprintf (% d为高斯噪声的字体大小font_size),“NumberTitle”,“关闭”);
Noise_no = 1: each_noise
噪音= num_noiseimg (Noise_no)
%应用Gaussiannoise字母,
%使用0.01到0.05(每一步increament 0.01)标准差
NoiseImg = imnoise (Int_image_array{我IntDiff_no},“高斯”,0,噪音);
alphabetNoiseimg_collection{我IntDiff_no Noise_no} = NoiseImg;
%应用sauvola的阈值
% m是平均值
% k是一个常数在0.2 - 0.5%之间
% s是标准差
% R是灰度
%图(“名字”,sprintf(字母字体大小% d的形象,font_size),“NumberTitle”,“关闭”);
% S = m * (1 + k * (S / R - 1));
% R = 128;
% k = 0.2;
sauvImage = sauvola (NoiseImg (150 150));
alphabetSauvImage_collection{我IntDiff_no Noise_no} = sauvImage;
%检查总形象
流(“我是% d”,我);
% imshow (sauvImage);
%图(“名字”、“Sauvola阈值性能试验后”,“NumberTitle”,“关闭”);
Image_segmented = nnz (sauvImage)
alphabet_segmented{我IntDiff_no Noise_no} = Image_segmented;
check_foreground{我IntDiff_no Noise_no} =总和(sauvImage (:))
ζ{我IntDiff_no Noise_no} = alphabet_orginal {1,} / alphabet_segmented{我IntDiff_no Noise_no};
如果alphabet_segmented{我IntDiff_no Noise_no} = = check_foreground{我IntDiff_no Noise_no}
真的= true + 1;
结束
次要情节(5、1、Noise_no);
imshow (alphabetNoiseimg_collection{我IntDiff_no Noise_no});
;
标题(sprintf (的高斯噪声性病dev % f和强度差异% f '、噪音、IntDiff_percentage));
结束
结束
结束
结束
图(“名字”sprintf (% d强度不同的字体大小font_size),“NumberTitle”,“关闭”);
int_no = 1: IntDiff_no
次要情节(5、1、int_no);
imshow (Int_image_array{我int_no});
;
标题(sprintf (“字母强度差异% d %”intensityDifference (int_no)));
结束
结束
结束
流(“% d sauvola形象”,真正的);
图(“名字”,“图像不同font_size”,“NumberTitle”,“关闭”);
font_no = 1: numImages
each_font = num_fonts (font_no)
次要情节(5、1、font_no);
imshow (Orig_grayImage {1, font_no});
;
标题(sprintf (“图像% d字体大小”each_font));
结束
结束
图(“名字”,“Sauvola阈值”,“NumberTitle”,“关闭”);
font_size = num_fonts(我)
IntDiff_no = 1: each_intensityDifference
IntDiff_percentage = intensityDifference (IntDiff_no)
Noise_no = 1: each_noise
噪音= num_noiseimg (Noise_no)
次要情节(5、1、Noise_no);
imshow (alphabetSauvImage_collection{我IntDiff_no Noise_no});
标题(sprintf (的图像% d字体大小,% f强度差异,% d噪音',IntDiff_percentage font_size噪音));
结束
结束
结束
结束
结束

答案(1)

Sameer Pujari
Sameer Pujari 2021年7月19日
存储单元阵列中的数据可以使用下面的命令
zeta_array = cell2mat(ζ)
2的评论
塔克伟业
塔克伟业 2021年7月20日
策划作为我的x轴有问题我想情节,在2 d,但3 d y轴由于我想将不同的参数的值存储在不同的维度。

登录置评。

标签

s manbetx 845


释放

R2018a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的