Powered by and 圖示來源

2011年12月25日星期日

這學期的數位視訊系統老師叫我們寫一個作業,題目:
是說把一張彩色的圖以RBG為做向量(vector),再透過generalized Lloyd algorithm去把圖片重新編碼。

大學時都沒這麼認真用過MATLAB! @@

glloyd_training.m
function [codebook, Index] = glloyd_training(ImgPxl, CS, Vector_Len, er, x, y)
  Training_idx = (x*y*3)/Vector_Len ;
  Training_set = reshape(ImgPxl(:), Training_idx, Vector_Len);
  codebook = zeros(CS, Vector_Len) ;

  Child_group = fix(Training_idx/CS); %每個codebook 值將會代表幾個原始值,取整數
  for i = 1 : CS %先分成codesize 區塊,每一塊先取平均值
    codebook(i,:) = mean(Training_set(((i-1)*Child_group+1):i*Child_group,:) );
  end

  old_MSE = 0;
  inited=0;

  MSE_diff=100;
  min_diff =2;
  %新舊codebook 的MSE相差小於min_diff,就不再做下去. 當作是完成了.
  while (MSE_diff>min_diff)
    if (inited>0)
      for i = 1 : CS
        same_group = find(Index == i) ;
        if ~isempty(same_group)
          codebook(i, :) = mean(Training_set(same_group, :));
        else %沒有任何值落在這邊 就抓附近的來補一下
          if i == 1
            codebook(i,:) = mean(codebook([2 3],:)) ;
          elseif i == CS
            codebook(i,:) = mean(codebook([CS-1 CS-2],:)) ;
          else
            codebook(i,:) = mean(codebook([i+1 i-1],:)) ;
          end
        end
      end
    else
      inited =1;
    end

  coded_value = zeros(Training_idx,1);
  %將所有的vector 依codebook分類
  for i = 1 : Training_idx
    Current_Vector = Training_set(i,:);
    %分身為CS筆
    Current_Vector_n = Current_Vector(ones(CS,1),:);
    %算出MSE
    vector_MSE = sum(((Current_Vector_n-codebook).^2).')/Vector_Len ;
    %選MSE最小的
    [coded_value(i), Index(i)] = min(vector_MSE) ;
  end

  VQImg = codebook(Index,:) ;
  VQImg = reshape(VQImg(:), y, x, 3) ;
  MSE = mse(ImgPxl - VQImg);

  if (old_MSE)
    MSE_diff = abs(old_MSE-MSE);
  else
    MSE_diff = abs(MSE);
  end
    old_MSE= MSE;
    MSE_diff
  end
廣告



VQ.m
function VQ(CS)
%Usage: VQ(CS)
%CS is codebook size(L)
    Vector_Len = 3;
    er = 5;
    ImgFile = 'Lena.jpg';

    ImgPxl = double(imread(ImgFile)) ;
    Pic_info = imfinfo(ImgFile);

    [codebook, index] = glloyd_training(ImgPxl, CS, Vector_Len, er, Pic_info.Width, Pic_info.Height) ;

    VQImg = codebook(index,:) ;

    VQImg = reshape(VQImg(:), Pic_info.Height, Pic_info.Width, 3) ;
    MSE = mse(ImgPxl - VQImg)

    index = gcf();
    if (index ==1)
    figure(index);
        imshow(uint8(ImgPxl)) ;
        title('Source' ) ;
    end
    figure(index+1) ;
    imshow(uint8(VQImg)) ;
    title(['VQ L=',int2str(CS)] );

檔名在VQ.m是寫死的
ImgFile = 'Lena.jpg';

把程試簡化,讓助教比較好處理。
>> help VQ
Usage: VQ(CS)
CS is codebook size(L)

跑幾張圖來試試看好了!

source
廣告




VQ(8)

VQ(32)

VQ(128)

居然V32就已經看不太出來有什麼差別了.
這個故事告訴我們,"做影像處理的報告,乖乖的用Lenna就對了"

matlab code參考自:
http://www.wretch.cc/blog/Lak4CYUT/3518815


2010年12月2日星期四

很遺憾發佈這個訊息,巴布歷經了三年多的運作,由於諸多因素,最後還是選擇關閉這項服務。
由下面欄位輸入您在巴布的帳號與密碼,即可下載保存你的所有日誌內容!
最後感謝大家這三年多來的支持,謝謝~
巴布 敬上

關站 FAQ:
問: 11/6號之後還可以使用巴布的功能嗎?
答: 不行喔!11/6 開始只會剩下目前這個公告跟下載備份的功能,一直到 12/31 止。

問: 巴布關閉之後,資料會怎麼處理?會賣掉嗎?
答: 請放心,會全部清除,不留痕跡。

問: 日誌如果忘記保存,正式關閉之後還可以下載嗎?
答: 沒辦法喔!2011/1/1 正式關閉巴布之後,資料就會全部刪除。

問: 還有其他地方可以讓我碎碎念嗎?
答: Twitter 或 Plurk(有中文介面) 或 痞客邦提供的 murmur

問: 我還有其他問題,可以從哪邊詢問?
答: 我的噗浪帳號: http://www.plurk.com/nlrson XD

from http://close.buboo.tw/
廣告




我的日誌日期 內容
2009-02-12 01:26:25 為了要把這個東西塞到blog,搞好久,終於搞定了。一個blog,掛這麼多東西,怎麼排版真的很傷腦筋。

2009-02-12 10:14:07 早上新台說 [日本貴婦團來台,商機5000萬],似乎想跟陸客較勁。

2009-02-12 14:12:55 撐到下個領薪日 ,1700+icash(2xx) --月光萬歲 月光無罪

2009-02-13 11:46:06 ミノタウロス = Minotaur = 米諾陶洛斯(牛頭人-神話生物)。minotau rosu是日文的發音,日文我很外行,今天第一次發現,他們沒有純氣音,明明是s 的音,卻只能用su(ス)來發音。 應該是這樣造成日式英文發音總是奇怪。

2009-02-15 22:06:54 今天在高速公路上,還沒到造橋收費站就開始塞車,一路塞到新竹,路上明明沒什麼事故,倒是在一台測速的交通車之後,車速就回復正常,看來兇手就是測速的警車了。順道很不爽的要提一下,國道3號車速上限是110km/hr,國道1號某些路段也有到110km/hr,不論如何,別在快速車道開90。

2009-02-17 12:37:03 最近很缺錢,唉阿,機車怪怪的也不敢給車行看,等下個月再說,但是又有多少事在下個月等我阿?

2009-02-18 09:56:38 TTD(運輸大亨)真的很好玩,昨天回家設計鐵交的交流道,真的很有趣,蓋了一條長程鐵路中間有6個交流道,搞的這線的火車營收比飛機還高。

2009-02-18 16:26:42 交大在職班報名日期98年1月13日止,今天98年2月18日。

2009-02-19 12:56:41 [link] 天殘腳

2009-02-20 17:37:57 卡關卡關卡關...卡很大!卡不用錢。
2009-02-24 15:51:22 破關了 破關了 igmp 破關了
2009-02-25 15:35:54 [link] 用wii玩Quake
2009-02-26 14:49:54 我的五一勞動節禮金,不要變成下午茶基金。
2009-03-04 09:49:50 向上提升的力量。
2009-03-06 19:47:44 領薪水,買個雨衣,黑衣 黑皮。
2009-03-10 23:18:17 NB的變壓器找hw人員修理之後,似乎正常了.
2009-03-11 16:23:54 用午休時間工作,用抽煙時間工作,也許就能用下班時間下班。
2009-03-12 09:39:37 今天出太陽了
2009-03-12 19:23:40 話如果不是每個人都能聽,就不要說出口。
2009-03-16 15:39:45 高級的衛生紙,高級的衛生紙,一串一百元,賣你五十元。
2009-03-23 09:56:16 由寶山入口進十八尖山,走到博愛路口再折返。累
2009-04-17 09:48:18 You know, Ian really had it coming to her after all those things I said about her mom <= 什麼意思阿? 2009-04-17 10:29:47 had it coming to 活該 2009-04-22 14:00:23 貴死人的達美樂,現在推全民系列,大pizza只要239元, 終於佛心來著. 2009-04-26 00:26:40 TGI Fridays [link] 主餐加前菜299. 也不錯
2009-04-27 12:02:32 達美樂239全民系列, 只有薄薄的一片, 幾乎忘了它的存在, 請不要跟平常的達美樂做不正常的連想, 以免失望.
2009-04-30 19:55:27 斥候回報..台股大暴衝 10:38 大漲374點( 6.6%)
2009-05-02 14:50:34 誰會使用小畫家之外的繪圖軟體阿?
2009-05-03 21:16:41 資料庫被自已搞死了.. 備份真的不要太早刪掉
2009-05-06 15:22:46 公司的飲料漲價了...
2009-05-12 18:51:04 ITU-T的文件也中文化... 就甘心...
2009-05-22 13:33:48 欲練神功, 必先自宮
2009-06-04 11:51:05 頭好痛
2009-06-06 22:51:49 消失的建保卡 (@.@)
2009-06-13 20:02:32 op 546 : 居然放鬆警戒, 你是業餘的嗎?
2009-06-17 17:29:14 夾層中的健保卡.. 原來你一直都在.
2009-06-17 17:34:03 [link] 好想買來連線.. 數十年前練就的身手,蠢蠢欲動.
2009-06-24 10:51:28 直轄市包圍另一個直轄市... 很有創意!
2009-06-26 14:53:17 5年前為iometer增加data integrity, 聽聞最近又有人在做這事...依我看... 不如花點錢, 買我五年前的code.
2009-06-28 18:43:44 好衰 又拿到紫色....
2009-07-02 17:36:49 快速升級ing
2009-07-06 09:39:21 北埔冷泉,好玩的不在冷泉而是溪水.
2009-07-22 15:22:43 大熱天公司空調居然壞掉 之 火の國木葉忍村.... 忍.... 忍... 忍...
2009-07-27 09:56:12 阿不思... 你怎麼剛放完超大火海術就被殺了呢?
2009-07-30 17:11:06 名偵探柯南 第十三彈漆黑的追跡者
2009-07-31 16:51:01 八成是感冒了
2009-09-01 10:32:58 好吃的石鍋拌飯只要70元..
2009-09-02 10:26:48 希望經濟景氣了之後... 不景氣時的措施都會反轉。
2009-09-22 09:17:41 喉嚨又不舒服了... 我又沒炸雞排... 但有吃排骨飯
2009-09-25 16:47:10 哼 好人沒好報
2009-09-30 14:00:27 馬的.. 要出超級快打旋風..買了快打旋風的不就都笨蛋
2009-10-01 09:50:57 易鼎(大鼎)活蝦的蝦變小了.... 以後吃蝦要改地方了..
2009-10-05 18:01:01 風大雨大... 賺錢最大
2009-10-20 10:26:05 有寵物的放寵物 有小孩的放小孩.... 這到底是誰的msn阿?
2009-10-21 09:53:57 玻璃般...啪的一聲就碎了
2009-10-23 14:39:13 北海道... 總是有機會....
2009-10-25 19:41:44 缺席又出席.. 但還是缺席了
2009-10-26 09:22:00 速食店的雞不能吃 現在連牛也不能吃
2009-10-29 12:23:02 看manual就想解bug嗎, FAE?
2009-10-31 18:33:23 一條土司一星期
2009-11-01 21:50:21 韓國人怎麼永遠都在喝果汁
2009-11-02 16:50:11 [link] 吃起來一定很爽
2009-11-03 19:14:49 頭前溪橋的風也太大了吧!
2009-11-04 15:27:46 每個業務都是理... 真有派頭
2009-11-05 10:10:13 一大早就健行... 健康人生
2009-11-11 19:03:42 <沉澱完成> 開始瞎攪和
2009-11-19 22:40:01 吃的好飽... 過太好~!
2009-11-24 16:30:45 生活還是要好好過 不然會被誤解!
2009-12-01 14:07:16 吃完飯就午休...會漲氣..
2009-12-02 18:36:45 好像開始討厭便當了...
2009-12-03 18:59:37 清空了…
2009-12-04 13:45:10 [link] [link] 韓國國格太差.. 我相信這一定是他們搞的鬼
2009-12-05 23:42:40 嚴苛的意義?
2009-12-14 00:05:46 真相就是"嚴苛"
2009-12-16 21:19:07 今年考四科... 而且考制很怪異
2009-12-31 00:07:06 三更半夜哪裡找散熱膏?
2010-01-01 23:32:26 好戲上演... 第二回合我愛你
2010-01-06 12:27:43 納美人跟納美克星人 最大的差別是藍綠不同!!!
2010-01-15 11:45:37 Alice:原來又黏又甜的麥芽糖這麼好吃。
2010-01-22 10:42:04 胭脂馬遇到關老爺
2010-01-24 12:28:53 剎車也是驗車項目之一。
2010-02-08 10:28:42 Should I rename to jasper?
2010-02-17 22:39:53 油漆工
2010-02-19 10:40:50 紅豆綠豆薏仁湯
2010-03-04 08:47:48 蔥抓餅加蛋30元, 物價超高趕北.
2010-04-02 15:28:36 華杭寺主持,法號空解, 簡約--華杭空解
2010-04-04 11:17:58 開修昂a李記
2010-04-26 16:50:13 每秒50k
2010-04-26 16:51:18 50kB/s 叫我怎麼開發?
2010-04-27 11:03:09 [link] 冰櫃準備好
2010-05-06 10:25:12 沒有加密的ap,通常UI都是default 值即可登入
2010-05-18 19:54:19 喔 我的天
2010-05-20 15:14:35 多嘴會被討厭,是因為暗盤不好操作。
2010-05-25 11:02:30 [link] 聽到這聲音還不快選char... 開打了。
2010-05-28 12:13:31 [link] 王金平:郭台銘的困難是國家的困難,政府應該伸出援手!
2010-06-03 21:52:46 我也想搞定
2010-06-03 21:58:30 用努力追上落後的部分... 追的回來嗎?
2010-06-10 14:47:57 天龍人的適當用法。
2010-06-10 19:55:48 大家都下班了.... :(
2010-06-28 10:50:19 現在是迷路還是在抄捷徑
2010-08-19 17:31:09 要去玩水囉
2010-08-25 12:16:12 公務員加薪半個月,年薪約上升3~4%,好龍兵你是對的你只說要加1~2%。
2010-09-01 09:28:32 噁心的3D食人魚。防暈tips:1.近視者請戴隱形眼鏡,2.盡量不要看字幕
2010-09-02 12:05:38 惡靈古堡4也要去看3D
2010-09-07 13:26:56 勁辣、勁脆傻傻分不清楚。
2010-09-28 18:07:16 敵火下單兵作業。
2010-10-05 10:52:49 長坂橋上的寒風與黃沙
2010-10-14 10:20:51 [link] 人值得? 命中減少幾秒 多買一隻錶?
2010-11-02 10:41:39 2010年台北國際旅展11月5日至8日@世貿一館
2010-11-05 09:46:58 一個人吃一個大PIZZA(y)


2010年5月25日星期二

最近超級快打旋風Ⅳ出了。



超級快打旋風Ⅳ比起快打旋風Ⅳ多了許多角色。
如果有玩過快打旋風Ⅳ,聽到這個音樂一定會快速的選擇角色,然後進入遊戲。

真是太催人。


2009年7月29日星期三

昨天才發現新作
今天又一發

第5集


2009年7月28日星期二

這次原作者快速的推出兩集

第3集
第4集


##HIDEME##

##HIDEME##