最近在寫個實驗程式,小波變換是預先處理模組於是乎開始想法子實現之,好不容易找到了小波變換來源程式結果只支援灰階圖,於是乎又開始找從彩色圖轉灰階圖的來源程式(其實自己寫也不太麻煩,無非就是Gray = R * 0.299 G *0.587 B * 0.114對每個點映射下,但有現成的當然更好啦~),搞了半天除了學會用登出鍵讓螢幕變灰,然後截取系統自動轉換的灰圖(把要變灰的圖之前開啟當作背景),再就是發現了這個東東~很多轉換在平時都很常用,特別是要實現其中某塊功能把它們加入當前項目的時候很有參考價值(其實就算不實現,看看具體代碼還是有助於更理性的認識這些處理過程的),於是乎在這裡與各位作影像處理的同學共用哈。
順便在此向軟體作者表示衷心的感謝和支援哈~唯一遺憾的是代碼用java編寫,還要花點時間轉成C# @.@
----傳說中分割線,以上內容其實可以不用看~(戒律-防禦!我閃~)----
軟體作者BLOG:http://www.cnblogs.com/island/archive/2007/09/23/895052.html
以下為複製:
原創影像處理軟體(含源碼) 如果你對原始碼進行了進一步的加工和完善可以傳我一份兒,如果你願意的話~
------本人原創影像處理軟體,歡迎下載使用! 感謝QuickPoint大俠的熱心協助!
可執行JAR檔案 下載地址:http://files.cnblogs.com/island/Touch_jar.rar(含CHM協助文檔)
可執行EXE檔案下載地址:http://files.cnblogs.com/island/Touch_exe.rar(含CHM協助文檔,運行仍然需要JRE的支援)
源 代 碼 下載地址:http://files.cnblogs.com/island/Touch原始碼.rar
關於源碼的幾點說明:
1. 本系統的編製參考了一些範例但絕大部分都是自己寫的。
2. 由於時間匆忙,所以系統結構不是很富有層次感,製作的時候重視功能的實現而不太注重可讀性——注釋不多。
3. 系統實現用的是一些很基礎的方法,物件導向的繼承、封裝、多態等技術用得很少。
4. 本人既非軟體學院又非映像所的,加上時間倉促,疏漏之處再所難免,所以寫得不好請見諒。權作拋磚引玉吧。
5. 源碼僅供學習之用,可以自由複製、傳播、甚至修改,如果你可以將它改的更完善、更強大繁請你給我發一份兒,如果你願意的話。
軟體還有很多需要完善的地方,也歡迎大家提建議。影像處理演算法(除系統放大、矩形剪裁調用API函數外,另外Huffman編碼演算法參考過一些範例)都是自己根據演算法的原理寫的,不保證細節上完全正確,但是處理效果還是不錯地。
本軟體用純java語言編製而成,故其運行需要JRE(java運行環境,可以在這裡選擇Download JRE 進行下載,同時也正因為如此它可以在安裝了JRE的Linux等各類作業系統上運行.
該軟體支援jpg,gif、png圖片格式,大致有下列功能:
1. 映像放大、縮小、複製、列印、擷取當前映像任意位置顏色資訊。
2. 顯示映像灰階長條圖。
3. 灰階統計:映像寬度、高度、最小灰階、最大灰階、灰階均值 Mean、灰階方差 Variance、標準差、偏態 Skewness、峰度係數 Kurtosis、熵 (Entropy)。
4. RGB三原色分離、RGB圖轉灰階圖、灰階均衡、映像可調閾值二值化、映像反色。
5. 映像可調閾值邊緣檢測:Roberts運算元;Prewitt模板;Sobel模板;Kirsch運算元
6. 映像Huffman編碼。
7. 調色盤、螢幕捕捉、螢幕取色、螢幕上任意兩點距離的測量。
8. 水平鏡像、垂直鏡像、順時針轉90度、逆時針轉90度、矩形剪裁、水平剪除、垂直剪除。 9. 新版本改進:去掉了一些華而不實的東西,完善了不少細節,添加了協助文檔,並且打了個包,嗯,體驗下就知道了……
BTW:水平剪除好比在紙上畫兩根水平線,剪除兩線之間的部分,將剩下的部分合并到一起作為結果。垂直剪除類推。這兩個功能是HyperSnap裡面我最喜歡的兩個功能所以就把它實現了,呵呵~
並且每種操作都配有相應的快速鍵。
部分效果如下(還有部分未整理):
http://images.cnblogs.com/cnblogs_com/island/Beayty.swf (美女,嗯嗯~)
程式啟動:
部分菜單:
快速鍵一覽:
由於時間關係功能性開發到此結束。不過我還是會在細節上著墨地。感謝諸位的支援,有問題可以跟我聯絡。