Adding 0s and 1s to Bit Data
2 次查看(过去 30 天)
显示 更早的评论
I am using imgread to read binary 0,1 data and have to ultimately send it from an FPGA to a monitor using VGA Interface.The entire process would be greatly facilitated if I could add zeros to a 480x640 matrix(had to transpose original 640x480 because fprintf prints column wise ?).I want to know how to write 0 as 000 or 1 as 111 (corresponding to black and white RGB values)?
fid = fopen('3bitbinary.txt','w');
fprintf("","","");
fclose(fid);
Thanks!
0 个评论
采纳的回答
Chaya N
2016-10-18
From what I understand, it sounds like you need to generate a m x n x 3 matrix and the easiest way might be to simply do a repmat of your matrix. It should look something like this:
output_matrix = repmat(input_matrix,1,1,3);
When writing to file, the values have to be written depth-wise so use:
fprintf('%d %d %d\n', permute(output_matrix,[3 2 1]))
I hope this helps!
4 个评论
Chaya N
2016-10-18
Alternately, you could try the following:
fprintf('%d%d%d\n', permute(kron(input_matrix,[1 1 1]),[2 1]))
This works too.
更多回答(1 个)
Image Analyst
2016-10-19
Not sure what you're asking, but perhaps you're looking for padarray(). This function will add zeros to a layer around the outside edges of the image, whichever of the 4 sides you specify.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing and Computer Vision 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!