2014年9月8日 星期一

[Digital image processing] MATLAB中如何擷取特定顏色?

最近在研究一個色彩學上的問題

就是如何將特定顏色 (Ex. 藍色) 擷取出來

經過一段時間的查找

在StackOverFlow上找到了一篇相似的文章

How can I convert an RGB image to grayscale but keep one color?

該文中的問題是如何將非紅色的部分變成灰階影像(Grayscale)

利用文中的方法,將藍色的圖案給試出來

先附上第一版的程式 & 圖檔作為記憶

執行結果


MATLAB 程式碼
clear all;
clc;

% Import image
prt_img = imread('C:\Users\alex Hsu\Desktop\Printer_video\20140908_test_img.jpg'); % imread can show color image
%class(prt_img);

% Color detection
for y = 1:size(prt_img,1)
    for x = 1:size(prt_img,2)
        red   = prt_img( y, x, 1 );
        green = prt_img( y, x, 2 );
        blue  = prt_img(y, x, 3);
          if (blue < (red * 1.4) || blue < (green * 1.4) )
                avg = (red + green + blue) / 3;
                for z = 1:3
                    prt_img(y, x, z) = avg;
                end
        end
    end
end

附註 :

Wiki : HSL and HSV

HSV 相對於RGB的優勢在於顏色的組成只由單一顏色,而非像 RGB 是由Red Green Blue 三種顏色混合而成,比較容易將特定顏色擷取出

2013年1月7日 星期一

按下Form按鈕產生的bug

自從按下 MEM 鍵 會產生下面的對話視窗說:System.NullReferenceException



上網查了一下,應該是參考了(亦即是使用)某個空的(英文叫做Null)變數或函數

這裡有一篇博文專門在探討這個問題,而官方MSDN對他的解釋在這。

這篇 Stack OverFlow 的文章 教我用 CTRL + ALT + E 尋找那個例外

找了bug許久,尚未找到,此問題尚待日後解決。

2013年1月6日 星期日

創新為何?


昨日特地寄信給彭明輝老師請教"何為創新"

老師回答我說:
------------------------------------------------------------------------------------------------------------

在碩士班上的創新可以先看這篇

學術文獻回顧與分析的程序與技巧

其他領域如使用者經驗等等的創新可以先看

使用者經驗設計:(1)UX design 的過去

而清大工工系則有開設

談論 TRIZ萃智 的課程

------------------------------------------------------------------------------------------------------------

希望我在了解其來龍去脈之後,能夠掌握何為"創新"

以及找到未來台灣產業的突破之道

在路上!


2013年1月5日 星期六

CNC 系統 Debug 前哨站

今天Debug VC++說 :
第一個可能發生的例外狀況類型
'System.NullReferenceException' 發生於 AlexCNC.exe
類型 'System.NullReferenceException' 的未處理例外狀況
發生於 AlexCNC.exe 
其他資訊: 並未將物件參考設定為物件的執行個體。 
上網查過之後發現是 Run time Error 的一種

MSDN論壇的討論串
http://social.msdn.microsoft.com/forums/zh-TW/233/thread/182a8bc2-d50b-49a6-9a46-f96ab56df779

2012年12月11日 星期二

3D printing的未來

這是來自36氪介紹3D printing的文章 與 其他論壇的另一篇文章在這

(36氪相關系列介紹文在這)

這顯示未來3D printing 很有可能會大量應用在製造業上

很有可能後讓製造業周邊的生態圈造成一個極大的巨變。

如果只把它看成一個印表機而已的話

將會對這項技術的未來失去"想像"

記住,愛因斯坦跟很多名人都說過 : 「人類的極限來自他的"想像"能力」

我應該細細體會、消化背後所帶來的意含。

觀察身邊周遭人的不便及需求在哪。


2012年12月9日 星期日

走上Ruby on Rails之路


在這篇
想要創業?可以從學寫程式開始,以及10個給網站開發初學者練功的點子
是由Inside 創辦人林宜儒所發的文章

在這裡面其實提供了一個非常好的學習網頁的起步方式。

如果說學校圖書館的書本資訊過舊(NTHU的Rails書籍當時間一過之後就過時了)

其實網路上有非常多的資源等待我們去取用。

例如,想要建立一個Blog該怎麼做?

不妨試試在Google key in 你想問的問題,並且以英文表達

就會得到:

    英文文字教學(連結)
  
    以及



(Windows的朋友可以試試 Sublime text 2 或是 XDite 推薦的vim 做為開發工具)

# vim 的介紹 : 網址在這  ,看畫面與Mac的 TextMate有得拚
#有興趣的朋友可以仔細比較它們之間的差異,我手邊沒有Mac
#只能比較Sublime text 2 與 vim的差別囉

2012年12月8日 星期六

Ruby 的 模板要去哪裏找?

找了許久,一直在尋找與WordPress相同的模板

後來終於找到關鍵字了

估狗Ruby Theme就可以找到囉!

/* 載入prettify的autoloader */ /* 載入JQuery */