蘇州培訓(xùn)網(wǎng) > 蘇州JAVA培訓(xùn)機(jī)構(gòu) > 蘇州其然軟件開發(fā)培訓(xùn)
首頁 培訓(xùn)網(wǎng) 最新資訊 熱門問答

蘇州其然軟件開發(fā)培訓(xùn)

13013833891 免費(fèi)試聽

您當(dāng)前的位置: 蘇州IT認(rèn)證培訓(xùn) > 蘇州JAVA培訓(xùn) > 昆山網(wǎng)上java學(xué)習(xí)

昆山網(wǎng)上java學(xué)習(xí)_JAVA培訓(xùn)

¥詳詢

班制:周末班

蘇州其然軟件開發(fā)
上課(咨詢)地址:蘇州市昆山市震川西路111號名仕大廈
報(bào)名咨詢 預(yù)約試聽
課程介紹
昆山網(wǎng)上java學(xué)習(xí)
契合企業(yè)需求的匠心課程

昆山網(wǎng)上java學(xué)習(xí)

現(xiàn)在學(xué)習(xí)Java還有前途嗎?

昆山網(wǎng)上java學(xué)習(xí)

在互聯(lián)網(wǎng)行業(yè),Java工程師是一個(gè)技術(shù)含量非常高的崗位,支撐了互聯(lián)網(wǎng)行 業(yè)的半壁江山,全世界有一千萬Java程序員,目前還在有更多的計(jì)算機(jī)愛好者向Java的大門奔來。Java發(fā)展了20多年,關(guān)于Java的悲觀論調(diào)也不時(shí)出現(xiàn) ,現(xiàn)在學(xué)Java還有前途嗎?是否已經(jīng)過了紅利期了呢?

Java作為所有編程語言中熱門技術(shù),可以說它無處不在,目前全球有著數(shù)十 億的設(shè)備正在運(yùn)行著Java,很多服務(wù)器程序都是用Java編寫,用以處理每天超過數(shù)以千萬的數(shù)據(jù)。

無論是手機(jī)軟件、手機(jī)Java游戲還是電腦軟件,每一次購物到每一筆支付成 功,都離不開Java,越來越多的企業(yè)也正采用Java語言開發(fā)網(wǎng)站,而在所有程序員中,Java開發(fā)工程師就占據(jù)了20%的比例。

從國內(nèi)排名靠前網(wǎng)站的主要開發(fā)語言,也可以看出Java在各大開發(fā)語言中的 地位。淘寶、搜狐、網(wǎng)易等一線互聯(lián)網(wǎng)公司,都在使用Java開發(fā)語言。

這也不難理解,為什么Java現(xiàn)在這么火爆,吸引越來越多的人學(xué)習(xí),根本原 因,還是因?yàn)槠髽I(yè)對Java的認(rèn)可和應(yīng)用。

Java有沒有前途,需要我們認(rèn)清自己今后應(yīng)該怎么走自己的路線,是走技術(shù) ,還是走管理。走技術(shù)路線:從初級、中級、高級再到軟件架構(gòu)師。如果說走管理路線:項(xiàng)目經(jīng)理、部門經(jīng)理、技術(shù)總監(jiān)。只有清楚了自己要走的路線 后,再往決定的那一方面去努力,學(xué)習(xí)。除此以外,還有一些人學(xué)了這一專業(yè)后,從事銷售顧問、培訓(xùn)講師、自己創(chuàng)業(yè)的都有,關(guān)鍵是自己要認(rèn)識自己 ,自己更適何哪一條路。

所以,先認(rèn)清“正確的結(jié)果”,根據(jù)正確的結(jié)果去設(shè)計(jì)你的過程。當(dāng)一個(gè)人 具有明確的職業(yè)目標(biāo)時(shí),就會對有助于實(shí)現(xiàn)目標(biāo)的蛛絲馬跡都特別敏感,做事情相應(yīng)也就會很有目的性,而不是稀里糊涂的。所以,就容易到達(dá)自己的 目的。如果沒有職業(yè)目標(biāo),腳踩西瓜皮滑到哪里是哪里,學(xué)什么技術(shù)都沒前途。

在未來的幾年,Java工程師人才的需求還在不斷的加大,由于人才的緊缺, 這個(gè)崗位相對于其它專業(yè)薪資待遇還是不錯(cuò)的,而且Java工程師的待遇是與工作經(jīng)驗(yàn)直接掛勾的,當(dāng)你有了豐富的經(jīng)驗(yàn)以后,你在這個(gè)行業(yè)里就比較搶 手了,而且企業(yè)所出的薪酬也是相當(dāng)高的,到時(shí)只有你選擇他們了。

Java課程介紹 


昆山網(wǎng)上java學(xué)習(xí)

一階段:Java基礎(chǔ)
內(nèi)容有Java開發(fā)介紹、Java數(shù)組、Java面向?qū)ο蟆⒊S没A(chǔ)類、集合 、線程和I/O、異常處理、項(xiàng)目(坦克大戰(zhàn)、打飛機(jī)等)。

二階段:JavaWeb
內(nèi)容有HTML5入門、CSS3入門、Javascript、MySQL使用、JDBC連接池 、Servlet、ajax、jQuery、項(xiàng)目。

三階段:Java框架
內(nèi)容有Struts2、Hibernate5、JPA、Spring4、BootStrap、echarts 圖表插件使用、Maven、SpringData、SpringMVC。

四階段:Java 云數(shù)據(jù)
億級并發(fā)架構(gòu)演進(jìn)、Linux基礎(chǔ)、搭建tomcat環(huán)境、MysQL高級、 memcached、Redis、MongoDB(而選一)、elasticsearch、cobar、Quartz、nginx反向代理和負(fù)載均衡、SSL證書配置、Keepalived雙活、Haproxy、 LVS、nignx(三選一)、Rpc和Dobbo、ActiveMQ隊(duì)列、Hadoop、項(xiàng)目(上億人并發(fā)的搶票系統(tǒng))。

【OpenCV】直方圖應(yīng)用:直方圖均衡化,直方圖匹配,對比直方圖


>

直方圖均衡化

直方圖均衡化(Histogram Equalization)是直方圖**典型的應(yīng)用,是圖像點(diǎn)運(yùn)算的一種。對于一幅輸入圖像,**運(yùn)算產(chǎn)生一幅輸出圖像,點(diǎn)運(yùn)算是指輸出圖像的每個(gè)像素點(diǎn)的灰度值由輸入像素點(diǎn)決定,即:


直方圖均衡化是**灰度變換將一幅圖像轉(zhuǎn)換為另一幅具有均衡直方圖,即在每個(gè)灰度級上都具有相同的象素點(diǎn)數(shù)過程。從分布圖上的理解就是希望原始圖像中y軸的值在新的分布中盡可能的展開。變換過程是利用累積分布函數(shù)對原始分布進(jìn)行映射,生成新的均勻拉伸的分布。因此對應(yīng)每個(gè)點(diǎn)的操作是尋找原始分布中y值在均勻分布中的位置,如下圖是理想的單純高斯分布映射的示意圖:


(圖片來源:《Learnning OpenCV》 p189)

OpenCV中的cvEqualizeHist

OpenCV中有灰度直方圖均衡化的函數(shù)cvEqualizeHist,接口很明朗:


[cpp] view plain copy void cvEqualizeHist( const CvArr* src, CvArr* dst );  


注意此函數(shù)只能處理單通道的灰色圖像,對于彩色圖像,我們可以把每個(gè)信道分別均衡化,再M(fèi)erge為彩色圖像。

實(shí)踐:圖像直方圖均衡化


[cpp] view plain copy int main()   {       iplImage * image= cvLoadImage("baboon.jpg");       //顯示原圖及直方圖       myShowHist("Source",image);              IplImage* eqlimage=cvCreateImage(cvGetSize(image),image->depth,3);       //分別均衡化每個(gè)信道       IplImage* redImage=cvCreateImage(cvGetSize(image),image->depth,1);       IplImage* greenImage=cvCreateImage(cvGetSize(image),image->depth,1);       IplImage* blueImage=cvCreateImage(cvGetSize(image),image->depth,1);       cvSplit(image,blueImage,greenImage,redImage,NULL);          cvEqualizeHist(redImage,redImage);       cvEqualizeHist(greenImage,greenImage);        cvEqualizeHist(blueImage,blueImage);        //均衡化后的圖像       cvMerge(blueImage,greenImage,redImage,NULL,eqlimage);       myShowHist("Equalized",eqlimage);   }   原始圖像及灰度直方圖如下:



均衡化后的直方圖:


直方圖匹配

直方圖匹配又叫直方圖規(guī)定化(Histogram Normalization/Matching)是指對一副圖像進(jìn)行變換,使其直方圖與另一幅圖像的直方圖或特定函數(shù)形式的直方圖進(jìn)行匹配。應(yīng)用場景如不同光照條件下的兩幅圖像,我們可以在比較兩幅圖像前先進(jìn)行匹配變化。

參考shlkl99上傳的直方圖匹配代碼,將圖像規(guī)定化為高斯分布函數(shù)。


[cpp] view plain copy //將圖像與特定函數(shù)分布histv[]匹配   void myHistMatch(IplImage *img,double histv[])   {       int bins = 256;       int sizes[] = {bins};       CvHistogram *hist = cvCreateHist(1,sizes,CV_HIST_ARRAY);       cvCalcHist(&img,hist);       cvNormalizeHist(hist,1);       double val_1 = 0.0;       double val_2 = 0.0;       uchar T[256] = {0};       double S[256] = {0};       double G[256] = {0};       for (int index = 0; index<256;  index)       {           val_1  = cvQueryHistValue_1D(hist,index);           val_2  = histv[index];           G[index] = val_2;           S[index] = val_1;       }          double min_val = 0.0;       int PG = 0;       for ( int i = 0; i<256;  i)       {           min_val = 1.0;           for(int j = 0;j<256;  j)           {               if( (G[j] - S[i]) < min_val && (G[j] - S[i]) >= 0)               {                   min_val = (G[j] - S[i]);                   PG = j;               }              }           T[i] = (uchar)PG;       }          uchar *p = NULL;       for (int x = 0; x<img->height; x)       {            p = (uchar*)(img->imageData   img->widthStep*x);           for (int y = 0; y<img->width; y)           {               p[y] = T[p[y]];           }       }   }      // 生成高斯分布   void GenerateGaussModel(double model[])   {       double m1,m2,sigma1,sigma2,A1,A2,K;       m1 = 0.15;       m2 = 0.75;       sigma1 = 0.05;       sigma2 = 0.05;       A1 = 1;       A2 = 0.07;       K = 0.002;          double c1 = A1*(1.0/(sqrt(2*CV_PI))*sigma1);       double k1 = 2*sigma1*sigma1;       double c2 = A2*(1.0/(sqrt(2*CV_PI))*sigma2);       double k2 = 2*sigma2*sigma2;       double p = 0.0,val= 0.0,z = 0.0;       for (int zt = 0;zt < 256; zt)       {           val = K   c1*exp(-(z-m1)*(z-m1)/k1)   c2*exp(-(z-m2)*(z-m2)/k2);           model[zt] = val;           p = p  val;           z = z   1.0/256;       }       for (int i = 0;i<256;  i)       {           model[i] = model[i]/p;       }   }   

實(shí)踐:直方圖匹配

對示例圖片每個(gè)信道分別進(jìn)行匹配處理


對比直方圖

OpenCV中提供了cvCompareHist函數(shù)用以對比兩個(gè)直方圖的相似度: [cpp] view plain copy double cvCompareHist(                 const CvHistogram* hist1, //直方圖1                const CvHistogram* hist2, //直方圖2                int method//對比方法   );   method有CV_COMP_CORREL, CV_COMP_CHISQR,CV_COMP_INTERSECT,CV_COMP_BHATTACHARYYA四種方法,對應(yīng)公式如下:

實(shí)踐:對比不同光照條件的兩幅圖像直方圖

直方圖的對比主要用以判斷兩幅圖像的匹配度,我們試驗(yàn)以下兩幅圖像直方圖對比的結(jié)果:        [cpp] view plain copy int main()   {       IplImage * image= cvLoadImage("myhand1.jpg");       IplImage * image2= cvLoadImage("myhand2.jpg");       int hist_size=256;       float range[] = {0,255};       float* ranges[]={range};              IplImage* gray_plane = cvCreateImage(cvGetSize(image),8,1);       cvCvtColor(image,gray_plane,CV_BGR2GRAY);       CvHistogram* gray_hist = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);       cvCalcHist(&gray_plane,gray_hist,0,0);             IplImage* gray_plane2 = cvCreateImage(cvGetSize(image2),8,1);       cvCvtColor(image2,gray_plane2,CV_BGR2GRAY);       CvHistogram* gray_hist2 = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);       cvCalcHist(&gray_plane2,gray_hist2,0,0);          //相關(guān):CV_COMP_CORREL           //卡方:CV_COMP_CHISQR       //直方圖相交:CV_COMP_INTERSECT       //Bhattacharyya距離:CV_COMP_BHATTACHARYYA       double  com=cvCompareHist(gray_hist,gray_hist2,CV_COMP_BHATTACHARYYA);          cout<<com<<endl;   }   輸出結(jié)果為:0.396814 cvCompareHist的結(jié)果為【0,1】的浮點(diǎn)數(shù),越小表示兩幅圖匹配度越高,0.0時(shí)兩幅圖精確匹配。(可以試驗(yàn)兩幅完全一樣的圖即為0.0)。 針對上面兩幅圖,我們分別先進(jìn)行直方圖匹配變化: 之后使用cvCompareHist()對比兩幅圖像的直方圖,輸出結(jié)果為0.267421 表明兩幅圖的匹配度變高了。 注意method用不同的方法對比結(jié)果是不同的。

應(yīng)用

**對比我們可以設(shè)置EMD的閾值來判定皮膚或手的ROI?!禠earnning OpenCV》后面有相應(yīng)的練習(xí)題:收集手的膚色直方圖,對比室內(nèi),室外手的直方圖的EMD距離,利用這些測量值設(shè)置一個(gè)距離閾值。 a.利用該閾值檢測第三幅圖(如室外陰影),看能能否很好的檢測膚色直方圖。 b.隨機(jī)選擇不是膚色的背景塊直方圖,觀測EMD變化,試驗(yàn)與真實(shí)膚色對比時(shí)能否很好的拒絕背景。 如上也即是直方圖對比可以應(yīng)用的場景。

轉(zhuǎn)載請注明出處:http://blog.csdn.net/xiaowei_cqu/article/details/7606607

實(shí)驗(yàn)代碼**:http://download.csdn.net/detail/xiaowei_cqu/4332914


相關(guān)推薦:


蘇州JAVA培訓(xùn)   蘇州JAVA培訓(xùn)班   蘇州JAVA培訓(xùn)機(jī)構(gòu)

體驗(yàn)課預(yù)約試聽

倒計(jì)時(shí)

12:00:00

課程熱線:

13013833891
在線咨詢

客服在線時(shí)間:早上9點(diǎn)~下午6點(diǎn),其他時(shí)間請?jiān)诰€預(yù)約報(bào)名或留言,謝謝!

蘇州JAVA

免費(fèi)體驗(yàn)課開班倒計(jì)時(shí)

11: 41: 09

稍后會有專業(yè)老師給您回電,請保持電話暢通

咨詢電話:13013833891
推薦機(jī)構(gòu) 全國分站 更多課程

本周僅剩 個(gè)試聽名額

請鍵入信息,稍后系統(tǒng)將會把領(lǐng)獎短信發(fā)至您的手機(jī)

申請?jiān)嚶犆~

QQ:1413838287
加盟合作:0755-83654572