zoukankan      html  css  js  c++  java
  • 生成彩条的MATLAB代码

    clc;close all;clear
    %read image
    % RGBimga = imread('bmpinput_1080p.bmp');
    RGBimga = imread('bmpinput_720p.bmp');
    RGBimgb = RGBimga*0;
    RGBimga = RGBimgb;
    
    [Hs Vs Dim] = size(RGBimga);
    gate = Vs/6; %6个竖彩条间隔
    i = 1;
    RGBimga(:,(i-1)*gate+1:i*gate,1) = 255;    %R
    i = i+1;
    RGBimga(:,(i-1)*gate+1:i*gate,2) = 255;    %G
    i = i+1;
    RGBimga(:,(i-1)*gate+1:i*gate,3) = 255;    %B
    i = i+1;
    RGBimga(:,(i-1)*gate+1:i*gate,1) = 255;    %R
    i = i+1;
    RGBimga(:,(i-1)*gate+1:i*gate,2) = 255;    %G
    i = i+1;
    RGBimga(:,(i-1)*gate+1:i*gate,3) = 255;    %B
    figure;imshow(RGBimga);
    
    [Hs Vs Dim] = size(RGBimgb);
    gate = Hs/3; %3个横彩条间隔
    RGBimgb(1:gate,:,1) = 255;                 %R
    RGBimgb(gate+1:2*gate,:,2) = 255;     %G
    RGBimgb(2*gate+1:3*gate,:,3) = 255;  %B
    figure;imshow(RGBimgb);
    
    RGBimga = uint8(RGBimga);
    RGBimgb = uint8(RGBimgb);
    
    yuvima = rgb2yuv(RGBimga);  %rgb2ycbcr
    % yuvima = rgb2ycbcr(RGBimga);
    figure;imshow(uint8(yuvima));
    yuvimb = rgb2yuv(RGBimgb);
    figure;imshow(yuvimb);
    
    YUVimg = yuvima;
    yuvimout = zeros(1,Hs*Vs*Dim);   %整理数据
    yuvimout(1:3:Hs*Vs*Dim) = reshape(YUVimg(:,:,1)',1,Hs*Vs); %%Y
    yuvimout(2:3:Hs*Vs*Dim) = reshape(YUVimg(:,:,2)',1,Hs*Vs); %%U
    yuvimout(3:3:Hs*Vs*Dim) = reshape(YUVimg(:,:,3)',1,Hs*Vs); %%V
    fid= fopen('imga_720p.yuv','wb');   %整理后可快速输出到文件
        fwrite(fid,yuvimout,'uint8');
    fclose(fid);
    fid= fopen('imga_720p.txt','w');
        fprintf(fid,'%02x\n',yuvimout);
    fclose(fid);
    
    YUVimg = yuvimb;
    yuvimout = zeros(1,Hs*Vs*Dim);
    yuvimout(1:3:Hs*Vs*Dim) = reshape(YUVimg(:,:,1)',1,Hs*Vs);
    yuvimout(2:3:Hs*Vs*Dim) = reshape(YUVimg(:,:,2)',1,Hs*Vs);
    yuvimout(3:3:Hs*Vs*Dim) = reshape(YUVimg(:,:,3)',1,Hs*Vs);
    fid= fopen('imgb_720p.yuv','wb'); %% 写二进制文件 
        fwrite(fid,yuvimout,'uint8');
    fclose(fid);
    fid= fopen('imgb_720p.txt','w');  %% 写txt文件
        fprintf(fid,'%02x\n',yuvimout);
    fclose(fid);
  • 相关阅读:
    asp.net Forms验证跨域页面不能访问的问题
    JavaScript创建命名空间
    DataTable转换成JSON字符串的函数
    javascript 正确截取单字节和双字节混和字符串的方法
    异常详细信息: 不能通过已删除的行访问该行的信息
    HttpUtility.ParseQueryString直接从字符串URL中提取参数
    支持函数,变量的算术表达式计算(三、加入函数)
    mp3 分类管理工具
    我好累
    电饭煲是如何知道饭已熟了的
  • 原文地址:https://www.cnblogs.com/hythink/p/5224901.html
Copyright © 2011-2022 走看看