Adding 0s and 1s to Bit Data
조회 수: 1 (최근 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!