convert pixel to image
11 views (last 30 days)
Show older comments
I want to convert pixel values that store in my outout text file into image(png or jpg).Each pixel is in 16 bits (and i have another file with integer uint16) .Format :695 columns,316 rows,219620 pixel. i didnt succeded to convert my pixel to image but i did this code:
fid = fopen('C:\Users\hp\Desktop\pixel.txt', 'r');
A = fscanf(fid,'%d');
B=imresize(A,[695 316]);
outImg = reshape(B,[695 316]);
outImg = outImg';
figure, imshow(outImg',[]);
1 Comment
Rik
on 17 Mar 2019
You should probably first use the reshape, before using any resize. If you want more specific help, you might have to attacht the txt file.
Answers (3)
Image Analyst
on 18 Mar 2019
A is not 216620 pixels. So I decided to find out what rectangular size it was so we could reshape it into a rectangle of that size. This is what I got
fid = fopen('pixel.txt', 'r');
data = fscanf(fid,'%d');
fclose(fid); % DON'T FORGET THE fclose()
len = length(data);
fprintf('The length of A is %d elements\n', len);
for k = 2 : len - 1
ratio = len / k;
% fprintf('For k = %d, length(A)/k = %f\n', k, ratio);
if rem(ratio, 1) == 0
fprintf('%d is %d by %d.\n', len, k, len / k);
end
end
The length of A is 174578 elements
174578 is 2 by 87289.
174578 is 41 by 4258.
174578 is 82 by 2129.
174578 is 2129 by 82.
174578 is 4258 by 41.
174578 is 87289 by 2.
So what number of rows and columns do you expect this to have before resizing to 316 rows by 695 columns?
8 Comments
See Also
Categories
Find more on Convert Image Type in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!