生成彩条的MATLAB代码
生活随笔
收集整理的這篇文章主要介紹了
生成彩条的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);
?
轉載于:https://www.cnblogs.com/hythink/p/5224901.html
總結
以上是生活随笔為你收集整理的生成彩条的MATLAB代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring MVC 复习笔记01
- 下一篇: github 创建新项目