1554|0

1140

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

你知道怎样用C6000导入指定图像数据么? [复制链接]

下面为Matlab程序:
[plain] view plain copy
clear all;  
close all;  
clc;  

img=imread('1280_720.jpg');  
%img=mat2gray(img);  %任意区间映射到[0,1];  
[m n dim]=size(img);  

%figure,imshow(img),title('原始图像');  
%%图像的RGB  
img=double(img);  
R=img(:,:,1);  
G=img(:,:,2);  
B=img(:,:,3);  

%%RGB2YCbCr  
Y=zeros(m,n);    %亮度  
Cb=zeros(m,n);   %彩度  
Cr=zeros(m,n);   %浓度  
matrix=[0.299 0.587 0.114;  
        -0.1687 -0.3313 0.5;  
        0.5 -0.4187 -0.0813];  
for i=1:m  
   for j=1:n   
        tmp=matrix*[R(i,j) G(i,j) B(i,j)]';  
        Y(i,j)=uint8(tmp(1));  
        Cb(i,j)=uint8(tmp(2)+128);  
        Cr(i,j)=uint8(tmp(3)+128);  
   end  
end  

%%YCbCr2RGB  
matrix=inv(matrix);  
for i=1:m  
   for j=1:n   
        tmp=matrix*[Y(i,j) Cb(i,j)-128 Cr(i,j)-128]';  
        R(i,j)=tmp(1);  
        G(i,j)=tmp(2);  
        B(i,j)=tmp(3);  
   end  
end  

%%如果正反变换都没错的话,那么图像是不变的  
img(:,:,1)=R;  
img(:,:,2)=G;  
img(:,:,3)=B;  
%figure,imshow(uint8(img)),title('原始图像验证');  

I1 = zeros(m,2*n);  

for i=1:m  
   for j=1:n  
   I1(i,2*j-1) = Y(i,j);  
end  
end  

for i=1:m  
   for j=1:2:n  
   I1(i,2*j) = Cb(i,j);  
end  
end  

for i=1:m  
   for j=1:2:n  
   I1(i,2+2*j) = Cr(i,j);  
   end  
end  
%{%}  

%  imview(I1,map);  
fid=fopen('.\1280_720_new.dat','wt');   %打开一个文件写入数据  
% fid=fopen('f:\bmp2.dat','w');  
fprintf(fid,'1651 9 806BD000 0 %x c\n',m*n*2);  


%N=0;  
for i=1:m  
    for j=1:2*n  
    %N=N+1;  
        index = floor((j-1)/2);  
        chang_col = - j + 3 + index*4;  
    if I1(i,chang_col) < 16  
        fprintf(fid,'0x0%x\n',I1(i,chang_col));  
    else  
    fprintf(fid,'0x%x\n',I1(i,chang_col));  
    end  
%          if rem(N,1)==0;  
%          fprintf(fid,'\n');   
%          end  
    end  
end  
fclose(fid);  
上述matlab中修改参数:
img=imread('1280_720.jpg'); 此为图片名称,与.m文件处同一路径
fid=fopen('.\1280_720_new.dat','wt'); 生成文件名称

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表