搜索 社区服务 统计排行 帮助
  • 5123阅读
  • 17回复

[心得]自動縫圖

楼层直达
级别: 侠客
注册时间:
2003-12-09
在线时间:
0小时
发帖:
330
最近抓到些掃圖,(看不見圖請掛proxy試試)
   
看起來是分開掃的樣子,想把它縫成一張,
可是用photoshop一張張弄實在有點慢,
就利用一些簡單的image retrieval技巧來寫個程式
步驟如下:
1.先對每個column做energy measure,存成長為圖寬的vector,
energy measure有很多方法,如average,standard deviation等,
我採用Norm-2,
sum(C_k^2) / N^2
也就是像素的平方summation起來再除以高度的平方

2.接下來做similarity measure
計算兩張圖的distance,
例如寬度定為5
取左邊的圖507到512為L
取右邊的圖1到5為R
以簡單的euclidean distance
sqrt((L_k - R_k) / var(L))
來計算L和R兩個vector的distance

3.從寬度0(兩張圖沒有相似的地方,直接合併)
到上限(預設為寬*0.1)的distance中選出最小的,
表示左右兩圖以這寬度縫合最合適

4.用簡單的linear interpolation來合併
(L_k * (N-k) + R_k * k) / N

5.完成(看不到圖再次見諒)


known issue:
有些歪得比較嚴重的圖就很難判斷出來,縫完後還是要人工檢查一遍,有錯的手動縫
要增加準確度就要用上更高階的statistics method和影像技術

程式很簡單,有需要的就自己寫吧
放上簡陋的java source code....>/////<
http://kevingwn.myweb.hinet.net/MergeLR.java
對範例圖(マジキュー Illustrations 2)感興趣到這抓
http://photo.xuite.net/kevingwn/208953

歡迎challenge!
级别: 精灵王
注册时间:
2003-10-03
在线时间:
0小时
发帖:
2601
只看该作者 17楼 发表于: 2005-07-31
恩恩,示范图很好看,嘿嘿嘿

级别: 超级版主
注册时间:
2004-02-17
在线时间:
592小时
发帖:
13658
只看该作者 16楼 发表于: 2005-07-26
引用
最初由 kevingwn 发布
因為PNG是無失真壓縮,把圖縫完後可以再進一步處理,
要jpg的話再用acdsee轉吧

不不,我不是这个意思,我是说,为什么不能直接合成jpg的(我合了却显示为一把叉)。难道说,最后合成什么格式的图,是你在那个class文档中定义了的么?

引用
最初由 kevingwn 发布
影像檢索要用什麼程式語言來實作都沒關係,
我對java熟所以才用它來寫,看得懂的一定可以用其他語言來寫,搞不好會更好開發
其實java不適合開發win32的app,還是mfc,delphi比較好(畢竟可以直接編為執行檔)
java編譯出來還是一個.class的檔案,還需透過執行環境才可以運作,
不過也就是這樣才能跨平台...有一好沒兩好
那個.class只是Bytecode檔,是可以反組譯回原始碼啦...只是我直接放出來了還需要那麼麻煩嗎:P
另外,請有空的大大測試一下效率,看看在什麼情況還會有誤判,thx~

呵呵,叫我测试那就不敢了,偶对这些一窍不通,一来是文科,二来自己也根本没去学过程序语言这方面的东西。偶只会一点basic,寒……

不过,这次也算是增长见识乐~~ ^^

※ 通往蘿莉国的秘境 ※

...........
级别: 侠客
注册时间:
2003-12-09
在线时间:
0小时
发帖:
330
只看该作者 15楼 发表于: 2005-07-25
最喜歡這種一口氣把問題問完的...XD
因為PNG是無失真壓縮,把圖縫完後可以再進一步處理,
要jpg的話再用acdsee轉吧

影像檢索要用什麼程式語言來實作都沒關係,
我對java熟所以才用它來寫,看得懂的一定可以用其他語言來寫,搞不好會更好開發

其實java不適合開發win32的app,還是mfc,delphi比較好(畢竟可以直接編為執行檔)
java編譯出來還是一個.class的檔案,還需透過執行環境才可以運作,
不過也就是這樣才能跨平台...有一好沒兩好

那個.class只是Bytecode檔,是可以反組譯回原始碼啦...只是我直接放出來了還需要那麼麻煩嗎:P

另外,請有空的大大測試一下效率,看看在什麼情況還會有誤判,thx~
级别: 超级版主
注册时间:
2004-02-17
在线时间:
592小时
发帖:
13658
只看该作者 14楼 发表于: 2005-07-25
 
啊啊,还真的成功了~~
为什么最后要是png呢,我开始用jpg,结果合出来的文件虽然有大小,但是却看不到,拖到浏览器里那图只是一把叉。。

还有,“image retrieval”这个东东到底是什么,这从头到尾好像只是和java有关么,是不是就是说,java可以实现影像检索?

如果不会弄那个java,那偶也还是做不到,换了其他图的话…… >_<

ps:扩展名为class的那个文件,要用什么打开才能正确显示啊?

※ 通往蘿莉国的秘境 ※

...........
级别: 侠客
注册时间:
2003-12-09
在线时间:
0小时
发帖:
330
只看该作者 13楼 发表于: 2005-07-25
sorry,路徑打錯了:P

已訂正
级别: 超级版主
注册时间:
2004-02-17
在线时间:
592小时
发帖:
13658
只看该作者 12楼 发表于: 2005-07-25
下了半天总算把java的那个安装包给下下来了,但是,那个编译的文档,MergelR.class的下载路径,kevingwn君是不是给错了啊,那个地址是错误的,找不到文档。。

※ 通往蘿莉国的秘境 ※

...........
级别: 侠客
注册时间:
2003-12-09
在线时间:
0小时
发帖:
330
只看该作者 11楼 发表于: 2005-07-25
有賞嗎XD
java就是這點麻煩,請先到
http://java.sun.com/j2se/1.5.0/download.jsp
選Download JRE 5.0 Update 4下載java的執行環境,
我放一份Windows Online Installation在
http://kevingwn.myweb.hinet.net/jre-1_5_0_04-windows-i586-p-iftw.exe
懶得從原網站抓的,可以直接下上面連結的線上安裝檔

另外,也把編譯後的檔放到
http://kevingwn.myweb.hinet.net/MergeLR.class
然後照前面講的執行,記得java MergeLR ...就好,不要加.class喔
级别: 超级版主
注册时间:
2004-02-17
在线时间:
592小时
发帖:
13658
只看该作者 10楼 发表于: 2005-07-25
楼上乱说的。。

※ 通往蘿莉国的秘境 ※

...........
级别: 超级版主
注册时间:
2004-07-28
在线时间:
5276小时
发帖:
20582
只看该作者 9楼 发表于: 2005-07-25
楼主san~~让银看不懂的教程索灭有奖金的ヽ(  ̄ー ̄)ノ

2014俺の嫁全員妊娠ENDもはや確定!(* ̄ー ̄)y━・゜゜゜



芹酱、爱酱、織姫&乙姫~~俺的小天使们啊\(///∇//)/


舰娘动画第7集麻吉神回了啊 啊啊(T▽T) 话说放置了一年多回来一看完全变课金游了啊诶………
级别: 超级版主
注册时间:
2004-02-17
在线时间:
592小时
发帖:
13658
只看该作者 8楼 发表于: 2005-07-25
我把07,08两张图放到e盘根目录,然后把你的那个MergeLR.java也放到e盘根目录,打开命令列模式,输入如下,但是…… -__-

这个,是不是漏了什么步骤。。>_<

※ 通往蘿莉国的秘境 ※

...........
级别: 风云使者
注册时间:
2003-08-30
在线时间:
1小时
发帖:
4463
只看该作者 7楼 发表于: 2005-07-25
能够批量自然不错,但是对于我这种BC级的人。。。还是看不懂,这与楼主无关系^^b
级别: 侠客
注册时间:
2003-12-09
在线时间:
0小时
发帖:
330
只看该作者 6楼 发表于: 2005-07-25
是的,靠那個java的程式碼即可...
編譯完後,命令列模式下執行

java MergeLR left_input right_input output

left_input:左半邊的圖,可以是jpg,png,tiff
right_input:右半邊的圖
output:輸出的檔名,輸出的圖檔格式是PNG

要批次處理的話寫一個bat檔就好
不過這段程式碼只是示範用,沒有什麼偵錯或訊息...很簡陋就是
级别: 风云使者
注册时间:
2004-02-23
在线时间:
0小时
发帖:
4210
只看该作者 5楼 发表于: 2005-07-25
呃,还是用ps吧-v-

CJ ~~~~




有的人说我们过激、说我们意气用事,为什么不肯留下,哪怕是注册一个MJ......实际上,某斑竹放话,我们注册MJ来,他/她也能查的出来并将我们赶走。实际上,他/她过虑乐。我们走是走的堂堂正正,要来也会来的光明正大,群众的眼睛是雪亮的,这点早已得到了印证!
级别: 超级版主
注册时间:
2004-02-17
在线时间:
592小时
发帖:
13658
只看该作者 4楼 发表于: 2005-07-25
这个倒是可以理解,不过,这东西是靠什么实现的,这点不懂。
是什么软件…… 还是说,只靠那段java代码就可以了?

※ 通往蘿莉国的秘境 ※

...........
快速回复

限150 字节
上一个 下一个