Running a forloop to add text in the black pixels only!

1 visualización (últimos 30 días)
Tanjena Azim
Tanjena Azim el 20 de Sept. de 2021
Editada: Tanjena Azim el 22 de Sept. de 2021
Here, 'FID' is a text file, I embed it with 'X' image by the following code.....But now I want to add the text in the black background only!...
So, my idea is to run another forloop, which will embed the text when it find the black pixels '0' and will skip the row when it find '>0' or '256' white pixels. So that, the central white object can be avoided from adding text.
Are here any forloop expert to help me with this idea???
FID = fileread('I:\New folder\ldpc.txt');
Str=uint16(FID);
x=imread('I:\New folder\watershed.bmp');
x=uint16(x);
[x_row,x_col]=size(x);
c=numel(Str);
a=1;
for i=1:x_row
for j=1:x_col
if(a<=c)
if(x(i,j)+Str(a)>255)
temp=x(i,j)+Str(a)-256;
else
temp=x(i,j)+Str(a);
end
z(i,j)=uint8(temp);
else
z(i,j)=uint8(x(i,j));
end
a=a+1;
end
end

Respuestas (1)

DGM
DGM el 20 de Sept. de 2021
Consider:
Str = fileread('adapthisteq.m'); % using this in place of a custom text file
x = im2uint8(imread('circles.png')); % assuming images should be uint8 scaled
% assuming that we're only modifying areas which are exactly zero
% also assuming that Str may contain values outside [0 255]
z = x.';
bpixels = find(z==0);
z(bpixels(1:numel(Str))) = mod(Str,256);
z = z.';
imshow(z)

Categorías

Más información sobre Convert Image Type en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by