新四季網

產品建模系統和方法

2023-10-09 02:00:49

專利名稱:產品建模系統和方法
技術領域:
本發明大體上涉及用於建模服飾件(piece of apparel)的系統和方法。
背景技術:
電子商務(E商務)是其中使用電子商務站點向多個消費者銷售各種不同產品和 服務的繁榮產業。電子商務站點可包括網站,該網站允許多個消費者使用網絡(諸如因特 網)獲得對該網站的訪問。該網站可具有多個網頁,其中這些網頁具有消費者可購買的多 個不同產品的圖像。包含在該多個網頁中的圖像是二維圖像。該網站也可包括安全商務部 分,其允許消費者選擇一個或多個項目(item)、把那些項目放置在電子購物車中並且當完 成購物時使用各種支付服務(諸如PayPal或信用卡)為保留在電子購物車中的項目結帳 和付款。這些典型電子商務系統的一個限制是在網站上可獲得的產品(諸如襯衫)可由人 體模型(human model)建模以示出該產品及其設計,但作為「平坦」圖像向消費者示出,因 為其是在由消費者使用的計算機的顯示器上向消費者示出的。因而,產品的實際設計以及 該產品在實際生活中看起來如何往往難以從那些圖像中確定。這可能導致消費者不購買不 期望的產品。這些典型電子商務系統的另一個限制是在網站上可獲得的產品(諸如襯衫)不能 由消費者用該產品上的設計來定製。因而,消費者不能看到用該設計定製的產品並且這也 可能導致消費者不購買不期望的產品。因而,期望的是提供一種提供產品的更好模型的系 統和方法並且本系統和方法正是針對於此的。


圖1是圖解產品建模系統的示例性實施方式的框圖;圖2圖解產品建模方法的示例性實施方式;
4
圖3圖解產品建模方法的示例性實施方式的進一步細節;圖4A和4B圖解產品建模方法中的用於標記產品的過程的進一步細節;圖5A和5B圖解產品建模方法中的用於生成產品圖像的過程的進一步細節;圖6A-6D圖解產品建模方法中的用於預處理該模型的過程的進一步細節;圖7A-7C圖解產品建模方法中的後處理過程的進一步細節;圖8A圖解要放置在服飾件上的設計的示例;圖8B圖解典型系統中具有設計的服飾件的典型圖像;圖8C-8D圖解產品建模系統中的服飾件上的設計;圖8E圖解用於把設計放置在模型上的過程;以及圖9A-9C圖解用於改變在產品建模系統中顯示具有設計的該服飾件所對照的背 景的過程。
具體實施例方式該系統和方法可特別應用於在計算機上以軟體實施的用於建模襯衫的系統和方 法並且正是在這樣的背景下圖解和描述該系統和方法。然而要明白,該系統和方法可以用 於各種產品,其中產品可包括其中期望提供產品的更好模型的其它產品和其它服飾。例如, 該系統可用於任何類型的服裝或服飾件、可以被人類或寵物穿戴或使用的任何物品(item) (諸如帽子、背包、狗毛衣等等)和/或任何其中期望能夠在模型上顯示產品的其它產品。 另外,該系統可與任何其中期望能夠顯示其上具有設計的產品(具有不規則表面)的產品 (諸如滑板、鞋)一起使用。另外,該系統可用來顯示具有不規則表面的任何物品(諸如牆 壁、汽車體、鉛筆等)上的設計。而且,該系統可用來識別視頻中的產品/物品,其中設計可 以被插入到視頻中的產品/物品中。另外,該系統和方法可以軟體(在圖解的實施方式中 示出)、硬體或硬體和軟體的組合來實施,並且也可被實施在獨立式計算設備(在圖解的實 施方式中示出)、web伺服器、終端、對等系統等上以便該系統和方法不限於該系統或方法 的特定實施方式。圖1是圖解產品建模系統100的示例性實施方式的框圖。在這種實施方式中,該 系統被實施在獨立式計算設備(諸如個人計算機)上並且產品建模系統被實施為包括多行 計算機代碼的一件或多件軟體,所述計算機代碼由計算設備中的處理單元執行以實施產品 建模系統。然而,產品建模系統也可以被實施在其它計算設備和計算系統上,諸如聯網計算 系統、客戶端/伺服器系統、對等系統、ASP模型類型系統、膝上型計算機、行動裝置、移動蜂 窩電話或任何其它具有足夠處理能力、存儲器和連接性以實施如下面所描述的產品建模系 統和方法的計算設備。該系統的示例性實施方式可包括顯示設備102,用以允許消費者查看具有由產 品建模系統生成的設計的產品;機箱(chassis) 104 ;以及一個或多個輸入/輸出設備105, 諸如鍵盤和滑鼠,其允許消費者與計算設備和產品建模系統對接。機箱104可容納處理單 元106 (諸如Intel處理器)、永久性存儲設備108 (諸如硬碟驅動器)、以及存儲器110,其 中存儲器可存儲正由處理單元執行的軟體模塊/應用。當產品建模系統正被實施在計算設 備上時,計算設備也可包括產品建模儲存器112,諸如軟體實施的資料庫,並且存儲器可存 儲作業系統114,該作業系統114控制計算設備和具有多行計算機代碼的產品建模模塊116的操作,其中該多行計算機代碼由處理單元執行以實施如下面所描述的產品建模系統和方法。為了圖解產品建模系統和方法的目的,下面描述用於具有設計的服飾件(諸如T 恤)的產品建模方法。然而,產品建模系統也可用於其它產品,諸如其它服飾和其中期望提 供產品的更好模型的其它產品。例如,該系統可用於任何類型的服裝或服飾件、可以被人類 或寵物穿戴或使用的任何物品(諸如帽子、背包、狗毛衣等等)和/或任何其中期望能夠在 模型上顯示產品的其它產品。另外,該系統可與任何其中期望能夠顯示其上具有設計的產 品(具有不規則表面)的產品(諸如滑板、鞋)一起使用。另外,該系統可用來顯示具有不 規則表面的任何物品(諸如牆壁、汽車體、鉛筆等)上的設計。而且,該系統可用來識別視 頻中的產品/物品,其中設計可以被插入到視頻中的產品/物品中。產品建模方法的輸出 (產品上示出設計的產品的圖像)可用於各種目的。例如,該輸出可用來在允許消費者看 到產品的網站上生成具有設計的多個產品顯示。下面描述的示例是其中產品建模系統與產 品銷售和營銷公司有聯繫的系統,其中產品銷售和營銷公司控制產品建模系統的圖像和模 型。在產品建模系統的另一種實施方式/實施例中,該系統可允許消費者提供其自己的圖 像/模型,諸如實際消費者的模型,以便消費者可以上傳圖像到服務並然後將選擇的設計 顯示在實際消費者的模型上,其中該服務提供1)模型部件(以創建模型形式);2)用於向 該服務上傳/修改模型圖像的工具;以及3)用於向消費者顯示具有設計的模型的工具。圖2圖解顯示模型的產品建模方法120的示例性實施方式,其中在該模型上具有 設計,其中該模型是穿有服飾件的人員的現實表示,該服飾件在該服飾件上具有設計。圖2 和3所示的方法(下面描述的過程)可由上面描述的產品建模模塊116執行。消費者可選 擇諸如圖8A所示的設計之類的設計(122),並且可以執行彎曲(warp)過程(124)以生成彎 曲設計(128)。消費者也可選擇模型的背景(126)諸如圖9A-9C所示的背景。一旦消費者 選擇了背景和設計,該設計就被彎曲並且然後執行表面著色(shading) (130)和表面鏡面 (specular)過程(132)。一旦完成了這些過程,模型被創建成具有該設計(134),其中具有 設計的模型被示出給消費者。在一個實施例中,具有設計的模型被顯示給消費者以輔助消 費者在消費者諸如通過電子商務網站購買具有設計的產品之前預覽具有設計的產品。現在 更詳細地描述產品建模方法。圖3圖解在與服飾件一起使用時的產品建模方法140的示例性實施方式的進一步 細節。產品建模方法(和下面闡述的過程)在一個實施例和實施方式中被實施為多行計 算機代碼,所述計算機代碼是產品建模模塊的一部分,其由作為產品建模系統的一部分的 處理單元106執行。在該方法中,服飾件被創建成具有多個標記(142),所述標記用來捕獲 當該服飾件由人體模型穿戴時關於該服飾件的信息。所述多個標記可為標記圖案,該標記 圖案在二維中編碼柔性基底,當柔性基底被放置在複雜的三維表面上時可檢測到該標記圖 案,其中標記圖案的覆蓋區域基本不遮蔽其編碼的基底。例如,所述多個標記可覆蓋該服飾 件的預定百分比(比如50% ),這允許系統捕獲當該服飾件由人體模型穿戴時關於該服飾 件的信息。在一種實施方式中,所述多個標記可形成網格。更詳細地,在平坦表面(當標記 被適當地定位在該服飾件上時在表面上平坦的該服飾件)上形成網格的標記可用來映射 到非平坦表面(在被穿到人體模型上時的該服飾件)上的標記網格。如圖4A所示,平坦表 面上的標記網格186被映射到其中相同標記在非平坦表面上的相同位置的網格187以便確定平坦表面上的網格和非平坦表面上的網格之間的映射。該系統可內插標記位置以生成從 所述多個標記到平坦表面上的網格的映射並且然後可存儲該映射以避免每次重新計算該 映射。在一個實施例中,標記可為形成網格的許多不可見線。在另一個實施例中,標記可為 多個光學標記190,光學標記190可附著到服飾件192,如圖4B所示,這允許給該服飾件加 上光學標籤以映射該服飾件在由人體模型穿戴時的表面。光學標記可由反射性材料、彩色 材料或衍射圖案製成。反射性材料可為逆向反光(retroreflective)材料。彩色材料可為 顏料(pigmented)材料。標記可具有各種形狀(包括圖4B所示的圓點形狀)和大小,並且 該方法不限於標記的任何特定形狀。在一個實施例中,所述多個標記可為膜材料,該膜材料 具有特定形狀的逆向反光材料。在又一個實施例中,標記可為形成網格的標記集,其中通過 電子方式或通過其它手段將這些標記放置到該服飾件上。在其中產品建模系統由銷售服飾 的商業實體使用的一個實施例中,每個服飾件被放置到不同形狀和/或尺寸的多個人體模 型上(如圖5A和5B所示)以便消費者然後可以選擇最接近該服飾件的預計穿戴者的該服 飾件的模型。在其中每個消費者可為服飾件創建其自己模型的另一個實施例中,向消費者 提供標記(電子地或作為物理標記)以便消費者可以把標記附著到服飾件並然後執行下面 描述的其它過程。在又一個實施例中,產品建模系統可允許多個用戶(諸如用戶團體)生 成多個模型,所述多個模型然後可被上傳到產品建模系統。一旦一件或多件服飾被製備有標記,每個服飾件在每個不同人體模型上的圖像可 諸如通過使用照相機來拍攝由人體模型穿戴的該服飾件的圖片而生成(150)。在拍攝人體 模型上的具有標記的該服飾件的圖像之前,確定用於拍攝該圖像的照明。當用戶/消費者 生成模型時,產品建模系統可提供指令以諸如使用閃光、使用特定曝光等等來拍攝該服飾 件的圖像。在產品建模系統的一種實施方式中,產品建模系統可把代碼段直接下載到用戶/ 消費者的照相機(諸如數位照相機)以正確地設置照相機從而拍攝產品或物品的圖像。特 別地,確定每個服飾件的表面模型和光照模型,這也允許準確地確定圖像的色彩和照明。一旦拍攝了處於多個不同姿態的多個人體模型上的該服飾件的圖像,處於特定姿 態的特定模型上的該服飾件的模型由產品建模系統預處理(160)。在預處理期間,產品建模 系統可檢測該服飾件圖像上的所述多個標記、從該服飾件的圖像中移除標記圖像並然後生 成當由人體模型穿戴時該服飾件的表面的表示。在一種實施方式中,可通過標記的區別特徵(光譜差別、反射差別、紋理差別和/ 或時間差別)來檢測標記,通過匹配圖案的幾何屬性(局部圖案尋找)來精細化並通過匹 配已知圖案(局部圖案被組裝成已知完整圖案)來重構所述標記。所重構的圖案然後可用 來建模柔性基底的形狀。產品建模系統可具有原始未標記基底的多個局部樣本以便可以使 用未標記基底的紋理作為產生適合於商業顯示的未標記圖像的示例來替換標記圖案。在圖6A-6C中示出預處理過程,其中圖6A圖解具有標記的該服飾件的圖像,圖6B 圖解在該服飾件上識別的所述多個標記,而圖6C圖解標記被移除的該服飾件的圖像。通過 引用方式併入本文的附錄A(2頁)包含用於在產品建模系統的一種實施方式中識別產品上 的標記的偽代碼的示例。在附錄A中闡述一種實施方式的標記識別過程的步驟。在一種實 施方式中,通過可視檢測來檢測標記。在系統的另一種實施方式中,可通過時間過程來檢測 標記,其中紅外輻射可用來在若干不同時間對標記成像並且然後基於在若干不同時間的標 記圖像來檢測標記的圖案。
在標記的識別期間,產品建模系統可使用各種技術。例如,邊緣檢測可用來識別每 個標記和這些標記之間的間距,所識別的每個標記和這些標記之間的間距然後可以用來生 成當該服飾件穿戴在人體模型上時在該服飾件的表面上的標記的網格,所述標記的網格因 而允許準確地確定處於特定姿態的特定人體模型上的該服飾件的表面。可選地,該系統可 基於色彩校準以白色為閾值(threshold at the white color)並且然後定位閾值之上的 元素並然後還識別背景,所述背景包括人體模型的元素,諸如珠寶、眼睛或人體模型後面的 背景。該系統也可使用直方圖來識別標記和背景。標記圖像(一旦被識別)可通過各種過程從該服飾件的圖像中被移除(如圖6C 所示)。例如,可通過針對每個標記位置識別鄰近標記的紋理並然後用鄰近區域中的紋理填 充標記的位置,來移除標記。可選地,該系統可使用圖像相干(image coherence)併合成圖 像以移除圖像中的標記。為生成該服飾件在由處於特定姿態的特定人體模型穿戴時的表面輪廓的表示,該 系統把如圖6D所示的標記190的相對於彼此的位置映射成輪廓曲線集194,所述輪廓曲線 集表示該服飾件在由處於特定姿態的特定人體模型穿戴時的表面。由於該系統具有關於標 記和它們在平坦表面上形成的如圖4A所示的網格的信息,該系統能夠確定該服飾件在由 處於特定姿態的特定人體模型穿戴時的表面的輪廓。—旦確定表面的輪廓並完成該預處理,可根據需要修飾(162)該服飾件在由處於 特定姿態的特定人體模型穿戴時的模型。然後,由產品模型系統對模型進行後處理(170)。 在後處理過程期間,產品模型系統使用作為產品模型系統的一部分的色彩映射模塊來色彩 化該模型。該色彩化允許處於特定姿態的特定人體模型上的每個服飾件的每個模型把該服 飾件轉換成任何色彩,諸如圖7A和7B所示的兩種不同色彩。如圖7C所示,該系統可對每 個工作階段(session)使用具有已知光譜響應的色彩校準卡來校準相同工作階段的圖像。 為改變該服飾件的色彩,織物可被纏繞到如7C所示的球上,其然後被映射到模型以改變模 型的色彩。通過引用方式併入本文的附錄B-E針對產品建模系統的特定實施方式說明了用 於如下的代碼1)使用歸一化有序色彩分布來重映射圖像的色彩;2)按歸一化直方圖順序 建立色彩圖,其中具有來自匹配色彩空間的索引;3)建立查找表以把色彩從源球重映射到 目的地球;以及4)將具有源球色彩圖的源圖像的色彩重映射到具有球色彩對象的色彩圖 的目的地圖像。使用這些附錄中闡述的代碼(和這些附錄中描述的過程步驟),色彩映射過 程1)通過使用球建立直方圖以及然後建立分類表,而為源圖像建立色彩圖(附錄C中的 BuildMap代碼);2)建立重映射表(附錄D中的BuildReMap表代碼);3)把圖像色彩(附 錄B和E中的代碼)重映射到產品上。該系統也可將色彩和紋理分層以便處於特定姿態的 特定人體模型上的特定服飾件的色彩化模型更準確地模仿不同織物和/或織物線,這例如 導致準確模仿在具有特定類型織物的該服飾件上的設計的印刷墨。一旦完成了色彩化,處於特定姿態的特定人體模型上的特定服飾件的模型被集成 到諸如網站的服務(180)中,該服務將具有特定設計的服飾件出售給消費者。當該模型被集成到服務中時,產品建模系統可對由消費者選擇的設計執行彎曲映 射(182)並且允許用戶選擇特定背景(184)。圖8A示出示例設計。圖8B示出具有平坦圖 像的典型系統中的服飾件上示出的示例性設計。使用產品建模系統,設計圖像和處於特定姿態的特定人體模型上的特定服飾件的模型的表面輪廓(例如見圖8D)之間的映射被完 成,使得以更現實的三維方式在圖8E所示的模型上示出該設計。在彎曲映射(其可為雙三次圖像彎曲)期間,設計200的網格被映射到表面輪廓 網格202,表面輪廓網格202然後被放置到該服飾件上以生成具有該設計的該服飾件的更 現實模型,如圖8D所示。在映射過程中,設計中的點被映射到表面輪廓網格,表面輪廓網格 進而被映射到該服飾件上。圖像背景可以由產品建模系統容易地調換,如圖9A-9C所示。儘管本文提供的示例是針對人類穿戴的服飾件(襯衫),但是產品建模系統 可用於具有各種不同模型(人體模型、動物模型、無生命模型諸如機器人或時裝模特兒 (mannequin))且具有任何數量的不同模型姿態的各種不同產品(其它服飾件、其它服裝、 帽子、鞋、寵物衣服、諸如杯子的無生命對象),因為上面的示例僅僅是說明性的。雖然前面已參考了本發明的特定實施例,但是本領域的技術人員要明白可在不偏 離本發明的原理和精神的情況下對這個實施例做出改變,本發明的範圍由所附權利要求書 限定。附錄 A用於定位標記的示例代碼* 程序氺 FindAndSynthMarkera** 描述* 找出照片中的標記圖案,* 把標記陣列保存到文件,* 使用多頻紋理合成來填充所找出的標記。* 找出背景α通道
氺氺氺氺/void ModelShotFindAndSynthMarkers(Image ^aSrc Image,Image ^aDstImage,){//找出標記//保存RGB圖像到目的地CopyRGBChannels (SrcImage, DstImage);H基於襯衫色彩選擇單色定標器ChooseMonochomeScalers (SKU—COLOR,aMonochromeScaler);Il以良好的對比度將源圖像轉換成單色ConvcrtSourceImageToMonoChrome (aMonochromcScaler, SrcImage,
aMonoImage);
9
//應用高斯差分帶通濾波器以提高標記對比度ApplyBandPassFilter (aMonoImage,LowMarkerSize, HighMarkerSize);H從滿亮度中找出第一直方圖最小值,這是標記閾值MarkerThreshold = FindHistogramMinima(aMonoImage, 1);//通過閾值化來產生標記圖像ApplyThreshold(aMonoImage, MarkerImage, MarkerThreshold);H通過填充每個找出的區域並且對像素位置進行平均來建立標記陣列。BuildMarkerArray(MarkerImage, aMarkerArray);SavcMarkerArray (aMarkerArray, aMarkerArrayFi 1 c)H將找出的標記保存為通道;CopyChannel (MarkerImage, Dstlmage, MarkerChannel);//找出背景Il從滿亮度中找出第二直方圖最小值,這是背景閾值BackgroundThrcabo 1 d = FindHistogramMinima (Dstlmage, 2);//通過閾值化來產生背景αApplyThreshold (Dstlmage, MarkerImage, MarkerThreshold);H將找出的背景α保存為通道;CopyChannel(Markerlmage, Dstlmage, backgroundCahnnel);Il填充標記//分離高頻圖像分量HighPassFilten (Dstlmage, HighPasImage, 2. 0)H分離低頻分量,下採樣以提高紋理合成速度。Downaamp 1 eImgage (Dstlmage,LowPassImage, 2. 0)H提高標記的大小以覆蓋來自圖像浮散(bloom)的色彩偽影。ExpandAlpha (Dstlmage, MarkerChannel,HighSynthSelecticn, BloomDist);H下採樣低頻分量的選擇。Downsamp 1 eImage (HighSynthSelection, LowSynthSeIection, 2. 0)//用來自局部11X11鄰域的紋理示例H 填充 LowPassImage 標記。LocalTextureSynthesis(LowPassImage, LowSynthSeIection,11,11);//用來自局部5X5鄰域的紋理示例//填充 HighPassImage 標記。LocalTextureSynthesis (HighPassImage, HighSynthSolection, 5, 5);}附錄B用於重映射圖像餼彩的示例代碼
10
* 程序* RemapImageColor** 描述* 使用類似的源和目的地色彩參考照片的歸一化有序色彩*分布來重映射圖像色彩。參考照片不需要被對準,僅具有按*比例照射的色彩區域。*
*
氺氺氺氺/void ModelShotRemapImgeColor (Image *aSrcImage,Image ^aSrcCoIorReference,Image ^aDstImage,Image ^aDstColorReference){//製成源色彩圖SphereCoIor^aSrcMap = SphereColor NewL (iSorvice);aSrcMap ^ BuildMap(aSrcColorReference,3,0x00007fff);//製成目的地色彩圖SphercColor^aDstMap = SphercColor ; ! NewL (iService);aDstMap ^ BuildMap(aDstColorRoference,3,0x00007fff);aDstMap — RemapImageCompoaite (aSrcImage, aSrcMap, aDstlmage);}附錄C用於建立圖的示例代碼* 程序* BuildMap** 描述* 以歸一化直方圖順序建立色彩圖,其中具有*從匹配色彩空間映射的索引。* 使用這些步驟
*1.找出使這個色彩樣本的解析度最大化的圖像的*單色標度。*2.根據這個單色值為用每個面元的平均色彩注釋*的圖像建立直方圖。*3.建立歸一化到在參考圖像中找出的每個亮度量的*色彩的圖。*4.建立從參考色彩空間變到歸一化圖空間的查找。*
氺氺氺氺/BOOL SphereColor::BuildMap(Image^aSpherelmage,INT32aMapChannel,INT32aMapThreshold){INT32anEntryCount = 1 SPHERE_C0L0R_SHIFT ;UINT16*aBuffcr = (UINT16*)aSphereImage-)image_ptr,INT32anImageSize = aSphereImage->width*aSphereImage_>height ;INT64anAccumColor[3];INT32aFoundPixelCount = O ;sphereHiStoAccum^aTempCoIorEntries ;ΙΝΤ32 ;BOOLaReult = FALSE ;iService_>AllocL (anEntryCount氺sizeof(sphereHistoAccum),' ce t,);aTempCo1orEntries = (sphereHistoAccum*)iService_>GetAlloc ;iService->PushAlIocL(aTempCoIorEntries);memset (aTempColorEntries,0,anEnryCount^siζenf (sphereHistoAccu m));anAccumColor
= O ;anAccumColor[l] = O ;anAccumColor[2] = O ;for (i = O ;iaMapThreaho1d){anAccumColor
+ = aBuffer
;anAccumColor[l]+ = aBuffer [1];anAccumColor[2]+ = aBuffer [2];aFoundPixclCount++ ;
}aBuffer+ = aSphereImage->channels ;}if(aFoundPixelCount>0){anAccumColor
= anAccumColor
/aFoundPixelCount ;anAccumColor[1] = anAccumColor[1]/aFoundPixelCount ;anAccumColor[2] = anAccumColor[2]/aFoundPixelCount ;CalcMonoScalers(anAccumColor);aBuffer = (UINT16*)aSphereImage_>image_ptr ;for (i = 0 ;iaMapThreaho1d){UINT32 aLuminance =((aBuffer
*(UINT32) iMonoScaler
) 16) +((aBuffer [1]*(UTNT32) iMonoScaler[l]) 16) +((aBuffer [2] *(UINT32) iMonoScaler[2]) 16);INT32aLumIndcx = aLuminamce (16-SPHERE_C0L0R_SHIFT);aTempColorEntries[aLumlndex]. shaCoIorCount++ ;aTempColorEntries[aLumlndex]. shaAverageColor
+ = aBuffer
;aTempColorEntries[aLumlndex]. shaAverageColor[1]+ = aBuffer[1];aTempColorEntries[aLumlndex]. shaAverageColor[2]+ = aBuffer[2];aTempColorEntries[aLumlndex]. shaLuminance = aLuminance ;}aBuffer+ = aSphereImage->channels ;}if(aFoundPixelCount>256){double anlncrcmcnt = (REAL)aFoundPixelCount/(REAL) anEntryCount ;
double aRunningCount = 0 ;UINT32j ;aResult = TRUE ;if (this->iHisto == NULL){iServic->AlIocL(anEntryCount^sizeof (spher eHistoEntry), ' hist');this-> = (sphereHistoEntry*) iService->GetAlloc;}memset(iHisto,0, anEntryCount氺sizeof(sphereHistoE ntry));for(i = 0 ;i<anEntryCount ; i++){INT32 aColorCount = aTempColorEntries [i]. shaColorCount ;if (aColorCount ! =0){aTempColorEntries[i]. shaAverageColor
/ =aColorCount ;aTempColorEntries[i]. shaAverageColor[1]/ =aColorCount ;aTempColorEntries[i]. shaAverageColor[2]/ =aColorCount ;}}for(i = 0 ;i(UINT32)anEntryCount-1)
aRunStart = (UINT32)anEntryCount-Ι ;if(aRunEnd>(UINT32)anEtryCountaRunEnd = (UINT32)anEntryCount ;aRunDiff = aRunEnd-aRunStart ;iHiST0[i]. shalndex = aRunStart ;iHisto[i], shaHistoFract = (UINT16)((aHisto Value-aRunStart)氺OxOOOOFFFF);if(iHisto[i]. shaHistoFract>0x00000ffff)iHisto[i]. shaHistoFract = OxOOOOffff ;if (aRunDiff){UINT32aRunScaler = OxOOlOOOO/aRunDiff ;for (j = aRunStart ; jiHisto[j]. shaLuminance = (i<iHisto[j]. shaLuminance+ =(aLumlncrcmcnt*aFract》16 ;INT32 aColorScaler = O ;if(aTempColorEntries[i]. shaLuminance>0){aColorScaler = (this—>iHisto[j]. shaLuminance 16)/aTempColorEntries[i]. shaLuminance ;}this->iHisto[j], shaColor
=(UINT16)((aTempColorEntries[i]. shaAverageColor
*aColorScaler 16);thia->iHisto[j], shaColor[l]=(UINT16)((aTempColorEntries[i]. shaAverageColor[1]*aColorSealer) 16 ;this->iHisto[j], aColor[2]= (UINT16)((aTempColorEntries[i] · shaAverageColor[2]
氺aColorScaler) 16)
aRunningCount = aNextCount ;
this->iHisto[anEntryCount-1]. shaColor
=
this->iHisto[anEntryCount-2]. shaColor
;this_>iHisto[anEntryCount-1] · shaColor[1]= this->iHisto[anEntryCount-2]. shaColor [1] ;this_>iHisto [anEntryCount-1] · shaColor [2]= this->iHisto[anEntryCount-

氺氺氺氺/
2],shaColor[2];
iService->PopAndDestroyAlloc(aTempCoIorEntries); return (aResult);
附錄D
用於津立重映射表的示例代碼
*程序
*BuildRemapTable

氺描述
*建立查找表以把色彩從源球重映射到目的地球。

*這個函數建立基於亮度的查找。 *對於每個亮度條目,完成這些事情
*1.查找從這個亮度到歸一化色彩參考空間中的索引。

*2.使用這個亮度的分數權重而在參考圖中的兩個條目
*之間內插。
*3.把內插值存儲在這個亮度的條目中。

void SphereColorBuiIdRemapTable(SphereColor氺aSourceSphere)
16CN 101933048 A INT32anEntryCount = 1 SPHERE_C0L0R_SHIFT ;UINT16*aDstColor ;INT32aLumShift = (16_SPHERE_C0L0R_SHIFT ;ΙΝΤ32 ;if (i Remap = = NULL){iService->AllocL(anEntryCount*aizeof(UINT16)*3, ' rma P');this->iRemap = (UINT16*)iService_>GetAlloc;}aDstColor = this_>iRemap ;for(i = 0 ;iiHisto[i]. shalndex ;//如果這不是最後條目...if ((i+1) iHisto[i+Ι]. shaHistoFract ;UINT32aHiatoBlendO = OxOOOOffff = aHistoBlendl ;INT32aHistolndexl = aSourceSphere->iHisto[i+1]. shalndex ;UINT16*aDstColorO = this_>iHisto[aHistoIndexO]. shaColor ;UINT16*aDatColorl = this_>iHisto[aHistoIndexl] · shaColor ;aDstColor
= (UINT16)(((aDstColorO
^aHistoBlend 0)>>*16+aHistoBlendl) 16));aDstColor[1] = (UINT16)(((aDstColorO[1]*aHistoBlend 0) 16+aHistoBlendl) 16));aDstColor[2] = (UINT16)(((aDatColorO[2]*aHistoBlend 0)>>*16) +aHistoBlendl) 16));}
17
else{//最後條目,不內插UINT16*aHistoColor = this_>iHisto[aHistoIndexO]. shaColor ;aDstColor
= aHistoColor
;aDstColor[l] = aHistoColor[1];aDstColor[2] = aHistoColor[2];}aDstColor+ = 3 ;}}附錄E用於重映射圖像組成的示例代碼* 程序* Remap ImagcCompo s i t c** 描述氺 把具有aSourceSphere色彩圖的aSourcelmage的色彩重映射*到具有這個SphereColor對象的色彩圖的aDestlmage。^aMapCharme 1是α通道的索引,其中以白色指示要重映射的區域。*重映射的色彩然後被混合到圖像中。** 這個函數完成以下*建立從源色彩空間變到目的地色彩空間的remapTable。** 使用源色彩空間的單色定標器,找出每個像素的亮度。** 使用該亮度在重映射表中查找新色彩值。* 將新色彩值組成目的地圖像。
氺氺氺氺/void SphereColorRemapImageConposite(Image^aSourceImage,
Sphereolor^aSourceSphere, Image^aDestImage,
INT32aMapChanncl){if (aSource ImageMaSourcereMaDeat Image){if (aSourceImage->iElemType == eleml6bit &&aDestImage->iElemType = = eleml6bit){if (aSourceImage->height = = aDcstImage->hcight &&aSourceImage->width = = aDestImage->width &&aSoourceImage->chennels>aMapChannel &&aDestImge->channels>3){if(iHisto &&aSoourceSphere->iHisto){INT32 aPixelCount = aSourceImage_>beight氺aSourceImage->width ;UINT16*aSrcBuffer = (UINT16*) aSourcelmage->image_ptr,UINT16*aDstBuffer = (UINT16*) aDestlmage->image_ptr ;UINT32*srcMonoScaler = aSoourceSphcre->iMonoScalcr ;INT32anEntryCount = 1 SPHERE_C0L0R_ SHIFT ;UINT16*aDstColor ;INT32aLumShift = (16_SPHERE_C0L0R_SHIFT);BuildRemapTable(aSourceSpheere);ΙΝΤ32 ;for(i = 0 ;i0x0000 00ff){
aSrcBuffer[aMapChanne] OxOOOOffff-
anAlphaBlendO ;
(UINT32) srcMonoscaler
) 16+
(UINT32) srcMonoScaler [1]) 16) +
(UINT32) srcMonoScaler [2]) 16);
標器
索引
aLuminance>>aLumShift ;中。
(aLumlndcx氺3)
//取得混合值以進行α著色 UINT32anAlphaBlendO =
UINT32anAlphaBlendl =
Il使用這個色彩空間的單色定
Il來計算亮度。 UINT32aLuminance*
((aSrcBiuffer
*
((aSrcBiuffer[l]* ((aSrcBiuffer[2]* Il將亮度值轉換成用於查找的 INT32aLumlndex =
//查找用於混合的替換色彩。 UINT16*aBlendColor = i Remap+
//把色彩α混合到目的地圖像 aDatBuffer
=
(UINT16) (((aBlendColor
^anAlphaBlendO) 16) + ((aDstBuffer
^anAlphaBlcndl) 16));
aDatBuffer[l]=
(UINT16) (((aBlendColor [1] ^anAlphaBlendO) 16+ ((aDatBuffer [1] ^anAlphaBlendl) 16));
aDatBuffer[2]=
(UINT16) (((aBlendColor [2] ^anAlphaBlendO) 16+ ((aDatBuffer [2] ^anAlphaBlendl) 16));
INT32aSum = aDstBuffer[3]; aSum+ = aSrcBuffer[aMapChannwl] if (aSum>0x0000ffff)
aSum = OxOOOOffff ; aDatBuffer[3] = aSum ;
20
aSoureeImage->channels ;
aDestImage->channels ;}}}}} }
aSrcBuffer+ = aDstBuffer+ =
權利要求
一種用於建模產品的裝置,包括多個標記,其能夠在所述產品上形成不遮蔽該產品的表面的標記圖案;成像設備,其能夠拍攝所述多個標記和該產品的圖像;以及計算設備,其基於所成像的產品捕獲當該產品在對象上時該產品的表面輪廓,將設計施加到該產品並且使用所捕獲的所述對象上的產品的表面輪廓來生成在所述對象上時產品上的設計的視覺表示。
2.權利要求1的裝置,其中該計算設備生成網頁,其在網頁上向消費者顯示具有設計 的產品的視覺表示。
3.權利要求2的裝置,其中對象還包括人體模型、時裝模特兒或動物。
4.權利要求1的裝置,其中每個標記還包括顏料片。
5.權利要求1的裝置,其中每個標記還包括反射性材料片。
6.權利要求5的裝置,其中該反射性材料片還包括逆向反光材料片。
7.權利要求1的裝置,其中每個標記還包括圓形標記。
8.權利要求1的裝置,其中所述多個標記還包括產品上的對人不可見的線的網格。
9.權利要求1的裝置,其中產品還包括服飾件、服裝、由人類穿戴的物品或者由動物穿 戴的物品。
10.權利要求1的裝置,其中計算設備把設計上的一個或多個點映射到對象上的產品 的表面輪廓上的一個或多個點。
11.權利要求1的裝置,其中計算設備在生成產品上的設計的視覺表示之前色彩化對 象上的產品的表面輪廓。
12.權利要求11的裝置,其中計算設備在生成產品上的設計的視覺表示之前紋理化對 象上的產品的表面輪廓。
13.權利要求1的裝置,其中成像設備還包括照相機。
14.權利要求1的裝置,其中計算設備還包括聯網計算系統、客戶端/伺服器系統、對等 系統、ASP模型類型系統、膝上型計算機、行動裝置或移動蜂窩電話。
15.權利要求1的裝置,其中標記圖案還包括產品上的標記的網格。
16.一種用於產品建模的方法,包括使用在產品上形成不遮蔽該產品的表面的標記圖案的多個標記,提供通過成像對象上 的該產品所生成的所述對象上的該產品的表面輪廓;把設計施加到該產品;以及使用所捕獲的該對象上的所述產品的表面輪廓,生成在所述對象上時該產品上的設計 的視覺表示。
17.權利要求16的方法,其中提供三維表面還包括在產品上放置多個標記以創建網 格、成像具有該網格的對象上的產品以生成成像的產品以及基於成像的產品來捕獲當產品 在對象上時產品的表面輪廓。
18.權利要求17的方法,還包括在網頁上向消費者顯示具有設計的產品的視覺表示。
19.權利要求17的方法,其中對象還包括人體模型、時裝模特兒或動物。
20.權利要求17的方法,其中把所述多個標記放置在產品上還包括把多個標記附著到 實體產品。
21.權利要求17的方法,其中把所述多個標記放置在產品上還包括把多個標記電子地 附著到實體產品的圖像。
22.權利要求17的方法,其中每個標記還包括顏料片。
23.權利要求17的方法,其中每個標記還包括反射性材料片。
24.權利要求23的方法,其中該反射性材料片還包括逆向反光材料片。
25.權利要求17的方法,其中每個標記還包括圓形標記。
26.權利要求17的方法,其中把多個標記放置在產品上還包括把對人不可見的線的網格放置在產品上。
27.權利要求16的方法,其中產品還包括服飾件、服裝、由人類穿戴的物品或者由動物 穿戴的物品。
28.權利要求16的方法,其中生成產品上的設計的視覺表示還包括把設計上的一個或 多個點映射到對象上的產品的表面輪廓上的一個或多個點。
29.權利要求28的方法,其中映射一個或多個點還包括使用彎曲映射。
30.權利要求28的方法,其中彎曲映射還包括使用雙三次圖像彎曲。
31.權利要求16的方法,其中生成產品上的設計的視覺表示還包括在生成產品上的設 計的視覺表示之前色彩化對象上的產品的表面輪廓。
32.權利要求31的方法,其中色彩化產品的表面輪廓還包括使用色彩校準卡。
33.權利要求31的方法,其中生成產品上的設計的視覺表示還包括在生成產品上的設 計的視覺表示之前紋理化對象上的產品的表面輪廓。
34.權利要求16的方法,其中標記圖案還包括產品上的標記的網格。
全文摘要
提供產品建模系統和方法。在一個實施例中,該產品建模系統被用來建模具有設計的服飾件諸如襯衫,其中具有該設計的模型被用來向消費者顯示具有該設計的該服飾件。
文檔編號G06T13/00GK101933048SQ200880122986
公開日2010年12月29日 申請日期2008年10月24日 優先權日2007年10月26日
發明者H·揚, M·戴, R·I·比弗二世 申請人:彩滋網站公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀