<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                最近,3D影片盛行,3D電視技術也層出不窮,3D技術在帶給大家非凡的視覺沖擊同時,也在告訴大家這背后隱藏了太多的商機。 ??? 目前的3D技術大體分為兩種:軟件技術和硬件技術。所謂硬件技術就是在拍攝影片時采用多攝像頭及各種3D相關設備來拍攝片源;所謂軟件技術就是將2D片源通過一定的軟件轉換為3D格式。 ??? 如何使用軟件技術將2D轉為3D呢?今天我們來研究一種基于單幅圖像的3D轉換算法。 ??? 首先,我們要了解一種最簡單的紅藍3D技術,所謂的2D圖像轉3D圖像,它需要兩幅有視差的圖像來合成一張具有3D信息的效果圖,實際上就是用一幅圖像包含兩張圖像的信息。如何實現這一點呢?我們知道在RGB顏色空間中,圖像中的每個像素都可以都包含R,G,B三個顏色分量,比如:純紅色(255,0,0),純綠色(0,255,0),純藍色(0,0,255)等。 ????純紅色(255,0,0)的補色為青色(0,255,255),這兩種顏色互不包含,是互補的關系,也就是說,基于這種補色關系,我們有如下結果: ??? 假設圖像A的像素M(x,y)的RBG為(R1,G1,B1),圖像B的像素N(x,y)的RGB為(R2,G2,B2),我們所需要的3D圖像S對應像素O(x,y)的RGB值可計算如下(紅藍模式): ????????????????????? O(R,G,B)?=?(R1,G2,B2)?或 ??????????????????????O(R,G,B)?=?(R2,G1,B1) ??? 以上兩個公式中,任何一個,都包含了其中一張圖像的R信息,和另一張圖像的G,B信息,由于紅色的補色是青色,這兩個是互不包含的關系,因此,以上公式得到的結果中就包含了兩張圖像的信息了。 ??? 對于紅藍眼鏡,其中兩個鏡片的顏色正是紅色和青色,這樣,圖像經過鏡片進入我們眼睛時,實際上就包含了兩幅圖像信息(一幅圖像的R信息,另一幅圖像的G,B信息),從而產生了立體感覺。 ??? 基于以上原理,我們可以用PS,方便的將如下兩張有視差的圖像轉換為一張紅藍3D圖像: ![](https://box.kancloud.cn/2015-12-30_56837de10fd13.jpg) ![](https://box.kancloud.cn/2015-12-30_56837de1233a5.jpg) 注:以上原始圖1,2像來自于網絡 ??? 有了上面的理解,我們明白,我們需要2張2D的有視差的圖像,才能轉換為1張3D圖像,但是,我們如何將1張原始圖像直接轉換為3D圖像呢? ??? 一個基本思想,我們通過原始圖像,獲取圖像的深度,視差等3D信息,來構建3D效果圖。 ??? 這個思想的實現,是個關鍵問題,經過本人研究,這里,介紹一個思路: ??? 假設有原始圖像A,我們要得到的紅藍3D圖像為S,算法過程如下: ??? 1,濾波算法 ????????? 使用一定的濾波算法去除A中的噪聲,比如:高斯濾波算法,均值濾波算法,中值濾波算法等等。 ??? 2,銳化算法 ????????? 使用一定的銳化算法恢復并增強A中的細節,比如:Sobel,Laplace,Robert等等。 ??? 3,添加深度信息 ????????? 經過1-2之后,我們得到圖像B,這個圖像與A已經有了一定的差異,但是,我們如果將B和A作為兩張有視差的原始圖像來得到S,那么效果并不好,我們還要添加一定的深度信息,構成圖像C,這個深度信息獲取的算法,可以參考論文(Rapid 2D to 3D Conversion),這樣我們就可以得到圖像C了。 ???? 4,按照前文所述紅藍3D原理,將圖像A,C轉為S,S就是一副3D圖像了。 ???? 這里附上我自己的效果圖: ![](https://box.kancloud.cn/2015-12-30_56837de1357f4.jpg) ![](https://box.kancloud.cn/2015-12-30_56837de1468d5.jpg) ![](https://box.kancloud.cn/2015-12-30_56837de15720d.jpg)![](https://box.kancloud.cn/2015-12-30_56837de170c21.jpg) ??最后,分享一個專業的圖像處理網站(微像素),里面有很多源代碼下載: [http://www.zealpixel.com/portal.php](http://http//www.zealpixel.com/portal.php)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看