『壹』 求 java語言 如何提取圖像顏色特徵和顏色直方圖的方法
java.awt.Color 類用於封裝默認 sRGB 顏色空間中的顏色,或者用於封裝由 ColorSpace
標識的任意顏色空間中的顏色。每種顏色都有一個隱式的 alpha 值 1.0,或者有一個在構造方法中提供的顯式的 alpha 值。alpha
值定義了顏色的透明度,可用一個在 0.0 - 1.0 或 0 - 255 范圍內的浮點值表示它。alpha 值為 1.0 或 255
則意味著顏色完全是不透明的,alpha 值為 0 或 0.0 則意味著顏色是完全透明的。在使用顯式的 alpha 值構造 Color
時,或者在獲取某個 Color 的顏色/alpha 分量時,從不將顏色分量預乘 alpha 分量。
希望可以幫助到你.
『貳』 KNIME是什麼
Knime是基於Eclipse的開源數據挖掘軟體,它通過工作流的方式來完成數據倉庫以及數據挖掘中數據的抽取-轉換-載入操作。
『叄』 如何成為一個數據分析師需要具備哪些技能
數據分析師的職位要求 :
1、計算機、統計學、數學等相關專業本科及以上學歷;
2、具有深厚的統計學、數據挖掘知識,熟悉數據倉庫和數據挖掘的相關技術,能夠熟練地使用SQL;
3、三年以上具有海量數據挖掘、分析相關項目實施的工作經驗,參與過較完整的數據採集、整理、分析和建模工作;
4、對商業和業務邏輯敏感,熟悉傳統行業數據挖掘背景、了解市場特點及用戶需求,有互聯網相關行業背景,有網站用戶行為研究和文本挖掘經驗尤佳;
5、具備良好的邏輯分析能力、組織溝通能力和團隊精神;
6、富有創新精神,充滿激情,樂於接受挑戰。
1、態度嚴謹負責
嚴謹負責是數據分析師的必備素質之一,只有本著嚴謹負責的態度,才能保證數據的客觀、准確。在企業里,數據分析師可以說是企業的醫生,他們通過對企業運營數據的分析,為企業尋找症結及問題。一名合格的數據分析師,應具有嚴謹、負責的態度,保持中立立場,客觀評價企業發展過程中存在的問題,為決策層提供有效的參考依據;不應受其他因素影響而更改數據,隱瞞企業存在的問題,這樣做對企業發展是非常不利的,甚至會造成嚴重的後果。而且,對數據分析師自身來說,也是前途盡毀,從此以後所做的數據分析結果都將受到質疑,因為你已經不再是可信賴的人,在同事、領導、客戶面前已經失去了信任。所以,作為一名數據分析師就必須持有嚴謹負責的態度,這也是最基本的職業道德。
2、好奇心強烈
好奇心人皆有之,但是作為數據分析師,這份好奇心就應該更強烈,要積極主動地發現和挖掘隱藏在數據內部的真相。在數據分析師的腦子里,應該充滿著無數個「為什麼」,為什麼是這樣的結果,為什麼不是那樣的結果,導致這個結果的原因是什麼,為什麼結果不是預期的那樣等等。這一系列問題都要在進行數據分析時提出來,並且通過數據分析,給自己一個滿意的答案。越是優秀的數據分析師,好奇心也越不容易滿足,回答了一個問題,又會拋出一個新的問題,繼續研究下去。只有擁有了這樣一種刨根問底的精神,才會對數據和結論保持敏感,繼而順藤摸瓜,找出數據背後的真相。
3、邏輯思維清晰
除了一顆探索真相的好奇心,數據分析師還需要具備縝密的思維和清晰的邏輯推理能力。我記得有位大師說過:結構為王。何謂結構,結構就是我們常說的邏輯,不論說話還是寫文章,都要有條理,有目的,不可眉毛鬍子一把抓,不分主次。
通常從事數據分析時所面對的商業問題都是較為復雜的,我們要考慮錯綜復雜的成因,分析所面對的各種復雜的環境因素,並在若干發展可能性中選擇一個最優的方向。這就需要我們對事實有足夠的了解,同時也需要我們能真正理清問題的整體以及局部的結構,在深度思考後,理清結構中相互的邏輯關系,只有這樣才能真正客觀地、科學地找到商業問題的答案。
4、擅長模仿
在做數據分析時,有自己的想法固然重要,但是「前車之鑒」也是非常有必要學習的,它能幫助數據分析師迅速地成長,因此,模仿是快速提高學習成果的有效方法。這里說的模仿主要是參考他人優秀的分析思路和方法,而並不是說直接「照搬」。成功的模仿需要領會他人方法精髓,理解其分析原理,透過表面達到實質。萬變不離其宗,要善於將這些精華轉化為自己的知識,否則,只能是「一直在模仿,從未超越過」。
5、勇於創新
通過模仿可以借鑒他人的成功經驗,但模仿的時間不宜太長,並且建議每次模仿後都要進行總結,提出可以改進的地方,甚至要有所創新。創新是一個優秀數據分析師應具備的精神,只有不斷的創新,才能提高自己的分析水平,使自己站在更高的角度來分析問題,為整個研究領域乃至社會帶來更多的價值。現在的分析方法和研究課題千變萬化,墨守成規是無法很好地解決所面臨的新問題的。
技能要求:
1、懂業務。
從事數據分析工作的前提就會需要懂業務,即熟悉行業知識、公司業務及流程,最好有自己獨到的見解,若脫離行業認知和公司業務背景,分析的結果只會是脫了線的風箏,沒有太大的使用價值。
2、懂管理。
一方面是搭建數據分析框架的要求,比如確定分析思路就需要用到營銷、管理等理論知識來指導,如果不熟悉管理理論,就很難搭建數據分析的框架,後續的數據分析也很難進行。另一方面的作用是針對數據分析結論提出有指導意義的分析建議。
3、懂分析。
指掌握數據分析基本原理與一些有效的數據分析方法,並能靈活運用到實踐工作中,以便有效的開展數據分析。基本的分析方法有:對比分析法、分組分析法、交叉分析法、結構分析法、漏斗圖分析法、綜合評價分析法、因素分析法、矩陣關聯分析法等。高級的分析方法有:相關分析法、回歸分析法、聚類分析法、判別分析法、主成分分析法、因子分析法、對應分析法、時間序列等。
4、懂工具。
指掌握數據分析相關的常用工具。數據分析方法是理論,而數據分析工具就是實現數據分析方法理論的工具,面對越來越龐大的數據,我們不能依靠計算器進行分析,必須依靠強大的數據分析工具幫我們完成數據分析工作。
5、懂設計。
懂設計是指運用圖表有效表達數據分析師的分析觀點,使分析結果一目瞭然。圖表的設計是門大學問,如圖形的選擇、版式的設計、顏色的搭配等等,都需要掌握一定的設計原則。
『肆』 急求用JAVA寫的HSV顏色直方圖的顏色特徵提取的代碼
一種非常簡單而有效的顏色特徵使由Stricker 和Orengo所提出的顏色矩(color moments) 這種方法的數學基礎在於圖像中任何的顏色分布均可以用它的矩來表示。此外,由於顏色分布信息主要集中在低
階矩中,因此僅採用顏色的一階矩(mean)、二階矩(variance)和三階矩(skewness)足以表達圖像的顏色分布。與顏色直方圖相比,該方法的另一個好處在於無需對特徵進行向量化。因此,圖像的顏色矩一共只需要9個分量(3個顏色分量,每個分量上3個低階矩),與其他的顏色特徵相比是非常簡潔的。在實際應用中為避免低次矩較弱的分辨能力,顏色矩常和其它特徵結合使用,而且一般在使用其它特徵前起到過濾縮小范圍(narrow down)的作用。
『伍』 如何查看unix 的java內存使用情況
jmap (linux下特有,也是很常用的一個命令)
觀察運行中的jvm物理內存的佔用情況。
參數如下:
-heap :列印jvm heap的情況
-histo: 列印jvm heap的直方圖。其輸出信息包括類名,對象數量,對象佔用大小。
-histo:live : 同上,但是只答應存活對象的情況
-permstat: 列印permanent generation heap情況
命令使用:
jmap -heap 3409
可以觀察到New Generation(Eden Space,From Space,To Space),tenured generation,Perm Generation的內存使用情況
輸出內容:
jmap -histo 3409 | jmap -histo:live 3409
可以觀察heap中所有對象的情況(heap中所有生存的對象的情況)。包括對象數量和所佔空間大小。
輸出內容:
寫個腳本,可以很快把佔用heap最大的對象找出來,對付內存泄漏特別有效。
如果結果很多,可以用以下命令輸出到文本文件。
jmap -histo 3409 | jmap -histo:live 3409 > a.txt
jinfo:可以輸出並修改運行時的java 進程的opts。
jps:與unix上的ps類似,用來顯示本地的java進程,可以查看本地運行著幾個java程序,並顯示他們的進程號。
jstat:一個極強的監視VM內存工具。可以用來監視VM內存內的各種堆和非堆的大小及其內存使用量。
jmap:列印出某個java進程(使用pid)內存內的所有'對象'的情況(如:產生那些對象,及其數量)。
jconsole:一個java GUI監視工具,可以以圖表化的形式顯示各種數據。並可通過遠程連接監視遠程的伺服器VM。
詳細:在使用這些工具前,先用JPS命令獲取當前的每個JVM進程號,然後選擇要查看的JVM。
jstat工具特別強大,有眾多的可選項,詳細查看堆內各個部分的使用量,以及載入類的數量。使用時,需加上查看進程的進程id,和所選參數。以下詳細介紹各個參數的意義。
jstat -class pid:顯示載入class的數量,及所佔空間等信息。
jstat -compiler pid:顯示VM實時編譯的數量等信息。
jstat -gc pid:可以顯示gc的信息,查看gc的次數,及時間。其中最後五項,分別是young gc的次數,young gc的時間,full gc的次數,full gc的時間,gc的總時間。
jstat -gccapacity:可以顯示,VM內存中三代(young,old,perm)對象的使用和佔用大小,如:PGCMN顯示的是最小perm的內存使用量,PGCMX顯示的是perm的內存最大使用量,PGC是當前新生成的perm內存佔用量,PC是但前perm內存佔用量。其他的可以根據這個類推, OC是old內純的佔用量。
jstat -gcnew pid:new對象的信息。
jstat -gcnewcapacity pid:new對象的信息及其佔用量。
jstat -gcold pid:old對象的信息。
jstat -gcoldcapacity pid:old對象的信息及其佔用量。
jstat -gcpermcapacity pid: perm對象的信息及其佔用量。
jstat -util pid:統計gc信息統計。
jstat -printcompilation pid:當前VM執行的信息。
除了以上一個參數外,還可以同時加上 兩個數字,如:jstat -printcompilation 3024 250 6是每250毫秒列印一次,一共列印6次,還可以加上-h3每三行顯示一下標題。
jmap是一個可以輸出所有內存中對象的工具,甚至可以將VM 中的heap,以二進制輸出成文本。
命令:jmap -mp:format=b,file=heap.bin
file:保存路徑及文件名
pid:進程編號
?jmap -histo:live pid| less :堆中活動的對象以及大小
?jmap -heap pid : 查看堆的使用狀況信息
jinfo:的用處比較簡單,就是能輸出並修改運行時的java進程的運行參數。用法是jinfo -opt pid 如:查看2788的MaxPerm大小可以用 jinfo -flag MaxPermSize 2788。
jconsole是一個用java寫的GUI程序,用來監控VM,並可監控遠程的VM,非常易用,而且功能非常強。使用方法:命令行里打 jconsole,選則進程就可以了。
JConsole中關於內存分區的說明。
Eden Space (heap): 內存最初從這個線程池分配給大部分對象。
Survivor Space (heap):用於保存在eden space內存池中經過垃圾回收後沒有被回收的對象。
Tenured Generation (heap):用於保持已經在 survivor space內存池中存在了一段時間的對象。
Permanent Generation (non-heap): 保存虛擬機自己的靜態(refective)數據,例如類(class)和方法(method)對象。Java虛擬機共享這些類數據。這個區域被分割為只讀的和只寫的,
Code Cache (non-heap):HotSpot Java虛擬機包括一個用於編譯和保存本地代碼(native code)的內存,叫做「代碼緩存區」(code cache)
?jstack ( 查看jvm線程運行狀態,是否有死鎖現象等等信息) : jstack pid : thread mp
?jstat -gcutil pid 1000 100 : 1000ms統計一次gc情況統計100次;
另外推薦一款查看jmap mp 的內存對象工具 MemoryAnalyzer