国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

javacv和opencv對(duì)圖文視頻編輯-裸眼3D圖片制作

這篇具有很好參考價(jià)值的文章主要介紹了javacv和opencv對(duì)圖文視頻編輯-裸眼3D圖片制作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

通過斗雞眼,將左右兩張相似的圖片疊加到一起看,就會(huì)有3D效果。

3D圖片,3D眼鏡,3D視頻等原理類似,都是通過兩眼視覺差引起腦補(bǔ)產(chǎn)生3D效果。

圖片:

javacv和opencv對(duì)圖文視頻編輯-裸眼3D圖片制作,opencv,java,音視頻,javacv

javacv和opencv對(duì)圖文視頻編輯-裸眼3D圖片制作,opencv,java,音視頻,javacv

?圖片來源:

一些我拍攝的真*裸眼3D照片 - 嗶哩嗶哩https://www.bilibili.com/read/cv13066106/?spm_id_from=333.999.0.0

上邊兩幅圖片在斗雞眼下,具有3D效果,那兩張圖片有什么區(qū)別嗎?

1)通過ps我們將兩張圖片疊加,然后快速反復(fù)隱藏一張圖片,就可以看到兩張圖片有角度差。

也就是拍照的時(shí)候,兩張圖片的鏡頭有移動(dòng)。

2)簡(jiǎn)單的分析,就知道如何拍照,但是如果我只有一張圖片怎么處理下游3D效果呢,開干。

單張圖片處理成裸眼3D圖片,使圖片疊加具有3D效果

先上效果圖:

javacv和opencv對(duì)圖文視頻編輯-裸眼3D圖片制作,opencv,java,音視頻,javacv

斗雞眼疊加圖片,就可以看到任務(wù)和背景分層次了,因?yàn)槲覍?duì)背景和人物兩個(gè)層次處理了。

如果僅僅把一個(gè)圖片復(fù)制2次,就算斗雞眼疊加和原圖一樣效果即沒有3D效果,因?yàn)闆]有角度差。

步驟:

首先打開ps打開原圖,原圖是256*256,將人物勾選

javacv和opencv對(duì)圖文視頻編輯-裸眼3D圖片制作,opencv,java,音視頻,javacv

然后復(fù)制圖層,并把圖層拉扁,即左邊位置不動(dòng),把右側(cè)往左拉(shift+鼠標(biāo)移動(dòng)右邊界)

效果:

javacv和opencv對(duì)圖文視頻編輯-裸眼3D圖片制作,opencv,java,音視頻,javacv

到這里人物就處理好了,原圖和移動(dòng)后疊加圖,(導(dǎo)出時(shí)把原圖隱藏再導(dǎo)出)

接下來處理背景,

同理,前邊的人物向左壓縮,那么背景我們就反著來,把背景往右壓扁。

ctrl+shift+i可以對(duì)選取反選,就很容易找到背景。

效果:

javacv和opencv對(duì)圖文視頻編輯-裸眼3D圖片制作,opencv,java,音視頻,javacv

可以看到右側(cè)門框位置不動(dòng),僅僅把背景往左拉伸了。

ps圖層如下:

javacv和opencv對(duì)圖文視頻編輯-裸眼3D圖片制作,opencv,java,音視頻,javacv

原圖不用變,我們僅僅做一個(gè)256的前景右移,背景左移的圖片導(dǎo)出即可。

最終制作的人物和背景偏移圖片就好了,

javacv和opencv對(duì)圖文視頻編輯-裸眼3D圖片制作,opencv,java,音視頻,javacv

將此圖片和處理后的圖片放到圖片中。

上代碼:

import org.bytedeco.ffmpeg.global.avcodec;
import org.bytedeco.ffmpeg.global.avutil;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.FFmpegFrameRecorder;
import org.bytedeco.javacv.FFmpegLogCallback;
import org.bytedeco.javacv.Frame;
import org.bytedeco.javacv.Java2DFrameConverter;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;


//裸眼3d圖片,斗雞眼
public class TwoPic2 {
    private static final String LEFT_IMAGE_PATH = "D:\\desktop\\left.png";
    private static final String RIGHT_IMAGE_PATH = "D:\\desktop\\right2.png";
    private static final String all = "D:\\desktop\\all.png";

    //把圖片交替合并為視頻
    public static void main(String[] args) throws Exception {

        String outPutFile = "D:\\desktop\\all.mp4";
        FFmpegLogCallback.set();

        int imgWidth = 256;
        int imgHeight = 256;

        // FFmpegFrameRecorder:處理視頻幀
        //視頻寬高最好是按照常見的視頻的寬高  16:9  或者 9:16
        FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(outPutFile, imgWidth, imgHeight);
        //設(shè)置視頻編碼層模式
        recorder.setVideoCodec(avcodec.AV_CODEC_ID_MPEG4);
        //1-代表1幀/s
        Double FrameRate = 30d;
        recorder.setFrameRate(FrameRate);

        /*
         * videoBitRate這個(gè)參數(shù)很重要,當(dāng)然越大,越清晰,但最終的生成的視頻也越大。
         * 查看一個(gè)資料,說均衡考慮建議設(shè)為videoWidth*videoHeight*frameRate*0.07*運(yùn)動(dòng)因子,運(yùn)動(dòng)因子則與視頻中畫面活動(dòng)頻繁程度有關(guān),如果很頻繁就設(shè)為4,不頻繁則設(shè)為1
         */
        int motionFactory = 1;
        recorder.setVideoBitrate((int) ((imgWidth * imgHeight * FrameRate) * motionFactory * 0.07));

        //設(shè)置視頻圖像數(shù)據(jù)格式
        int pixelFormat = avutil.AV_PIX_FMT_YUV420P;
        recorder.setPixelFormat(pixelFormat);
        String format = "mp4";
        recorder.setFormat(format);
        //         雙通道(立體聲)
        // recorder.setAudioChannels(grabber.getAudioChannels());
        recorder.setAudioChannels(2);

        recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);

        recorder.start();
        // 錄制視頻
        Java2DFrameConverter converter = new Java2DFrameConverter();
        //URL imgUrl = new URL("D:\\desktop\\test\\img1.png");

        //根據(jù)每秒的幀數(shù) 記錄多少次圖片,

        BufferedImage left= ImageIO.read(new File(LEFT_IMAGE_PATH));
        BufferedImage right= ImageIO.read(new File(RIGHT_IMAGE_PATH));
        Frame a =converter.getFrame(left);
        Frame b =converter.getFrame(right);

        int c=20;
        while (c>=0){
            c--;
            for (int i = 0; i < 15; i++) {
                recorder.record(converter.getFrame(ImageIO.read(new File(LEFT_IMAGE_PATH))));
                recorder.record(converter.getFrame(ImageIO.read(new File(RIGHT_IMAGE_PATH))));
            }

        }

        //
        recorder.close();

    }
}

這個(gè)代碼是將兩個(gè)256*256圖片放到一張圖片。

教程完畢。

通過本文章,你應(yīng)該理解了裸眼3D其實(shí)很簡(jiǎn)單。

歡迎大家關(guān)注下哈,javacv相關(guān)文章持續(xù)增加。文章來源地址http://www.zghlxwxcb.cn/news/detail-800655.html

到了這里,關(guān)于javacv和opencv對(duì)圖文視頻編輯-裸眼3D圖片制作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 高大上~的裸眼3D原理與制作方法

    高大上~的裸眼3D原理與制作方法

    上圖是網(wǎng)上搜索的,侵刪~ 前言: ? ? ? ? 有段時(shí)間朋友圈里被刷了一波“裸(wei)眼(ya)3D\\\"視頻,看過的人都說好!神!奇。 后來也有些人問我這東西能不能做…… 我一時(shí)不知道如何回答,原因之一是覺得這玩意就是一段變形三維視頻,跟我特么互動(dòng)媒體行業(yè)有毛關(guān)系?

    2024年02月05日
    瀏覽(25)
  • springboot(JavaCV )實(shí)現(xiàn)視頻截取第N幀并保存圖片

    springboot(JavaCV )實(shí)現(xiàn)視頻截取第N幀并保存圖片 現(xiàn)在視頻網(wǎng)站展示列表都是用img標(biāo)簽展示的,動(dòng)圖用的是gif,但是我們上傳視頻時(shí)并沒有視屏封面,就這需要上傳到服務(wù)器時(shí)自動(dòng)生成封面并保存 本博客使用jar包的方式實(shí)現(xiàn)上傳視頻文件并且截取視頻第一幀,保存到阿里云的

    2024年02月12日
    瀏覽(21)
  • javacv 基礎(chǔ)04-讀取mp4,avi等視頻文件并截圖保存圖片到本地

    javacv 基礎(chǔ)04-讀取mp4,avi等視頻文件并截圖保存圖片到本地

    javacv 讀取mp4,avi等視頻文件并截圖保存圖片到本地 代碼如下: 運(yùn)行結(jié)果: 測(cè)試視頻mp4 下載

    2024年02月11日
    瀏覽(44)
  • Java通過javacv獲取視頻、音頻、圖片等元數(shù)據(jù)信息(分辨率、大小、幀等信息)

    相信我們都會(huì)或多或少需要給前端返回視頻或者音頻的一些信息,那么今天這篇文章通過Java語(yǔ)言使用javacv來獲取視頻、音頻、圖片等元數(shù)據(jù)信息(分辨率、大小、幀等信息) 一、首先導(dǎo)入依賴 可以先導(dǎo)入javacv/javacv-platform依賴,由于依賴比較大,所以我們可以先去除部分不需

    2024年02月04日
    瀏覽(24)
  • 3D材質(zhì)編輯:制作被火燒的木頭

    3D材質(zhì)編輯:制作被火燒的木頭

    在線工具推薦: 3D數(shù)字孿生場(chǎng)景編輯器 ?-? GLTF/GLB材質(zhì)紋理編輯器 ?-? 3D模型在線轉(zhuǎn)換 ?-? Three.js AI自動(dòng)紋理開發(fā)包 ?-? YOLO 虛幻合成數(shù)據(jù)生成器 ?-? 三維模型預(yù)覽圖生成器 ?-? 3D模型語(yǔ)義搜索引擎 當(dāng)談到游戲角色的3D模型風(fēng)格時(shí),有幾種不同的風(fēng)格: 寫實(shí)風(fēng)格 :這種風(fēng)格

    2024年02月05日
    瀏覽(16)
  • 裸眼3D全息投影技術(shù)

    現(xiàn)在這個(gè)智能時(shí)代,聊天的時(shí)候不說點(diǎn)黑科技,都不好意思和人開口。今天,小畫就要和大家聊聊投影領(lǐng)域的黑科技——全息投影。 在看好萊塢大片的時(shí)候,有一個(gè)場(chǎng)景我們非常熟悉:主角揮一下手,眼前就會(huì)出現(xiàn)一塊立體的虛擬的顯示屏,屏幕上的內(nèi)容主角可以任意切換—

    2023年04月19日
    瀏覽(28)
  • 我們距離“裸眼3D自由”,還有多遠(yuǎn)?

    我們距離“裸眼3D自由”,還有多遠(yuǎn)?

    還記得2018年,我曾熬夜好幾天,就為了搶一張故宮博物院“清明上河圖互動(dòng)藝術(shù)展演”的門票。 后來,我也曾去過很多城市,看過不少策劃精良的展覽。那場(chǎng)“穿越北宋”的名畫之旅,依然是我看過的,最具沉浸感的一場(chǎng)文化類展演,沒有之一。 我可以很輕松地回憶起,自

    2024年02月02日
    瀏覽(28)
  • 網(wǎng)線制作工具 網(wǎng)線水晶頭制作過程詳解(視頻+圖文教程)

    電腦這概念其實(shí)真的很廣,要精通電腦的所有技巧技能,并不是一兩年的經(jīng)驗(yàn)可以做到的,因?yàn)殡娔X這個(gè)概念其實(shí)有這非常廣泛的鏈接,筆者今日就深受其教誨,比如一個(gè)簡(jiǎn)單的電腦技能,網(wǎng)線水晶頭的制作,雖然這個(gè)熟悉的朋友非常簡(jiǎn)單,但對(duì)于接觸不多的朋友制作起來就比較吃力,筆

    2024年02月06日
    瀏覽(33)
  • 【html】制作一個(gè)能生成圖片的markdown在線編輯器

    【html】制作一個(gè)能生成圖片的markdown在線編輯器

    markdown是什么,為什么大家都會(huì)用它呢,如果你想寫文章,寫文檔,寫作,用markdown是最好的選擇,它是一個(gè)很好用的文檔排版工具,覺得好用,何不嘗試把它弄下來做成自己的呢,接下來給講一講如何制作一個(gè)純網(wǎng)頁(yè)的markdown在線編輯器,可隨時(shí)隨地用它寫稿件。 新建一個(gè)

    2024年02月06日
    瀏覽(24)
  • 數(shù)字化展廳設(shè)計(jì)中裸眼3D應(yīng)用的優(yōu)勢(shì)分析

    數(shù)字化展廳設(shè)計(jì)中裸眼3D應(yīng)用的優(yōu)勢(shì)分析

    隨著科技的飛速發(fā)展,數(shù)字化展廳設(shè)計(jì)已經(jīng)成為展示和傳播信息的重要平臺(tái)。其中,裸眼3D技術(shù)作為一種創(chuàng)新的視覺展示方式,正逐漸在數(shù)字化展廳設(shè)計(jì)中得到廣泛應(yīng)用。本文將詳細(xì)分析裸眼3D應(yīng)用在數(shù)字化展廳設(shè)計(jì)中的優(yōu)勢(shì),探討其如何為觀眾帶來全新的視覺體驗(yàn),提升展廳

    2024年04月09日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包