在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python+OpenCV 十幾行代碼模仿世界名畫

人工智能精選 ? 2018-10-15 15:50 ? 次閱讀

現(xiàn)在很多人都喜歡拍照(自拍)。有限的濾鏡和裝飾玩多了也會(huì)膩,所以就有 APP 提供了模仿名畫風(fēng)格的功能,比如 prisma、versa 等,可以把你的照片變成梵高、畢加索、蒙克等大師的風(fēng)格。

這種功能叫做“圖像風(fēng)格遷移”,幾乎都是基于 CVPR 2015 的論文《A Neural Algorithm of Artistic Style》和 ECCV 2016 的論文《Perceptual Losses for Real-Time Style Transfer and Super-Resolution》中提出的算法,以及后續(xù)相關(guān)研究的基礎(chǔ)上開發(fā)出來的。

通俗來講,就是借助于神經(jīng)網(wǎng)絡(luò),預(yù)先將名畫中的風(fēng)格訓(xùn)練成出模型,在將其應(yīng)用在不同的照片上,生成新的風(fēng)格化圖像。

而因?yàn)樯窠?jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺方面的應(yīng)用越來越廣,著名的視覺開發(fā)庫 OpenCV 在 3.3 版本中正式引入DNN(深度神經(jīng)網(wǎng)絡(luò)),支持 Caffe、TensorFlow、Torch/PyTorch 等主流框架的模型,可用以實(shí)現(xiàn)圖像的識(shí)別、檢測(cè)、分類、分割、著色等功能。

我最近才發(fā)現(xiàn)在 OpenCV 的 Sample 代碼中就有圖像風(fēng)格遷移的 Python 示例(原諒我的后知后覺),是基于 ECCV 2016 論文中的網(wǎng)絡(luò)模型實(shí)現(xiàn)。所以,即使作為人工智能的菜鳥,也可以拿別人訓(xùn)練好的模型來玩一玩,體會(huì)下神經(jīng)網(wǎng)絡(luò)的奇妙。

(相關(guān)代碼和模型的獲取見文末)

OpenCV 官方代碼地址:https://github.com/opencv/opencv/blob/3.4.0/samples/dnn/fast_neural_style.py

目錄下通過執(zhí)行命令運(yùn)行代碼:

pythonfast_neural_style.py--modelstarry_night.t7

model參數(shù)是提供預(yù)先訓(xùn)練好的模型文件路徑,OpenCV 沒有提供下載,但給出的參考項(xiàng)目 https://github.com/jcjohnson/fast-neural-style 中可以找到

其他可設(shè)置參數(shù)有:

  • input可以指定原始圖片/視頻,如果不提供就默認(rèn)使用攝像頭實(shí)時(shí)采集。

  • width、height,調(diào)整處理圖像的大小,設(shè)置小一點(diǎn)可以提高計(jì)算速度。在我自己的電腦上,300x200 的轉(zhuǎn)換視頻可以達(dá)到 15 幀/秒。

  • median_filter中值濾波的窗口大小,用來對(duì)結(jié)果圖像進(jìn)行平滑處理,這個(gè)對(duì)結(jié)果影響不大。

執(zhí)行后的效果(取自 jcjohnson/fast-neural-style):

原始圖像

ECCV16 models

instance_norm models

核心代碼其實(shí)很短,就是加載模型 -> 讀取圖片 -> 進(jìn)行計(jì)算 -> 輸出圖片,我在官方示例基礎(chǔ)上進(jìn)一步簡(jiǎn)化了一下:

importcv2
#加載模型
net=cv2.dnn.readNetFromTorch('the_scream.t7')
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_OPENCV);
#讀取圖片
image=cv2.imread('test.jpg')
(h,w)=image.shape[:2]
blob=cv2.dnn.blobFromImage(image,1.0,(w,h),(103.939,116.779,123.680),swapRB=False,crop=False)
#進(jìn)行計(jì)算
net.setInput(blob)
out=net.forward()
out=out.reshape(3,out.shape[2],out.shape[3])
out[0]+=103.939
out[1]+=116.779
out[2]+=123.68
out/=255
out=out.transpose(1,2,0)
#輸出圖片
cv2.imshow('Styledimage',out)
cv2.waitKey(0)

執(zhí)行結(jié)果:

另外還改了個(gè)多效果實(shí)時(shí)對(duì)比的版本(計(jì)算量大了,很卡頓),也一并上傳在代碼中。

PS:前兩天看趙雷演唱會(huì)的時(shí)候我還說:他演唱會(huì)的背景 MV 大量使用了 圖像二值化、邊緣檢測(cè) 等操作,讓我想到以前數(shù)字圖像處理課的大作業(yè)……現(xiàn)在圖像風(fēng)格遷移的效率達(dá)到了實(shí)時(shí),想必以后也會(huì)經(jīng)常被使用吧

參考文獻(xiàn):
fast-neural-style jcjohnson
https://github.com/jcjohnson/fast-neural-style

Perceptual Losses for Real-Time Style Transfer and Super-Resolution(ECCV 2016)
Justin Johnson, Alexandre Alahi, Li Fei-Fei

A Neural Algorithm of Artistic Style(CVPR 2015)
Leon A. Gatys, Alexander S. Ecker, Matthias Bethge

Neural Style Transfer with OpenCV - Adrian Rosebrock
https://www.pyimagesearch.com/2018/08/27/neural-style-transfer-with-opencv/

無需GPU,只用OpenCV和Python實(shí)現(xiàn)圖像和視頻的風(fēng)格遷移(譯) - 論智 Bing
https://mp.weixin.qq.com/s/KXA6b-ckttBSQR5DvS3SBg

可以用 Python 編程語言做哪些神奇好玩的事情?- 知乎回答 @楊航鋒
https://www.zhihu.com/question/21395276/answer/115805610

用processing代碼模仿梵高畫楊超越 - 算法藝術(shù)實(shí)驗(yàn)室AALab Alice
https://mp.weixin.qq.com/s/UOVww7IgCteuQ6Bsbf0yEA

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4810

    瀏覽量

    102939
  • 機(jī)器視覺
    +關(guān)注

    關(guān)注

    163

    文章

    4517

    瀏覽量

    122371
  • OpenCV
    +關(guān)注

    關(guān)注

    32

    文章

    642

    瀏覽量

    42497
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    創(chuàng)建了用于OpenVINO?推理的自定義C++和Python代碼,從C++代碼中獲得的結(jié)果與Python代碼不同是為什么?

    創(chuàng)建了用于OpenVINO?推理的自定義 C++ 和 Python* 代碼。 在兩個(gè)推理過程中使用相同的圖像和模型。 從 C++ 代碼中獲得的結(jié)果與 Python*
    發(fā)表于 03-06 06:22

    使用Python實(shí)現(xiàn)xgboost教程

    裝: bash復(fù)制代碼conda install -c conda-forge xgboost 2. 導(dǎo)入必要的庫 在你的Python腳本或Jupyter Notebook中,導(dǎo)入必要的庫: python復(fù)制
    的頭像 發(fā)表于 01-19 11:21 ?1191次閱讀

    使用Python+OpenCV處理圖片

    如果給你一張圖片作為背景,另外一張圖片中的物體作為前景圖,要把前景圖中的物體疊加布置到背景圖的中間位置,并且前景圖中的物體需要在背景圖中有旋轉(zhuǎn)和投影,怎么處理?
    的頭像 發(fā)表于 12-23 15:54 ?749次閱讀

    【AI實(shí)戰(zhàn)項(xiàng)目】基于OpenCV的“顏色識(shí)別項(xiàng)目”完整操作過程

    適用于哪些場(chǎng)景,然后通過Python編寫代碼來實(shí)現(xiàn)這些算法,并應(yīng)用于實(shí)際項(xiàng)目中,實(shí)現(xiàn)圖像的檢測(cè)、識(shí)別、分類、定位、測(cè)量等目標(biāo)。華清遠(yuǎn)見【python+OpenCV
    的頭像 發(fā)表于 12-09 16:42 ?1284次閱讀
    【AI實(shí)戰(zhàn)項(xiàng)目】基于<b class='flag-5'>OpenCV</b>的“顏色識(shí)別項(xiàng)目”完整操作過程

    RK3568 + OpenCV 會(huì)碰撞出什么火花?案例詳解:2-1 基于OpenCV的畫線實(shí)驗(yàn)

    一、實(shí)驗(yàn)?zāi)康?本節(jié)視頻的目的是了解OpenCV的作用并通過OpenCV實(shí)現(xiàn)畫線。 二、實(shí)驗(yàn)原理 OpenCV 開放源代碼計(jì)算機(jī)視覺庫 OpenCV
    發(fā)表于 12-03 14:09

    一個(gè)月速成python+OpenCV圖像處理

    適用于哪些場(chǎng)景,然后通過Python編寫代碼來實(shí)現(xiàn)這些算法,并應(yīng)用于實(shí)際項(xiàng)目中,實(shí)現(xiàn)圖像的檢測(cè)、識(shí)別、分類、定位、測(cè)量等目標(biāo)。本文將介紹一個(gè)高效學(xué)習(xí)Python+O
    的頭像 發(fā)表于 11-29 18:27 ?410次閱讀
    一個(gè)月速成<b class='flag-5'>python+OpenCV</b>圖像處理

    十幾種格力空調(diào)故障代碼詳解

    十幾種格力空調(diào)故障代碼詳解,查表一目了然
    發(fā)表于 11-27 15:15 ?0次下載

    如何用OpenCV的相機(jī)捕捉視頻進(jìn)行人臉檢測(cè)--基于米爾NXP i.MX93開發(fā)板

    提供了一個(gè)非常簡(jiǎn)單的接口,用于相機(jī)捕捉一個(gè)視頻(我用的電腦內(nèi)置攝像頭) 1、安裝python3-opencv apt install python3-opencv 2、查看攝像頭支持的格式與分辨率
    發(fā)表于 11-15 17:58

    手寫圖像模板匹配算法在OpenCV中的實(shí)現(xiàn)

    OpenCV中的模板匹配是支持基于NCC相似度查找的,但是不是很好用,一個(gè)主要的原因是查找最大閾值,只能匹配一個(gè),自己比對(duì)閾值,又導(dǎo)致無法正確設(shè)定閾值范圍,所以問題很多。于是我重新寫了純Python版本的NCC圖像模板匹配的代碼
    的頭像 發(fā)表于 11-11 10:12 ?685次閱讀
    手寫圖像模板匹配算法在<b class='flag-5'>OpenCV</b>中的實(shí)現(xiàn)

    使用Python進(jìn)行圖像處理

    下面是一個(gè)關(guān)于使用Python幾行代碼中分析城市輪廓線的快速教程。
    的頭像 發(fā)表于 11-07 10:14 ?535次閱讀
    使用<b class='flag-5'>Python</b>進(jìn)行圖像處理

    Python常用函數(shù)大全

    Python 世界里,有一些寶藏函數(shù)和模塊,它們可以讓你編程更輕松、代碼更高效。這篇文章將帶你一一認(rèn)識(shí)這些神器,讓你的開發(fā)生活瞬間輕松不少!
    的頭像 發(fā)表于 10-27 17:20 ?820次閱讀

    INA337 RG設(shè)置的是2KΩ,結(jié)果測(cè)量的卻是十幾MΩ,為什么?

    INA337 RG 阻值出現(xiàn)問題,我設(shè)置的是2KΩ,結(jié)果測(cè)量的卻是十幾MΩ,輸入端檢測(cè)到差模信號(hào),輸出只有噪聲,電路圖如下,之前已經(jīng)驗(yàn)證過了,換了塊板子就有
    發(fā)表于 08-30 08:35

    OpenCV圖像識(shí)別C++代碼

    安裝OpenCV庫 首先,您需要在您的計(jì)算機(jī)上安裝OpenCV庫。您可以從OpenCV官網(wǎng)下載預(yù)編譯的庫或從源代碼編譯。安裝完成后,確保將OpenC
    的頭像 發(fā)表于 07-16 10:42 ?4050次閱讀

    opencv-pythonopencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個(gè)開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發(fā)表于 07-16 10:38 ?1968次閱讀

    基于OpenCV的人臉識(shí)別系統(tǒng)設(shè)計(jì)

    基于OpenCV的人臉識(shí)別系統(tǒng)是一個(gè)復(fù)雜但功能強(qiáng)大的系統(tǒng),廣泛應(yīng)用于安全監(jiān)控、人機(jī)交互、智能家居等多個(gè)領(lǐng)域。下面將詳細(xì)介紹基于OpenCV的人臉識(shí)別系統(tǒng)的基本原理、實(shí)現(xiàn)步驟,并附上具體的代碼示例。
    的頭像 發(fā)表于 07-11 15:37 ?2.6w次閱讀
    主站蜘蛛池模板: 黄色福利站 | 天天干天天插天天操 | 色多多影视 | 久久怡红院国产精品 | 夜夜夜夜夜夜夜工噜噜噜 | 一级毛片黄色片 | 天天爽爽 | 四虎影院精品在线观看 | 久草免费在线播放 | 色五月激情小说 | 97影院理论片在线观看 | 激情五月亚洲 | 狠狠干狠狠艹 | 四虎影院视频 | 日本三级理论片 | 亚洲资源最新版在线观看 | 欧美另类69 | 国产精品一区牛牛影视 | 免费人成黄页在线观看日本 | 亚洲一区日韩一区欧美一区a | 六月婷婷精品视频在线观看 | 色吧在线观看 | 中文字幕亚洲色图 | 国产理论片在线观看 | 黄色在线观看网址 | 婷婷久久久五月综合色 | 日韩综合色| 人人上人人干 | 两性色午夜视频免费老司机 | 欧美高清激情毛片 | 天天摸夜班摸天天碰 | 欧美大狠狠大臿蕉香蕉大视频 | 91网站在线播放 | 很黄很黄的网站免费的 | 成人性欧美丨区二区三区 | 末发育女一区二区三区 | 久久香蕉国产线看观看精品yw | 欧美三级一级片 | 黄在线观看在线播放720p | 亚洲第一视频在线播放 | 色综合九九 |