Hi Changchang Wu,
Firstly, thank you for posting the excellent software!
I am working on a localization system which is based on VisualSFM. Every time there is a new localization request with a picture, I will store the picture path as 'source.nvm.txt' and then run the command line 'VisualSFM sfm+resume source.nvm target.nvm' . After that I can get the location of the new picture in target.nvm.
The problem I met is that every time I get a request I need to re-run the command line to load the matching records, which is time consuming when the model is large. Following is part of the log when I was testing a model with 2 030 pictures (size 2048x1152). It took 30 seconds to load the matching records.
I wonder if there is any way to pre-load these records and run the sift extraction, matching parts directly when new requests coming either in command line mode or in socket command mode?
**************************************
Loading matching records ...<141, 10K> <200, 20K> <245, 30K> <283, 40K> <317, 50K> <348, 60K> <376, 70K> <402, 81K> <427, 91K> <450, 101K> <472, 111K> <493, 121K> <513, 131K> <533, 142K> <552, 152K> <570, 162K> <588, 173K> <605, 183K> <622, 193K> <638, 203K> <654, 214K> <670, 224K> <685, 234K> <700, 245K> <715, 255K> <729, 266K> <743, 276K> <757, 286K> <771, 297K> <784, 307K> <797, 318K> <810, 328K> <823, 339K> <836, 349K> <848, 359K> <860, 370K> <872, 380K> <884, 391K> <896, 401K> <908, 412K> <919, 422K> <930, 432K> <941, 443K> <952, 453K> <963, 464K> <974, 474K> <985, 485K> <996, 496K> <1006, 506K> <1016, 516K> <1026, 526K> <1036, 537K> <1046, 547K> <1056, 558K> <1066, 568K> <1076, 579K> <1086, 590K> <1096, 601K> <1106, 612K> <1116, 623K> <1125, 633K> <1134, 643K> <1143, 653K> <1152, 664K> <1161, 674K> <1170, 685K> <1179, 695K> <1188, 706K> <1197, 717K> <1206, 727K> <1215, 738K> <1224, 749K> <1233, 760K> <1242, 771K> <1251, 783K> <1259, 793K> <1267, 803K> <1275, 813K> <1283, 823K> <1291, 833K> <1299, 844K> <1307, 854K> <1315, 865K> <1323, 875K> <1331, 886K> <1339, 897K> <1347, 907K> <1355, 918K> <1363, 929K> <1371, 940K> <1379, 951K> <1387, 962K> <1395, 973K> <1403, 984K> <1411, 996K> <1419, 1007K> <1427, 1018K> <1434, 1028K> <1441, 1038K> <1448, 1049K> <1455, 1059K> <1462, 1069K> <1469, 1079K> <1476, 1090K> <1483, 1100K> <1490, 1110K> <1497, 1121K> <1504, 1131K> <1511, 1142K> <1518, 1152K> <1525, 1163K> <1532, 1174K> <1539, 1185K> <1546, 1195K> <1553, 1206K> <1560, 1217K> <1567, 1228K> <1574, 1239K> <1581, 1250K> <1588, 1261K> <1595, 1272K> <1602, 1284K> <1609, 1295K> <1616, 1306K> <1623, 1317K> <1630, 1329K> <1637, 1340K> <1644, 1352K> <1651, 1363K> <1658, 1375K> <1665, 1386K> <1671, 1396K> <1677, 1407K> <1683, 1417K> <1689, 1427K> <1695, 1437K> <1701, 1447K> <1707, 1457K> <1713, 1468K> <1719, 1478K> <1725, 1488K> <1731, 1499K> <1737, 1509K> <1743, 1519K> <1749, 1530K> <1755, 1540K> <1761, 1551K> <1767, 1562K> <1773, 1572K> <1779, 1583K> <1785, 1594K> <1791, 1604K> <1797, 1615K> <1803, 1626K> <1809, 1637K> <1815, 1648K> <1821, 1658K> <1827, 1669K> <1833, 1680K> <1839, 1691K> <1845, 1702K> <1851, 1714K> <1857, 1725K> <1863, 1736K> <1869, 1747K> <1875, 1758K> <1881, 1770K> <1887, 1781K> <1893, 1792K> <1899, 1804K> <1905, 1815K> <1911, 1826K> <1917, 1838K> <1923, 1849K> <1929, 1861K> <1935, 1873K> <1941, 1884K> <1947, 1896K> <1953, 1908K> <1959, 1919K> <1965, 1931K> <1971, 1943K> <1977, 1955K> <1983, 1967K> <1989, 1979K> <1995, 1990K> <2001, 2002K> <2006, 2012K> <2011, 2023K> <2016, 2033K> <2021, 2043K> <2026, 2053K> done in 30s
759MB used to store 2059341 matching records;
200 gps coordinates are found
You have to use the socket command interface. Basically you should be able to simulate most GUI interactions, for example, add an image, resume the reconstruction, save file, remove image..
> --
> You received this message because you are subscribed to the Google Groups "VisualSFM" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to vsfm+uns...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
The socket interface only supports a single argument. You can create a txt file to contain all the images you want to open, and use "Load/Add N-View Match" instead.
You need to send the command with an ID that corresponds to the menu..For the dark background switch you need to send "33451"...
Look for #menu_(id) for each menu item.