91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-12
  • 語言: Matlab
  • 標簽: matlab??

資源簡介

對于顏色不太豐富的彩色圖像來說,用 24 位存儲真彩色存在一定的浪費。如果 24 位彩色轉成 256 色圖像,則可以將數據壓縮到原來的 1/3。但是,壓縮的過程中可能存在失真。因此,保持顏色最小失真的情況下,選擇保留主要顏色,去除非主要的顏色是壓縮算法的重 點。-

資源截圖

代碼片段和文件信息

function?[IImap]=Truergbto256(Filen)
%%?-----------------------------------------------
%??EXPLAIN:?24位RGB真彩色圖像轉256色圖像程序
%??
%??INPUT:?File:圖像文件名
%?????????n:數據預處理時的參數,即舍棄原數據低位的位數
%????????
%??OUTPUT:?II:?轉換后的圖像數據,
%??????????map:256色圖像的調色板
%??????????并轉換后得到的256色圖像寫入文件
%
%??AUTHOR:Yang?Hao
%??DATE:?2019/5/8
%%?-----------------------------------------------

%tic??%計時
img=imread(File);
[MNdim]=size(img);
if?dim~=3?||?~isa(img‘uint8‘)?%?輸入文件不是24位真彩色圖像則報錯并結束程序?
????error(‘Error!!!?Please?enter?the?correct?24-bit?true?color?image‘);
end
Iold=img;%保存原數據,方便后續計算

%%?數據預處理
img=floor(double(img)/2^n);%舍棄低位n位數據
%?分別讀取R、G、B值
R=img(::1);
G=img(::2);
B=img(::3);
%?將R、G、B整合為一個唯一整數數組,一個整數唯一代表了一種顏色
color=(double(R)*10^4+double(G)*10^2+double(B));

sta?=?tabulate(color(:))‘;%統計各個整數符號的概率
sta(:find(sta(2:)==0))=[];%刪除概率為0的列
symb?=?sta(1:);%?所有出現整數符號數組,
freq?=?sta(3:);%?所有出現整數符號的概率數組,

%%?調色板創建
[~sortindex]?=?sort(freq‘descend‘);%概率數組有高到底排序
symb?=?symb(sortindex)‘;?%按概率排序的符號
if?length(symb)>256?%?若原圖像顏色小于256種,則全部顏色作為調色板顏色,否則取概率前256種顏色
????symb?=?symb(1:256);
end

%?恢復整數代表的唯一顏色,三個分量分別存儲為r、g、b
r=floor(symb/10000);
g=floor(mod(symb10000)/100);
b=floor(mod(symb100

評論

共有 條評論