我如何使我的条形码生成videowriter循环更大、更清晰的吗

20视图(30天)
我的代码是关于编码文本文件为一系列3-x30 2 d颜色(黑色、白色、红色、棕色、深绿色叶,青色,天空蓝色和黄色)条形码
  1. 将字符串转换成一个二进制表示,每个字符由ASCII值的二进制表示形式。
  2. 与颜色细胞填充框架后,垫用空白,黑色边框,更大的空白。
  3. 显示帧使用getframe和捕捉它。
  4. 玩生成帧使用implay指定的帧速率。
  5. 写了帧的视频文件。
  6. 关闭视频文件和文本文件。
%定义颜色
黑色= (0,0,0);
布朗= (139、69、19);
红色= (255,0,0);
dark_green = [0, 100, 0];
青色= [0,255,255];
sky_blue = (135、206、250);
黄色= (255、255、0);
白色= (255、255、255);
颜色={青色,黑色,棕色,红色,dark_green sky_blue,黄色的,白色的};
%读取文本文件
文件标识= fopen (“BarcodeText.m”,“r”);
formatspec =“% c”;
一个= fscanf (Inf文件标识,formatspec);
B =双(A);
C = dec2bin (B);
C = C -' 0 ';
C = C ';
BinaryInput =重塑(C, 1, []);
BitsPerChar = 3;
AmountOfBits =大小(BinaryInput, 2);
RemainingBits =国防部(AmountOfBits, 900);
FillBarcode =国防部(RemainingBits 30);
如果RemainingBits ~ = 0
Addzeroes = 900 - RemainingBits;
BinaryInput (1, AmountOfBits + Addzeroes) = 0;
其他的
结束
VideoUpload = VideoWriter (“ColoredBarcodeVideo.avi”);
VideoUpload。帧速率= 7;
打开(VideoUpload);
nFrames =装天花板(AmountOfBits / (30 * 30 * BitsPerChar));
帧= 1:nFrames
BarcodeFrame = 1 (30) * 9;
行= 1:30
坳= 1:30
bitIndex =(框架- 1)* 30 * 30 * BitsPerChar +(行- 1)* 30 * BitsPerChar + (col - 1) * BitsPerChar + 1;
如果< = AmountOfBits bitIndex + BitsPerChar - 1
colorBits = BinaryInput (bitIndex: bitIndex + BitsPerChar - 1);
colorIdx = bi2de (colorBits) + 1;
其他的
colorIdx = 1;如果不够位%默认为黑色
结束
BarcodeFrame(行,坳)= colorIdx;
结束
结束
%创建彩色帧
%……
%创建彩色帧
ColoredFrame = 0(30日,30日,3);
行= 1:30
坳= 1:30
ColoredFrame颜色(坳,行:)= {BarcodeFrame(行,上校)};
结束
结束
%添加边界
空白= padarray (ColoredFrame 3 3 0, 1,“两个”);
BarcodeBorder = padarray(空格、(10 10 0),“两个”);
ParBarcode = padarray (BarcodeBorder, 100 100 0, 1,“两个”);
%……
%保存帧
imshow (ParBarcode“边界”,“紧”);
drawnow;
暂停(0.1);%添加一个小的停顿让图形更新
F = getframe (gcf);
scaleFactor = 30;%增加scaleFactor条形码细胞更大,也更模糊
ResizedFrame = imresize (F。cdata, scaleFactor);
writeVideo (VideoUpload ResizedFrame);
结束
关闭(VideoUpload);
fclose (“所有”);
视频的一部分创建的示例。

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2023年5月9日在55
您已经创建了ColoredFrame使用后 克隆亚麻 repelem 将每个像素扩展到一个完全相同的块。
例如,
M =魔法(4)
M = 4×4
16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
M3 = kron (M, (3))
M3 = 12×12
16 16 2 2 2 3 3 3 13 13 13 16 16 2 2 2 3 3 3 13 13 13 16 16 2 2 2 3 3 3 13 13 13 5 5 5 11 11 11 10 10 10 8 8 8 5 5 5 11 11 11 10 10 10 8 8 8 5 5 5 11 11 11 10 10 10 8 8 8 9 9 9 7 7 7 6 6 6 12 12 12 9 9 9 7 7 7 6 6 6 12 12 12 9 9 9 7 7 7 6 6 6 12 12 12 4 4 4 14 14 14 15 15 15 1 1 1
3评论
putera amiruddin
putera amiruddin 2023年5月10日6点45
我试过,但也没有改变。这是在imshow原始大小。但在视频文件是拉伸使其模糊。

登录置评。

类别

找到更多的在图像预览和设备配置帮助中心文件交换

下载188bet金宝搏


释放

R2022a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!