我的程式設計師之路 3 學生時代 3

2022-02-21 02:58:18 字數 2320 閱讀 8456

我的大學——入行期(2)

2023年6年,導師要我做乙個照相的程式。借來了相機,佳能的,於是先從相機的api入手,研究程式對相機的操作,都是一些英文資料,還得備好驅動,很是麻煩。慢慢對相機操作熟悉了,再根據習慣對api進行相應的封裝,這提高可不少。照相的程式做好了,新的要求就出來了,要求可以自動將相片處理成公安部確定的尺寸,358*441畫素,頭頂到相片頂端的距離14-21等等,好的是公司以前開發過這個功能,直接拿到動態庫就可以使用。不過沒那麼容易,如果介面設計成傳入原始相片返回標準**就好了,可實際上不可能這麼設計,傳入**資料及**尺寸,返回剪下位置及剪下尺寸,然後要根據這些資訊從原始**上剪下出來並縮小到標準尺寸,剪下位置還不是起點座標,總之很是麻煩,研究了很長時間,以至於剛開始我還以為這個動態庫根本實現不了這個功能。期間研究cbitmap,位數、資料對齊等,提取位圖資料修改再重設位圖,研究.bmp資料格式,封裝類用於讀寫.bmp檔案,學到了不少東西。還有影象處理方面的理論與演算法,比如影象幾何變換、灰度變換、平滑處理、影象銳化、邊緣提取等好多演算法,jpg格式的演算法(不過現在還不會做自己的格式轉換,傅利葉變換什麼的,都是這個時候學的),gif和png格式,所以壓縮演算法也接觸了點。這段時間學的很我影象處理方面的知識,現在工作中都用上了,比如用gdi+處理的影象,發現速度太慢,應用受到影響,只能用gdi手動處理影象來提高速度,再不行就得**操作影象資料,然後生成影象顯示到視窗了,計算機圖形學上那個直線生成演算法什麼的,就在這裡用了。

學影象處理理論,對畢業**有很大幫助。我的畢業**是《基於密度的聚類演算法研究》,是將灰度閾值分割理論用在了聚類演算法上,dbscan演算法,只能處理密度相關較大的資料,而且聚類前要輸入引數,先用閾值分割理論對資料的密度進行一下分類,再用dbscan演算法聚類就提高了聚類效果,這個我也用**實現了,而且效果與理論上的效果很接近,收穫很多。

可以從相機採集到**了,也會影象處理了,下一步就是軟體設計了。先是將兩個功能設計在一塊,同事說這樣設計不合理,應該要按功能模組分開,所以又分成兩個主程式,一是人像採集,一是人像處理,兩個程式間可以切換。影象處理時的功能相對多些,所以要設計工具欄、浮動工具欄什麼的,學會了不少東西。導師看到設計成這樣,也說介面太難看,要加入美工。加美工得先總結對話方塊,對每個對話方塊設計窗體,所以另個組的專案經理幫忙總結,這樣,又設計了一款多個對話方塊的系統。幫完這些也該過新年了,新年後繼續設計。美工說這麼設計不好,所以跟美工交流,美工想辦法設計,又將多個功能做成選項卡形式的,介面的設計我聽美工的。美工設計好整體外觀圖,我再把按各個元素剪下來以在軟體中使用。既然有美工,就得考慮換**的問題。網上查了些資料,**包有現成的包。別人的東西總不如自己設計的方便,網上的**包只能把所有對話方塊成一種樣式,不能乙個對話方塊乙個樣式,沒法在自己的軟體中使用。於是考慮**的設計問題,而且最重要的是,介面要設計的很容易使用,最好一句呼叫包整個軟體的**都換掉。千辛萬苦,終於設計出來了,現在是把所有**元素都放在乙個資料夾下,那如果使用者不小心刪掉了乙個檔案,這會影響到軟體的,所以要把**包打包,意味著要把乙個資料夾下的所有資料夾及檔案打包成乙個檔案,而且根據這個檔案還能還原成資料夾及檔案,實現這個功能學習又進步不少,現在的工作中也用到這些知識了。程式執行起來,根據**包檔案還原為資料夾形式的**包,這有個問題,公司美工做的會洩露啊,要保護自己公司的勞動成果吧,所以要讓程式在記憶體中解包。**包完了還有語言包,當然**包的問題解決了,語言包的問題也能解決,這個是一樣的,只是要用語言包,就要為每乙個顯示文字的地方編號,切換語言時要根據編號顯示相應的文字。美工的提議,視窗邊緣最好做成半透明的,選項卡形式的子視窗半透明沒問題,背景處理好就能實現,要顯示在桌面上的半透明效果就麻煩了,要有相應的動態庫支援,而且窗體半透明時窗體上的控制項是顯示不出來的。為了解決這個問題,查了不少資料,最後是做成了兩層,半透明窗體是乙個對話方塊,控制項是另乙個對話方塊,窗體移動時兩個對話方塊要同時移動。**包語言包也會受到影響,因為半透明的窗體只能根據生成,而窗體標題上的文字要可切換,窗體背景也可切換,所以軟體的設計上又費了一番工夫。不管難度有多大,最後所以問題都解決了,做成了乙個完整的獎品,完成作品時,就到畢業時候了。長春離家太遠了,所以畢業後我來到了北京,來這裡見見世面,因為找到乙個像我一樣熱愛寫程式的太少了。

以上這些都是在公司實習時做的,由於我很愛好寫**,所以也有自己的愛好,這期間,也幫同學寫過一些程式,比如2023年7月8月,幫同學做過個歌唱比賽的評分系統。這個要有客戶端伺服器,由於寫過聊天軟體,所以寫起這個來也很順手。但要解決的問題也很多,比如客戶端網線掉了又連上怎麼辦,總不能讓伺服器重啟吧,而且客戶端網線掉了伺服器要知道該客戶端掉線了,畢竟評委都是電腦盲,他們可能壓根不知道他已經掉線了。乙個小組的評分完成要生成結果,結果是要生成的,這樣就可以直接顯示在大螢幕上了,不然就得現做word**了,再說時間也不允許啊,評分結果要很快顯示在大螢幕上的;還有另乙個要求,就是乙個選手唱完歌,下乙個選手上台前就要出結果,唉,幸虧是電腦計分,不然可做不到。

學生時代結束了,但我還要在程式設計師這條路上繼續走下去。

我的程式設計師之路

四年前,也就是我高考的那一年,我陰差陽錯的被調劑到電腦科學與技術專業,當時的我並不知道計算機到底具體可以用來幹什麼,只知道21世紀的人,沒有乙個不會計算機的,所以,當時覺得學這個專業,將來找工作,肯定沒有優勢,因為大家都會,但是,上了大學,我才明白計算機真正的用途,我不是我理解的那麼膚淺。c語言,是...

我的程式設計師之路

你好,我是一名來自西安工業大學電腦科學與工程學院的學生,從2014年步入大學校門那刻開始,我以為我解放了,隨心所欲的度過了三年時光,面臨即將到來的找工作,我開始慌了,幸好我們學校周圍就有我們專業培訓班 位元科技,我感覺我找到了乙份希望,我會牢牢抓住這絲光芒,我相信它會給我帶來奇蹟。我給自己定的程式設...

我的程式設計師之路

如果從接觸程式設計算起的話,我在程式設計師這條路上,也走了快7年了,4年大學,3年工作。先來說說自己是怎麼踏上程式設計師這條路的吧!我和大多數人一樣,在高考之前,是沒怎麼認真想過未來要從事什麼職業的,腦子裡大概就想著將來要賺很多很多錢,過幸福快樂的生活罷了。我是2013年參加高考的,那時廣東已經實行...