Unable to perform assignment because the size of the left side is 20-by-1 and the size of the right side is 20-by-20-by-3.

1 回表示 (過去 30 日間)
Hi, I need to make image with single letter. It needs to vary in terms of font size and noise using variance(later on) under the same parameter for image size. I should store the images withdifferent font sizes of the letter and display it. Please help. I have try to store it in cell array. But it said "
How could I solve this? I tried to use cell array but I failed. Thank you. I am quite confused with the array, Hope to have someone to guide me. Thank you.
%create blank image
w = 20;
h = 20;
blankImage= 255*ones(w,h,3,'uint8');
position_x = (w+1)/2;
position_y = (h+1)/2;
% % Extract the individual red, green, and blue color channels.
% redChannel = rgbImage(:, :, 1);
% greenChannel = rgbImage(:, :, 2);
% blueChannel = rgbImage(:, :, 3);
font_size = 10;
new_font = font_size + i;
font_start = 10;
font_end = 16;
total_img = font_start:2:font_end;
length(total_img)
% size_A = zeros(8, 'int8');
%function row_column =
% size_A = cell(1,pic_num);
%
for i=1:length(total_img)
for font_size = total_img(i)
A(:,:,i)= insertText(blankImage,[position_x position_y],'A','Font','Times New Roman','FontSize',font_size,'TextColor','black','BoxColor','w','BoxOpacity',0,'AnchorPoint','Center');
A(:,:,i)= rgb2gray(A(:,:,i));
A(:,:,i)= imnoise(A(:,:,i), 'gaussian', 0.01);
i = i+1;
end
end
% subplot(2,2,1);
montage(A);
% imshow(A(i+1);
axis on;
title('A uppercase with noise');

採用された回答

DGM
DGM 2021 年 5 月 1 日
I don't have CVT, so I can't test this, but insertText() is returning an RGB array and you're trying to fit it into a single page of a multipage image. If you're doing operations with a working image that doesn't start out with the right dimensions to fit in its destination, don't try to put it there until it does fit.
thispage = insertText(blankImage,[position_x position_y],'A','Font','Times New Roman','FontSize',font_size,'TextColor','black','BoxColor','w','BoxOpacity',0,'AnchorPoint','Center');
thispage = rgb2gray(thispage);
A(:,:,i) = imnoise(thispage, 'gaussian', 0.01);
  5 件のコメント
Image Analyst
Image Analyst 2021 年 5 月 1 日
If @DGM's answer solved your problem, please click the "Accept this answer" link to give him reputation points.
Tuck Wai Yip
Tuck Wai Yip 2021 年 5 月 2 日
編集済み: Tuck Wai Yip 2021 年 5 月 2 日
Hi,@Image Analyst I clicked "Accept this answer" before you said it :).By the way, thank you on your reminder.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGet Started with Image Processing Toolbox についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by