- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
通过图像识别和分割,我已经获得了田野上植物的抽象表示(即我确切地知道图像中所有植物的所有坐标)。
现在我想检测这个抽象表示中的裁剪行 - 但不太清楚如何做。我的问题是:
您能否至少帮助我制定一种策略(或代码片段)来进行此类裁剪行检测?理想情况下,对于每个裁剪行,我最终都会有一个线性方程 (y=m*x+t) 的参数,以便可以使用 abline()
,但我对任何事情都持开放态度。最后它可能看起来像这样(这里纯粹是为了手工完成的说明目的):
图像的基础数据在这里:
structure(c(5278.072, 2632.564, 393.34, 4057.704, 3805.599, 611.269,
1823.835, 3359.069, 3598.284, 5262.873, 2069.963, 1579.745, 4539.584,
3579.977, 4296.46, 1831.153, 2333.835, 1126.639, 152.948, 4030.205,
3368.738, 2066.733, 855.111, 2579.665, 3092.37, 1318.357, 1109.438,
3578.606, 375.756, 3796.788, 4520.064, 1807.36, 5001.773, 87.272,
4033.594, 836.708, 639.13, 3105.628, 1569.256, 2831.851, 826.444,
3557.598, 1078.643, 576.266, 4789.585, 3091.929, 5239.658, 1099.954,
1807.972, 2534.677, 4271.841, 5019.276, 2053.246, 1536.071, 3347.644,
4019.766, 3793.392, 5257.628, 604.323, 2561.307, 1792.665, 884.25,
109.456, 3066.108, 3750.833, 4511.819, 2815.08, 119.468, 4499.801,
2582.512, 2822.354, 3773.842, 1054.719, 4251.171, 4002.476, 2018.277,
1775.284, 4959.269, 2541.009, 4742.312, 2265.149, 3071.313, 1779.218,
3972.64, 2822.409, 5217.848, 1265.449, 1522.899, 3057.732, 5364.729,
346.341, 4226.012, 3287.299, 1767.18, 3991.963, 1811.498, 2785.251,
4488.214, 822.509, 2016.435, 3022.344, 2528.079, 4470.315, 3017.716,
572.771, 97.748, 5168.119, 4199.643, 2006.285, 3946.505, 2771.626,
3495.94, 1745.531, 3734.241, 3265.819, 4963.116, 1058.788, 300.408,
1252.845, 4453, 5411.107, 2768.93, 557.806, 2004.424, 2218.582,
4214.073, 4698.292, 5149.238, 4953.886, 1238.343, 3502.518, 2753.044,
5417.502, 1031.945, 2518.901, 1483.487, 4450.737, 2258.484, 289.261,
2987.945, 5156.371, 4171.407, 1995.901, 781.96, 3918.94, 1974.667,
316.758, 1470.993, 5160.868, 3237.828, 521.251, 787.228, 1039.416,
1202.261, 3456.837, 4148.167, 2200.492, 2720.912, 4915.451, 3902.744,
4435.419, 1209.418, 1471.057, 4641.269, 3913.51, 5412.672, 1953.878,
2220.277, 4911.249, 1006.368, 2974.173, 4410.827, 1688.391, 293.729,
1462.871, 4618.785, 5150.904, 2689.061, 1952.56, 5389.383, 2176.387,
995.073, 4125.245, 498.978, 5137.266, 5358.118, 1444.34, 1674.431,
2689.288, 2465.351, 4566.352, 765.125, 1196.984, 1687.859, 258.247,
1914.911, 4575.408, 3421.147, 495.879, 979.079, 1922.943, 4097.704,
737.439, 3410.562, 234.74, 2159.697, 471.983, 1418.991, 2440.575,
1942.708, 1162.525, 5312.409, 2162.656, 5059.814, 1411.412, 4558.905,
247.618, 4319.106, 3411.827, 1786.69, 1670.462, 1180.524, 1640.636,
4715.993, 3576.548, 3566.57, 3589.872, 3565.564, 3531.571, 3415.178,
3511.07, 3510.051, 3487.762, 3470.791, 3443.062, 3369.329, 3386.999,
3387.786, 3277.473, 3376.266, 3421.932, 3387.869, 3367.994, 3346.403,
3259.785, 3296.081, 3297.633, 3285.163, 3300.119, 2941.504, 3264.344,
3277.9, 3235.499, 3198.869, 3235.508, 3156.907, 3221.313, 3123.96,
3165.979, 3186.806, 3148.158, 3129.906, 3035.963, 2987.899, 3053.684,
3050.107, 3052.643, 3037.767, 3037.525, 2994.456, 3006.454, 2960.606,
2973.443, 2919.843, 2917.246, 2939.87, 2914.804, 2886.588, 2920.769,
2906.616, 2908.866, 2868.052, 2885.769, 2860.088, 2801.168, 2853.439,
2853.863, 2847.141, 2805.677, 2806.183, 2718.094, 2661.652, 2695.19,
2656.518, 2612.372, 2603.286, 2602.449, 2591.63, 2595.714, 2593.287,
2575.333, 2572.15, 2476.559, 2435.917, 2538.626, 2514.215, 2458.875,
2477.5, 2385.366, 2421.47, 2220.899, 2397.842, 2396.848, 2393.501,
2352.039, 2292.429, 2315.84, 2328.682, 2256.508, 2236.925, 2192.809,
2241.279, 2144.107, 2195.016, 2185.86, 2112.28, 2098.085, 2020.843,
1971.232, 1979.691, 1968.859, 1943.755, 1974.743, 1891.801, 1944.186,
1951.423, 1872.022, 1928.441, 1880.504, 1912.82, 1893.822, 1878.889,
1850.38, 1834.762, 1851.886, 1806.117, 1776.713, 1682.26, 1733.805,
1714.941, 1700.778, 1686.258, 1703.367, 1549.601, 1682.525, 1563.277,
1632.103, 1609.4, 1621.888, 1587.126, 1545.346, 1537.933, 1542.424,
1366.974, 1494.822, 1498.618, 1494.055, 1450.098, 1407.89, 1345.613,
1388.68, 1380.527, 1368.772, 1372.391, 1161.35, 1297.577, 1312.849,
1304.972, 1286.721, 1292.485, 1257.53, 1241.146, 1263.164, 1217.146,
1226.615, 993.046, 1166.837, 1112.254, 1072.249, 1117.723, 1061.758,
1098.207, 1084.597, 1059.916, 1059.685, 1063.814, 1054.735, 944.2,
982.653, 963.989, 969.55, 941.066, 907.014, 930.988, 776.849,
877.918, 889.259, 805.872, 831.361, 803.752, 786.654, 791.649,
814.271, 794.444, 776.833, 694.969, 664.718, 653.238, 661.703,
652.696, 655.997, 637.118, 539.101, 555.694, 491.482, 459.712,
453.73, 490.567, 391.441, 409.506, 319.697, 391.505, 390.46,
308.658, 310.59, 285.799, 268.86, 245.89, 195.933, 243.418, 214.203,
172.129, 173.754, 191.456, 194.795, 98.098, 99.4479999999999,
62.1419999999998), .Dim = c(224L, 2L))
最佳答案
下面是一些可能有帮助的东西:
对于每个检测到的植物点,找到最近的相邻植物。希望这能更频繁地在同一裁剪行中找到植物。如果先验地知道图像大致在北/南方向,我们应该更喜欢在垂直方向上看更多来选择邻近的植物。一种方法是将最近邻搜索的“距离”重新定义为各向异性的东西,例如
distance = 10 * (x0 - x1)² + (y0 - y1)²
下面是它产生的图,在每株植物和它最近的邻居之间画了一条线段:
它并不完美,但可能是一个有用的开始。大多数裁剪行都很幸运,4 株或更多株植物被正确地链接在一起。
从这里开始思考可能的策略:
识别连接的组件,即植物的“链条”。
对于每条链,通过最小二乘法回归最佳拟合线。或者更好的是,使用 RANSAC algorithm这样拟合就可以稳健地忽略共线链中的单个杂散植物。
再次使用粗略的北/南方向,只有当它足够接近垂直时才认为最佳拟合线“有效”。假设它是有效的,找到所有接近最佳拟合线的植物。如果附近有许多植物,那么最适合的线可能是裁剪行。
关于r - 已知植物位置的裁剪行检测 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64458581/
猫f1.txt阿曼维沙尔阿杰贾伊维杰拉胡尔曼尼什肖比特批评塔夫林现在输出应该符合上面给定的条件 最佳答案 您可以在文件读取循环中设置一个计数器并打印它, 计数=0 读取行时做 让我们数一数++ if
我正在尝试查找文件 1 和文件 2 中的共同行。如果公共(public)行存在,我想写入文件 2 中的行,否则打印文件 1 中的非公共(public)行。fin1 和 fin2 是这里的文件句柄。它读
我有这个 SQL 脚本: CREATE TABLE `table_1` ( `IDTable_1` int(11) NOT NULL, PRIMARY KEY (`IDTable_1`) );
我有 512 行要插入到数据库中。我想知道提交多个插入内容是否比提交一个大插入内容有任何优势。例如 1x 512 行插入 -- INSERT INTO mydb.mytable (id, phonen
如何从用户中选择user_id,SUB(row, row - 1),其中user_id=@userid我的表用户,id 为 1、3、4、10、11、23...(不是++) --id---------u
我曾尝试四处寻找解决此问题的最佳方法,但我找不到此类问题的任何先前示例。 我正在构建一个基于超本地化的互联网购物中心,该区域分为大约 3000 个区域。每个区域包含大约 300 个项目。它们是相似的项
preg_match('|phpVersion = (.*)\n|',$wampConfFileContents,$result); $phpVersion = str_replace('"','',
我正在尝试创建一个正则表达式,使用“搜索并替换全部”删除 200 个 txt 文件的第一行和最后 10 行 我尝试 (\s*^(\h*\S.*)){10} 删除包含的前 10 行空白,但效果不佳。 最
下面的代码从数据库中获取我需要的信息,但没有打印出所有信息。首先,我知道它从表中获取了所有正确的信息,因为我已经在 sql Developer 中尝试过查询。 public static void m
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我试图在两个表中插入记录,但出现异常。您能帮我解决这个问题吗? 首先我尝试了下面的代码。 await _testRepository.InsertAsync(test); await _xyzRepo
这个基本的 bootstrap CSS 显示 1 行 4 列: Text Text Text
如果我想从表中检索前 10 行,我将使用以下代码: SELECT * FROM Persons LIMIT 10 我想知道的是如何检索前 10 个结果之后的 10 个结果。 如果我在下面执行这段代码,
今天我开始使用 JexcelApi 并遇到了这个:当您尝试从特定位置获取元素时,不是像您通常期望的那样使用sheet.getCell(row,col),而是使用sheet.getCell(col,ro
我正在尝试在我的网站上开发一个用户个人资料系统,其中包含用户之前发布的 3 个帖子。我可以让它选择前 3 条记录,但它只会显示其中一条。我是不是因为凌晨 2 点就想编码而变得愚蠢? query($q)
我在互联网上寻找答案,但找不到任何答案。 (我可能问错了?)我有一个看起来像这样的表: 我一直在使用查询: SELECT title, date, SUM(money) FROM payments W
我有以下查询,我想从数据库中获取 100 个项目,但 host_id 多次出现在 urls 表中,我想每个 host_id 从该表中最多获取 10 个唯一行。 select * from urls j
我的数据库表中有超过 500 行具有特定日期。 查询特定日期的行。 select * from msgtable where cdate='18/07/2012' 这将返回 500 行。 如何逐行查询
我想使用 sed 从某一行开始打印 n 行、跳过 n 行、打印 n 行等,直到文本文件结束。例如在第 4 行声明,打印 5-9,跳过 10-14,打印 15-19 等 来自文件 1 2 3 4 5 6
我目前正在执行验证过程来检查用户的旧密码,但问题是我无法理解为什么我的查询返回零行,而预期它有 1 行。另一件事是,即使我不将密码文本转换为 md5,哈希密码仍然得到正确的答案,但我不知道为什么会发生
我是一名优秀的程序员,十分优秀!