一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Seam Carving一種很強的圖像縮放算法

新機器視覺 ? 來源:NetPioneer ? 作者:NetPioneer ? 2022-11-11 15:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Seam Carving一種很強的圖像縮放算法

0

簡介

我們在排版的時候可能會遇到一些尷尬的情況。一張圖片原本是豎著的,而你希望把它當作一張寬屏圖片,于是你只好對它進行拉伸:

547e9e7a-6105-11ed-8abf-dac502259ad0.png

撫子的形狀瞬間變得不可描述起來。有沒有什么辦法,能不改變前景撫子的形象,只是拉伸背景的天空呢?也許你會想到萬能的神經(jīng)網(wǎng)絡(luò)。但早在神經(jīng)網(wǎng)絡(luò)火遍大江南北之前,就有一種方法流行于世間:Seam Carving。它可以做到這樣:

549f8d9c-6105-11ed-8abf-dac502259ad0.png

完美符合我們的要求!那么這個仿佛魔法一樣的Seam Carving是如何工作的呢?

01

什么是圖像

我們這里將所談?wù)摰降膱D像限定為二維的像素圖象,而不是矢量圖象或者三維的體素組成的“圖像”之類的東西。對于一幅圖像,它的每個像素擁有一個整數(shù)坐標,同時擁有一個顏色,后者以 RGB 的形式表現(xiàn)。

當人看到圖像的時候,主要是通過識別圖像當中的邊緣來分辨圖像中的物體的,這提示我們邊緣的信息對于尋找圖像中的主要物體有著重要的作用。如果我們在圖像縮放的時候能夠盡量不影響到這些像素,那么就有可能做到在保證圖像中主要物體的比例不變的情況下拉伸背景。就像這樣

| 原圖像

5679c27c-6105-11ed-8abf-dac502259ad0.png

| 縮放后

56a78248-6105-11ed-8abf-dac502259ad0.png

由此我們可以得出結(jié)論:通過依次刪除圖像中若干條自上而下和自左而右的像素通路,就可以達到“縮放”的目的。就自上而下的像素通路來說,這樣的通路寬度為 1,從圖像的第一行連接到圖像的最后一行,在每一行中只占據(jù)一個像素,相鄰行的像素的水平坐標相差在 -1 到 1 之間。刪除這樣的自上而下的像素保證了圖像的寬度減一的同時不會出現(xiàn)寬度不同的行;自左而右的像素通路也是同理。

56bee424-6105-11ed-8abf-dac502259ad0.png

圖中的紅線分別是一條垂直通路和水平通路。如何找到這樣的像素通路,穿過盡可能少的重要物體?為此,我們引入了一個概念:“能量”。

02

能量,又是能量

能量在這里起到的作用是表征像素的重要程度。先從圖像的基本元素的能量——像素的能量說起。對于單個像素,我們可以定義其能量形式為:

56d7f414-6105-11ed-8abf-dac502259ad0.png

其中,字母I表示像素灰度值,第一個偏導項就表示了色彩在這個像素變化的劇烈程度。如果我們將 RGB 顏色的像素的顏色看作一個三維向量,那么其能量形式也會是一個三維向量,這對于算法的后續(xù)實現(xiàn)是不利的。在實現(xiàn)中,我們可以用灰度標量代替 RGB 三維向量參與運算,因為人眼對灰度的敏感度遠高于色彩。公式看起來不太直觀,來看一個例子:

56eb75b6-6105-11ed-8abf-dac502259ad0.png

與人物有關(guān)的部分,細節(jié)比較多,對應(yīng)的顏色變化也更明顯,能量也就越高。相比之下,背景部分比如天空的顏色變化不太明顯,能量普遍比較低。對應(yīng)到上圖中,可能找到的垂直能量通路就是左側(cè)的天空,刪除之后并不會影響魚和人物的部分。

對于任意的一條自上而下的像素通路,該通路的能量就是該通路中所有像素的能量的和。

03

利用能量進行分割

前文說到,像素的能量表征了像素的重要程度,那么像素通路的能量就表征了像素通路中所有像素的總體重要程度,也就表征了該通路穿過的重要物體的多寡,也就表征了刪除這條像素通路對圖像中重要物體的影響程度的大小。刪除一條能量最小的像素通路對圖像中重要物體的影響是最小的。

5738a980-6105-11ed-8abf-dac502259ad0.png

對于這樣一張圖像,如果對其進行縮放,我們希望保留不同顏色間的分界線,使其形狀和比例盡可能地不改變。即這幾條分界線的重要性應(yīng)該盡可能地高。根據(jù)我們關(guān)于能量的定義,分界線附近的像素的能量顯著地高于色塊中的像素。如果要被刪去的像素通路主要通過色塊區(qū)域,那么分界線的形狀就可以得到保留了。

那么現(xiàn)在的問題就變成了如何尋找一條能量最小的像素通路,這里以自上而下的像素通路說明尋找這樣的像素通路的方式。這就轉(zhuǎn)換為了一個經(jīng)典的動態(tài)規(guī)劃問題,形式化的轉(zhuǎn)移方程如下:

我們記 dpi 為從圖像的第一行到第 i 行的第 j 個像素的通路中能量最小的通路的能量 e 以及該像素在該通路上的前驅(qū) p。第 i 行的第 j 個像素的能量為 e(i,j)。那么

574b1da4-6105-11ed-8abf-dac502259ad0.png

這個公式可能還是有點太過抽象了。由于通路一定是連通的,也就是某一個像素只可能與三個像素位于同一條通路內(nèi),分別是它的左上、正上和右上。

576507be-6105-11ed-8abf-dac502259ad0.png

如果我們分別知道它左上、正上和右上的三個像素所在的通路的最低能量,只需要選出能量最低的一條并加上自己的能量,就構(gòu)成了當前像素的最短能量通路。換言之,這其實是一種歸納法:

·第一行每個像素的累積能量是自己的能量值

·除此之外每一行每個像素的累計能量是上一行的三個相鄰像素中最低的累積能量加上自己的能量值

·最后一行的累計能量最低的就代表了一條能量最短的通路

當然,這里還有一個小小的擴展:現(xiàn)在有一個希望縮減的圖像,其寬高分別需要縮減 dw 和 dh 個像素。這就意味著這張圖象需要刪去 dw 和 dh 條能量最小的自上而下的通路和自左而右的通路。我們可以選擇先刪除自左而右的通路,再刪除自上而下的通路,反之亦可。但是為了追求刪除通路的總能量和最小——這樣全部刪除掉的像素對重要物體的影響最小,我們還可以優(yōu)化這個刪除順序。

這個問題也可以用動態(tài)規(guī)劃的方法解決。不妨記 dq[i] [j] 為原圖像在水平縮減 i 個像素長度、垂直縮減 j 個像素長度的過程中所有刪去的像素通路的能量值和的最小值,由于寬高分別為 x 和 y 的圖像在這種縮放方式下只有可能通過 寬高為 (x+1,y) 或 (x,y+1) 的圖像縮減而來,所以有

577986bc-6105-11ed-8abf-dac502259ad0.png

有了上面的經(jīng)驗,讀者能否自己理解這個轉(zhuǎn)移方程的含義呢?

最后再來看一個利用Seam Carving方法處理的例子:

| 原圖像

578911ea-6105-11ed-8abf-dac502259ad0.png

| 縮減后

58153648-6105-11ed-8abf-dac502259ad0.png

很多細節(jié)得到了保留,比起直接拉伸來說要好太多了。

04

結(jié)語

本文介紹的這種Seam Carving方法由Avidan等人發(fā)明,并發(fā)表在2007年的Siggraph中,目前已經(jīng)有非常廣泛的應(yīng)用,在Photoshop等軟件中都可以找到它的身影。比起目前主流的神經(jīng)網(wǎng)絡(luò)方法來說,它要簡單的多,并且有很大的改良余地,最終效果也不遑多讓。有興趣的同學也可以進一步的研究或者和我討論。

審核編輯 :李倩

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

    關(guān)注

    42

    文章

    4814

    瀏覽量

    103602
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4710

    瀏覽量

    95378
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1094

    瀏覽量

    41255

原文標題:Seam Carving - 一種很強的圖像縮放算法

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    一種基于分數(shù)階 PID 直流電機調(diào)速的 AGV 控制系統(tǒng)

    為設(shè)計一種低成本、抗干擾、穩(wěn)定可靠的 AGV,提出一種基于磁帶導航的 AGV 系統(tǒng)。采用 Megawin 公司的80C51單片機為控制核心,以并排對稱設(shè)計的霍爾傳感器實現(xiàn)循跡和糾偏,紅外光
    發(fā)表于 03-25 15:10

    一種基于正交與縮放變換的大模型量化方法

    近年來,大規(guī)模語言模型(Large Language Models, LLMs)在自然語言處理領(lǐng)域取得了革命性進展。以 GPT 系列、LLaMA 等為代表的模型,通過千億級參數(shù)的復雜結(jié)構(gòu)展現(xiàn)出強大的語義理解和生成能力。
    的頭像 發(fā)表于 03-04 11:10 ?480次閱讀
    <b class='flag-5'>一種</b>基于正交與<b class='flag-5'>縮放</b>變換的大模型量化方法

    在i.MX RT處理器上使用PXP實現(xiàn)縮放和旋轉(zhuǎn)組合操作

    本文主要探討如何使用PXP實現(xiàn)縮放和旋轉(zhuǎn)組合操作,PXP是NXP推出的個2D圖形加速器,主要完成對圖像的數(shù)據(jù)格式轉(zhuǎn)換、固定角度旋轉(zhuǎn)(90°,180°,270°),任意比例縮放、混色,
    的頭像 發(fā)表于 02-20 10:53 ?1154次閱讀
    在i.MX RT處理器上使用PXP實現(xiàn)<b class='flag-5'>縮放</b>和旋轉(zhuǎn)組合操作

    DLPC3430投影圖像無法縮放怎么解決?

    ,3430可以縮放1280*720的輸入到854*480 但是實際使用的時候發(fā)現(xiàn),圖像只投影了1280*720前面854*480的部分,效果如下, 紅框區(qū)域為完整數(shù)據(jù)輸入,藍框部分為3430的投影輸出
    發(fā)表于 02-19 07:40

    DLPC7540EVM是否支持自定義的圖像處理算法,以及如何進行算法的移植?

    是否支持自定義的圖像處理算法,以及如何進行算法的移植?
    發(fā)表于 02-17 08:25

    FPGA上的圖像處理算法集成與優(yōu)化

    、Tophat形態(tài)學濾波、RAW8轉(zhuǎn)RGB888、彩色圖像均值濾波、Alpha背景疊加、直方圖灰度拉伸算法以及自動白平衡算法。每種算法都提供了實現(xiàn)方法和相關(guān)公式,涵蓋了
    的頭像 發(fā)表于 02-14 13:46 ?656次閱讀
    FPGA上的<b class='flag-5'>圖像</b>處理<b class='flag-5'>算法</b>集成與優(yōu)化

    百問FB顯示開發(fā)圖像處理 - 圖像調(diào)整

    \"。 原理淺析 ?要理解這個圖像縮放算法的原理,最重要的是需要理解:對于圖像上的每個像素點,它縮放
    發(fā)表于 12-02 09:34

    EPS格式圖像的最佳使用場景

    EPS(Encapsulated PostScript)是一種廣泛使用的矢量圖形文件格式,最初由Adobe公司開發(fā)。它以其高兼容性、可縮放性和高質(zhì)量的圖像輸出而受到設(shè)計師和出版業(yè)的青睞。 1. 專業(yè)
    的頭像 發(fā)表于 11-19 10:33 ?1576次閱讀

    一種基于深度學習的二維拉曼光譜算法

    近日,天津大學精密儀器與光電子工程學院的光子芯片實驗室提出了一種基于深度學習的二維拉曼光譜算法,成果以“Rapid and accurate bacteria identification
    的頭像 發(fā)表于 11-07 09:08 ?737次閱讀
    <b class='flag-5'>一種</b>基于深度學習的二維拉曼光譜<b class='flag-5'>算法</b>

    使用功率縮放

    電子發(fā)燒友網(wǎng)站提供《使用功率縮放庫.pdf》資料免費下載
    發(fā)表于 10-18 10:24 ?0次下載
    使用功率<b class='flag-5'>縮放</b>庫

    tft屏幕屬于lcd屏幕的一種

    TFT屏幕確實屬于LCD(液晶顯示器)屏幕的一種。LCD屏幕是一種廣泛使用的顯示技術(shù),它通過液晶分子的排列變化來控制光線的通過,從而實現(xiàn)圖像的顯示。TFT(Thin Film Transistor
    的頭像 發(fā)表于 10-12 10:31 ?3016次閱讀

    一種分立電荷泵的設(shè)計

    電子發(fā)燒友網(wǎng)站提供《一種分立電荷泵的設(shè)計.pdf》資料免費下載
    發(fā)表于 10-11 10:53 ?1次下載
    <b class='flag-5'>一種</b>分立電荷泵的設(shè)計

    一種完全分布式的點線協(xié)同視覺慣性導航系統(tǒng)

    在本文中,我們提出了一種完全分布式的點線協(xié)同視覺慣性導航系統(tǒng)。我們通過蒙特卡羅模擬和真實環(huán)境數(shù)據(jù)集,在稠密特征或稀疏特征環(huán)境下將所提出的算法與其他四算法進行了比較。所有結(jié)果表明,我們
    的頭像 發(fā)表于 09-30 14:45 ?897次閱讀
    <b class='flag-5'>一種</b>完全分布式的點線協(xié)同視覺慣性導航系統(tǒng)

    晶振封裝秘籍:滾邊焊(SEAM)技術(shù)大揭秘!

    晶振滾邊焊(SEAM)是一種焊接技術(shù),主要用于晶體振蕩器的封裝過程中。它涉及到在氮氣環(huán)境中使用高溫將晶振的蓋板與基座焊接在起完成封裝。使得外殼邊緣熔化并形成牢固的焊縫。這樣的焊接方式可以提高封裝
    的頭像 發(fā)表于 07-22 09:29 ?1779次閱讀
    晶振封裝秘籍:滾邊焊(<b class='flag-5'>SEAM</b>)技術(shù)大揭秘!

    一種無透鏡成像的新方法

    透鏡成像形式,它使用掃描光束收集散射光進行圖像重建,面臨著周期性樣品的挑戰(zhàn)。為了研究微電子或光子元件中的納米級圖案,一種基于無透鏡成像的新方法可以實現(xiàn)近乎完美的高分辨率顯微鏡。這在波長短于紫外線時尤為重要,其成像空間分辨率高于
    的頭像 發(fā)表于 07-19 06:20 ?765次閱讀
    <b class='flag-5'>一種</b>無透鏡成像的新方法