<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          機器學習實戰(zhàn):用 SVD 壓縮圖像(已上線)

          共 605字,需瀏覽 2分鐘

           ·

          2022-04-18 13:51

          ↓↓↓擊關(guān)注,回復資料,10個G的驚喜

          SVD

          前文我們了解了奇異值分解(SVD)的原理,今天就實戰(zhàn)一下,用矩陣的奇異值分解對圖片進行壓縮.

          Learn by doing

          我做了一個在線的圖像壓縮應用,大家可以感受一下。

          功能很簡單,上傳需要壓縮的圖片,選擇壓縮比,提交即可。

          https://huggingface.co/spaces/beihai/Image-Compression-with-SVD

          下面咱們就一起看看實現(xiàn)過程

          用SVD壓縮圖像

          原理很簡單:
          將圖片分解為RGB三顏色矩陣,將每個顏色矩陣進行奇異值分解,然后選擇指定數(shù)量的特征對矩陣進行壓縮。

          核心代碼

          完整代碼大家可以clone我的huggingface

          https://huggingface.co/spaces/beihai/Image-Compression-with-SVD

          核心代碼1:

          p表示奇異值的百分比,根據(jù)指定的清晰度提取奇異值清晰度越高,壓縮比越低,提取的奇異值的個數(shù)也就越多,圖片也就越不會失真)

          def?rebuild_img(u,?sigma,?v,?percent):?
          ????m?=?len(u)
          ????n?=?len(v)
          ????a?=?np.zeros((m,?n))

          ????count?=?(int)(sum(sigma))
          ????curSum?=?0
          ????k?=?0
          ????while?curSum?<=?count?*?percent:
          ????????uk?=?u[:,?k].reshape(m,?1)
          ????????vk?=?v[k].reshape(1,?n)
          ????????a?+=?sigma[k]?*?np.dot(uk,?vk)
          ????????curSum?+=?sigma[k]
          ????????k?+=?1
          ?
          ????a[a?????a[a?>?255]?=?255

          核心代碼2: 主要就是定義inderence函數(shù)和gradio前端的實現(xiàn)

          import?os
          os.system("pip?install?--upgrade?pip")
          os.system("pip?install?opencv-python-headless")
          import?cv2
          import?numpy?as?np
          import?gradio?as?gr
          from?func?import?rebuild_img

          def?inference(img,k):
          ????input_img?=?cv2.imread(img,?cv2.IMREAD_COLOR)????
          ????u,?sigma,?v?=?np.linalg.svd(input_img[:,?:,?0])
          ????R?=?rebuild_img(u,?sigma,?v,?k)
          ????u,?sigma,?v?=?np.linalg.svd(input_img[:,?:,?1])
          ????G?=?rebuild_img(u,?sigma,?v,?k)
          ????u,?sigma,?v?=?np.linalg.svd(input_img[:,?:,?2])
          ????B?=?rebuild_img(u,?sigma,?v,?k)
          ????restored_img?=?np.stack((R,?G,?B),?2)
          ????return?Image.fromarray(restored_img[:,?:,?::-1])


          gr.Interface(
          ????inference,?
          ????[
          ????gr.inputs.Image(type="filepath",?label="Input"),gr.inputs.Slider(0,?1,?0.1,default=0.6,label=?'Compression?ratio')],?
          ????gr.outputs.Image(type="pil",?label="Output"),
          ????title=title,
          ????description=description,
          ????article=article
          ????).launch(enable_queue=True,cache_examples=True,share=True)

          上線

          Gradio + Huggingface 上線機器學習應用(純免費)我已經(jīng)介紹過很多遍了,這里就不贅述了,還不太熟悉的同學請移步我這篇文章:騰訊的這個算法,我搬到了網(wǎng)上,隨便玩!

          這里就提一下遇到的小問題及解決方法吧。

          由于用了cv2,所以要安裝opencv-python,但是運行中報錯如下:

          ??File?"/home/user/.local/lib/python3.8/site-packages/cv2/__init__.py",?line?8,?in?
          ????from?.cv2?import?*
          ImportError:?libGL.so.1:?cannot?open?shared?object?file:?No?such?file?or?directory

          針對這個錯誤,網(wǎng)上有以下方法:

          1 yum安裝:

          yum?install?libglvnd-glx

          2 重新安裝opencv包:

          pip?uninstall?opencv-python
          pip?install?opencv-python-headless

          第一種方法需要root權(quán)限,建議直接第二種方法吧,省事。

          參考:https://blog.razrlele.com/p/1920 https://blog.csdn.net/qq_42192693/article/details/121392195


          1. 用Excel玩機器學習!
          2. 用瀏覽器玩機器學習
          3. LightGBM 可視化調(diào)參
          4. AI黑科技!從此只看高清視頻
          5. 比 Tesorflow 還強的機器學習庫
          6. AI 黑科技,老照片修復,模糊變高清

          瀏覽 61
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  av天堂资源在线 A片免费观看网站 | 成年片黄色片网站视频 | 毛片一级免费 | 99国产婷婷踪合在线免费视频 | 久久99国产精品成人欧美 |