使用C 和Qt的塗鴉程式(一)

2021-09-25 11:09:14 字數 1532 閱讀 4517

專案源**

使用c++和qt的塗鴉程式(二)

使用c++和qt的塗鴉程式(三)

最近影象識別、人工智慧也是非常的火爆,跟風做了個影象處理的程式。借助了一些機器學習過程的思路,不過實際上和機器學習是完全不同的東西。

使用的語言是c++,只使用了stl庫以及圖形介面的qt庫。

首先先看下其中的一些效果吧

乍一看可能不是很好認出,放開眼鏡或者藝術知識比較豐富的同學能直接認出來,原型是梵谷的向日葵。

整體的思路很簡單,亂塗,再和原作進行比較

程式介面,比較簡潔

包含模式測試功能,雖然比較簡潔,但是還是比較容易理解和操作友好的

根據原圖,程式自動的塗鴉出一些影象,可能沒有什麼實際上的用途,一介碼農也不好評判有什麼藝術性,純屬娛樂:

同樣是梵谷的,星夜

使用的語言是c++,用到了c++ 11及其以上的特性

ide是visual studio community 2017 版本15.9.14

qt庫用的是5.6.3動態編譯版本,qt的版本相對來說比較老,但是vs裡配合v141_xp的工具集可以實現對xp的相容。5.6.3版的qt是最後乙個相容xp的版本。雖然這裡相容xp沒有什麼實際的意義,純屬習慣操作,但是考慮實現也不會帶來什麼負面影響。qt用動態編譯或者靜態編譯的版本都沒問題,靜態編譯的工程設定稍微複雜些,輸出方便點,動態編譯的設定簡單,編譯後把動態一起打包好了。

插入一段漂亮的**片

總體思路十分簡單粗暴。

在畫布上隨機畫一點東西,和原圖比較,如果新增塗鴉後比原來更接近原圖,則保留塗鴉的內容,否則去掉。經多次塗鴉後(大致是5w次以上)就能得到一副相近的塗鴉作品。

有的同學可能有點疑問:如果想要得到一些風格化的成品何須如此大費周章,想浮雕化,油畫化,只消做點卷積就好,快速方便而且效果絕佳。

這裡如此這麼做的原因就是想要保持一點「靈性」。直接算出來的結果比較固定,這裡想要的是一些更加隨意一點的內容,更加符合「塗鴉」

同樣也受到這個這個專案的很大啟發

這個專案是用js寫的,不怎麼接觸這個語言所以沒有去細看

這個是這個作者的效果圖,自由女神象,這種胡亂的讓人感覺很庫。這裡這個專案的作者介紹中提到他這個算得比較慢,要好幾個小時才能出一幅圖,而且容易十幾個小時出來失敗的圖。所以我想著用c++也做乙個出來,最終速度也不是很快,3000*2000的解析度下得到最終的效果圖大概要20分鐘左右。效果要看選擇的塗鴉模式

使用Qt 開發乙個螢幕錄影程式

華清遠見嵌入式學院 講師。如果需要使用到獲得當前幀,那麼就需要使用到乙個定時器,下面的 中包含了針對於乙個定時器的程式設計,程式完成的功能是開啟定時器,並沒有關閉,讀者有興趣可以建立乙個類內可見的定時器,使得多個部件可以控制。這個例子是從螢幕截圖程式變化過來,所以在最後使用的是按鈕儲存的效果。ifn...

C 和Qt實現的對於異常處理的乙個使用策略

一 基礎 1 c 中的異常處理的基本格式 try catch exception exception finally 一般來說finally 段用於處理沒有被託管的資源的釋放過程。2 qt中的異常處理基本格式 try catch qstring exception 二 異常捕獲的策略 1 try塊的...

qt語言家使用 Qt應用程式的語言切換

qt實現軟體介面顯示不同的語言,是通重載入字型檔檔案實現的,因此有三個對應的問題需要解決 建立qt應用程式後,在.pro檔案中新增一行 translations qmain zh.ts使用qtcreator選單中的 工具 外部 qt語言專家 更新翻譯 則會自動生成.ts檔案,使用qt linguis...