chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

人工智能精選 ? 2018-10-15 15:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

現(xiàn)在很多人都喜歡拍照(自拍)。有限的濾鏡和裝飾玩多了也會膩,所以就有 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)格化圖像。

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

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

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

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

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

pythonfast_neural_style.py--modelstarry_night.t7

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

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

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

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

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

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

原始圖像

ECCV16 models

instance_norm models

核心代碼其實很短,就是加載模型 -> 讀取圖片 -> 進(jìn)行計算 -> 輸出圖片,我在官方示例基礎(chǔ)上進(jì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)行計算
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é)果:

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

PS:前兩天看趙雷演唱會的時候我還說:他演唱會的背景 MV 大量使用了 圖像二值化、邊緣檢測 等操作,讓我想到以前數(shù)字圖像處理課的大作業(yè)……現(xiàn)在圖像風(fēng)格遷移的效率達(dá)到了實時,想必以后也會經(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實現(xiàn)圖像和視頻的風(fēng)格遷移(譯) - 論智 Bing
https://mp.weixin.qq.com/s/KXA6b-ckttBSQR5DvS3SBg

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

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

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

    關(guān)注

    42

    文章

    4831

    瀏覽量

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

    關(guān)注

    164

    文章

    4771

    瀏覽量

    125601
  • OpenCV
    +關(guān)注

    關(guān)注

    33

    文章

    651

    瀏覽量

    44601
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    沒有專利的opencv-python 版本

    專利風(fēng)險,僅需避開 opencv-contrib-python 的 nonfree 模塊(或直接用無頭版)。 如果你的場景需要特定功能(如特征提取、目標(biāo)跟蹤),可以告訴我具體需求,我?guī)湍阃扑]對應(yīng)的無專利 API 和代碼示例~
    發(fā)表于 12-13 12:37

    Termux中調(diào)試圣誕樹Python代碼

    在Termux中調(diào)試Python代碼(以圣誕樹立例)非常簡單,核心分為環(huán)境準(zhǔn)備、代碼編寫、運行調(diào)試三個步驟,下面一步步教你操作: 一、環(huán)境準(zhǔn)備(首次使用需做) Termux默認(rèn)可能沒有Pyth
    發(fā)表于 12-09 09:02

    那些年我用OpenCV+Qt趟過哪些坑?寫給視覺應(yīng)用開發(fā)者的避坑指南

    前陣子,團(tuán)隊里新來的小伙子跑來找我,眉頭緊鎖。他手里的項目我清楚:一個基于攝像頭的簡單計數(shù)工具。Demo階段用Python+OpenCV,幾行代碼跑得飛快,準(zhǔn)確率也好看??梢坏┮虬山o產(chǎn)線工人用
    發(fā)表于 12-02 09:43

    那些年我用OpenCV+Qt趟過哪些坑?寫給視覺應(yīng)用開發(fā)者的避坑指南

    前陣子,團(tuán)隊里新來的小伙子跑來找我,眉頭緊鎖。他手里的項目我清楚:一個基于攝像頭的簡單計數(shù)工具。Demo階段用Python+OpenCV幾行代碼跑得飛快,準(zhǔn)確率也好看??梢坏┮虬山o產(chǎn)線工人用
    的頭像 發(fā)表于 12-02 09:40 ?269次閱讀
    那些年我用<b class='flag-5'>OpenCV</b>+Qt趟過哪些坑?寫給視覺應(yīng)用開發(fā)者的避坑指南

    知乎開源“智能預(yù)渲染框架” 幾行代碼實現(xiàn)鴻蒙應(yīng)用頁面“秒開”

    ,交互延遲等核心痛點,通過智能預(yù)測用戶瀏覽目標(biāo)進(jìn)行提前渲染,只需幾行代碼即可顯著提升復(fù)雜頁面的加載性能,實現(xiàn)“頁面秒開”的高效體驗,為鴻蒙開發(fā)者帶來開發(fā)效率和用戶體驗的雙重飛躍。 隨著鴻蒙生態(tài)快速發(fā)展,應(yīng)用開發(fā)者難免會遇到一些性能問題
    的頭像 發(fā)表于 08-29 14:32 ?528次閱讀
    知乎開源“智能預(yù)渲染框架” <b class='flag-5'>幾行</b><b class='flag-5'>代碼</b>實現(xiàn)鴻蒙應(yīng)用頁面“秒開”

    如何使用樹莓派與OpenCV實現(xiàn)面部和運動追蹤的云臺系統(tǒng)?

    大家好,這是一個樹莓派和OpenCV的連載專題。使用樹莓派與OpenCV實現(xiàn)姿態(tài)估計和面部特征點追蹤使用樹莓派與OpenCV實現(xiàn)面部和運動追蹤的云臺系統(tǒng)使用樹莓派和OpenCV實現(xiàn)手部
    的頭像 發(fā)表于 08-14 17:45 ?1136次閱讀
    如何使用樹莓派與<b class='flag-5'>OpenCV</b>實現(xiàn)面部和運動追蹤的云臺系統(tǒng)?

    【GM-3568JHF開發(fā)板免費體驗】OpenCV開發(fā)環(huán)境安裝和計數(shù)程序開發(fā)

    、 Android 等系統(tǒng)上運行,并通過Python接口簡化操作。 sudo apt install libopencv-dev python3-opencv 四、OpenCV圖像識別測試 使用
    發(fā)表于 08-09 13:30

    如何板端編譯OpenCV并搭建應(yīng)用--基于瑞芯微米爾RK3576開發(fā)板

    運行opencv代碼,來完成一些視覺內(nèi)容,充分發(fā)揮該板的性能。要先編譯opencv需要一些預(yù)先的準(zhǔn)備工作首先更新軟件包并安裝必要的依賴:sudo apt update sudo apt upgrade
    發(fā)表于 08-08 17:14

    【Milk-V Duo S 開發(fā)板免費體驗】SDK編譯、人臉檢測、OpenCV測試

    CMakeLists.txt ESC + I 進(jìn)入 Insert 模式,粘貼如下代碼 project(opencv-mobile-test) cmake_minimum_required
    發(fā)表于 07-11 13:48

    如何在k230上運行OpenCV代碼?

    如何在k230上運行OpenCV代碼
    發(fā)表于 06-17 06:06

    【正點原子STM32MP257開發(fā)板試用】2.USB攝像頭使用

    ) (usb-482f0000.usb-1.3): /dev/video7 /dev/video8 /dev/media2 最后一個(UVC Camera)就是設(shè)備,要記下是video多少,后期opencv-python需要
    發(fā)表于 06-16 19:16

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

    攝像頭)1、安裝python3-opencvaptinstallpython3-opencv(左右移動查看全部內(nèi)容)2、查看攝像頭支持的格式與分辨率root@debi
    的頭像 發(fā)表于 04-15 11:51 ?745次閱讀
    如何用<b class='flag-5'>OpenCV</b>的相機(jī)捕捉視頻進(jìn)行人臉檢測--基于米爾NXP i.MX93開發(fā)板

    快速部署!米爾全志T527開發(fā)板的OpenCV行人檢測方案指南

    sudo apt-get install libopencv-dev python3-opencv 2.在全志T527開發(fā)板?安裝pipsudo apt-get install python3-pip 二
    發(fā)表于 04-11 18:14

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

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

    無法在Windows Subsystem for Linux 2上使用對象檢測Python演示運行YoloV4模型?

    在 WSL2 上運行對象檢測 python 演示。 使用 CPU 運行 object_detection_demo.py 時遇到錯誤: OpenCV: FFMPEG: tag
    發(fā)表于 03-05 08:43