zoukankan      html  css  js  c++  java
  • matlab练习程序(RGB2YUV、YUV2RGB)

      这里的变换公式是模拟领域的公式,这里虽然是数字图像,不过也可以这样写,YCbCr采样另外的公式。

    clear all;
    close all;
    clc;
    
    img=imread('lena_color.jpg');
    img=mat2gray(img);  %任意区间映射到[0,1];
    [m n dim]=size(img);
    imshow(img);
    %%图像的RGB
    R=img(:,:,1);
    G=img(:,:,2);
    B=img(:,:,3);
    
    %%RGB2YUV
    Y=zeros(m,n);   %亮度
    U=zeros(m,n);   %彩度
    V=zeros(m,n);   %浓度
    matrix=[0.299 0.587 0.114;
            -0.14713 -0.28886 0.436;
            0.615 -0.51498 -0.10001];
    for i=1:m
       for j=1:n 
            tmp=matrix*[R(i,j) G(i,j) B(i,j)]';
            Y(i,j)=tmp(1);
            U(i,j)=tmp(2);
            V(i,j)=tmp(3);
       end
    end
    
    %%YUV2RGB
    matrix=inv(matrix);
    for i=1:m
       for j=1:n 
            tmp=matrix*[Y(i,j) U(i,j) V(i,j)]';
            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(img)
  • 相关阅读:
    Hive
    Hadoop简介与分布式安装
    Hadoop分布式文件系统HDFS
    HDFS的操作SHELL和API
    HDFS高级功能
    Yarn
    Hadoop的I/O操作
    Hadoop的RPC工作原理
    Mapreduce入门和优化方案
    MapReduce的工作机制
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2829221.html
Copyright © 2011-2022 走看看